For the fourth year in a row, New Jersey Family has put out its list of New Jersey's top 500 best towns for families.

Editor Dina El Nabli said it took six months to compile the 2019 list, looking at several factors such as schools, safety, affordability, diversity and things that make life enjoyable and easier for families.

For schools, El Nabli said, NJ Family not only looked at public school performance, but at visual and performing arts availability. It's not just about test scores. It's about the complete offerings of the schools. For safety, the publication looked at violent and non-violent crime data. For affordability, El Nabli said, NJ Family looked at home prices to see how affordable it is to live in a certain town.

Montgomery Township in Somerset County tops this year's list of more than 500 towns. El Nabli said it has consistently ranked high every year this list has been done. It earned super-high scores for schools, safety and affordability.

"When you think of the Garden State, you think of a place like Montgomery. It's got spectacular outdoor spaces. A third of it is preserved open space or farmland. It's got historic landmarks. It's just a bucolic, pristine, beautiful place on top of all the other great things about it,"  El Nabli.

She said a lot of Hunterdon County towns that were not in the top 10, are in the top 10 this year. El Nabli said what's different this year is that New Jersey Family compiled the top towns for each county. So for example, in Bergen County, Glen Rock, with its small-town feel was tops. It was also the No. 2 town in the state.

In Passaic County, there is a new winner, which is Ringwood. Marlboro was the top town in Monmouth County. In Ocean County, Point Pleasant took the top spot.

El Nabli said every year that NJ Family has done this list, Point has ranked very well.

But there are towns that El Nabli loves like Asbury Park, which typically ranks near the bottom because of safety and school performance.

More from New Jersey 101.5: