Log in links for this page

MassGIS Data: Municipalities

May 2024

This layer is the most accurate representation of Massachusetts' municipal (city and town) boundaries; this representation is based on the legislatively approved record of municipal boundaries. Authoritative determination of municipal boundary locations can only be provided by a licensed land surveyor. MassGIS regularly makes corrections or refinements to this data layer as information becomes available; the list of those changes is at the bottom of this web page.

Table of Contents



This political boundary datalayer has been created from latitude and longitude coordinates found in the 68-volume Harbor and Lands Commission Town Boundary Atlas. This Atlas series, and updates since it was published, describes the legal boundary for each of the 351 municipalities in Massachusetts. These coordinates were recorded from surveys of the location of each boundary marker around the periphery of each community. Each survey was tied into higher order monumented survey control points. The Atlases also include detailed descriptions of each community's boundary and location maps for each of the original boundary marker locations. The original surveys were conducted in the 1890s. The Atlas series was published in the early 1900s and has since been updated by the Survey Section of the Massachusetts Highway Department (now The Massachusetts Department of Transportation (MassDOT) - Highway Division) with changes as they are approved by the legislature.

This layer comprises four separate feature classes:

  • TOWNSSURVEY_POLY - Polygons with separate records for mainland and island or other physically separate areas
  • TOWNSSURVEY_POLYM - Multipart polygons, with one feature for each of the state's 351 municipalities. Islands and other physically separate areas are stored as part of the same record as the mainland section of the city or town.
  • TOWNSSURVEY_ARC - Lines representing municipal boundaries and coastline
  • TOWNSSURVEY_PT - Points representing the locations of surveyed coordinates

When stored in geodatabase format, these four feature classes are organized in a feature dataset named TOWNSSURVEY, which includes the TOWNSSURVEY_Topology; rules have been created to enforce spatial relationships among the POLY, ARC and PT layers.

Two other feature classes are available that use the inland survey-based linework but have a generalized coastline for faster display and geoprocessing. They are:


MassGIS staff collaborated closely with staff from the Survey Section during the development of this data layer. MassGIS staff keyed the coordinates into a database; that data entry was double-checked by staff from the Survey Section. Staff from the Survey Section then converted the latitude/longitude coordinates to the NAD83 datum and also created a version of the coordinates in state plane coordinates with units of meters. MassGIS used the state plane coordinates to "generate" points in ArcGIS.  Boundary arcs from the existing USGS-derived municipal boundary data layer were then snapped to the survey-derived points. The differences between the municipal boundary arcs digitized from those on the USGS quads and those created by snapping to the survey-derived coordinates are typically plus or minus 12 feet, although these differences are sometimes less and sometimes more. Some municipal boundary arcs (about 15% of the total) follow the edge of a road or rail right-of-way or a stream or river channel. In these cases, the new boundary arcs were "heads up" digitized based on features visible on the statewide 2001 Aerial Imagery. How each boundary arc was developed is identified in the arc attributes, as described below. MassGIS first published these survey-based boundaries in June 2004.

According to staff from the Survey Section, based on their knowledge of historical surveying methods, of changes to the North American Datum at its various versions, and of the algorithms used to convert coordinates from one datum to another, the individual boundary marker coordinates are on average approximately plus/minus three feet. Some points may be more accurate than this and some points are definitely less. The information available in this data layer CANNOT be used to determine the definitive locations of either individual boundary markers or of a specific municipal boundary. Such determinations can only be made by a professional land surveyor. Note that as part of its assistance to surveyors, MassDOT makes available the coordinate information for the individual town boundary survey points that were the basis for this data layer on its Town Corners Map.

For communities with a coastal boundary, MassGIS collaborated with the Massachusetts Water Resources Authority and the Department of Environmental Protection to complete a 1:12,000 scale coastline.

Note that the 351 communities are the official municipal names, not including "villages" or other sections of towns. The Secretary of State's office has prepared a web page listing the Unincorporated and Unofficial Names of Massachusetts Communities. Also see the List of Town Numbers and Names and Towns Index Map.

MassGIS considers this the first release of this layer. Future work will consist of (1) improving the accuracy of boundaries identified as following a road right of way (see "Attributes" section below for description of BND_QUAL where attribute value = 2) and (2) adding offshore boundaries to the existing arc and polygon layers. The offshore boundaries are currently being reviewed by the legal counsels of the Massachusetts Highway Department and  NOAA as well as the Federal Baseline Committee. This data will not be distributed until the termination points of the offshore boundaries are approved by the Federal Baseline Committee and the Massachusetts Legislature.

>> Explore the Historic Massachusetts Board of Harbor and Land Commissioners Atlases
Going back to the early 1900's, these atlases illustrate the official boundaries of MA cities and towns. From the State Library special collections.


This datalayer, except the coastline, was created by MassGIS. Boundaries for each community were created by adjusting the older USGS topo map town boundaries to connect the survey points (TOWNSSURVEY_PT) of a community. In many areas, the boundary creation was simply a matter of "connecting the dots" from one boundary point to the next. Where boundaries follow a stream/river or road right-of-way (ROW) the boundary was approximately delineated using the 2001 Aerial Imagery as a base. All boundaries that follow a water body or a ROW are coded in the attribute table in the BND_QUAL field.

A complex boundary situation occurs when a survey point is a "witness mark", denoted by the letters WM in the coordinate name. A witness mark point is an "on-land" representation of the next point along the boundary when that next point is in a river, wetland, or pond. A line drawn between the point before a witness mark and a witness mark point gives you the direction of the town boundary as it proceeds to the next point in the river, wetland, or pond. Witness marks are often but not always on the town boundary. The Harbor and Land Commission Town Boundary Atlases included large-scale maps of individual boundary point locations. Digital images of these maps taken by MassGIS were also used as a guide in creating the town boundaries layer.

The source for the coastal boundary was the MassDEP Wetlands (1:12,000) data layer, with the boundary being the upland-side boundaries of tidal flats and rocky inter-tidal zones. The coastline boundary was then appended to the town boundary (TOWNSSURVEY_ARC). The polygon layer (TOWNSSURVEY_POLY) was generated from TOWNSSURVEY_ARC and label points using ArcGIS software.

The TOWNSSURVEY_POLYM layer was created by dissolving the TOWNSSURVEY_POLY feature class; a subset of the attribute table was retained and other fields (for population) were added, and the AREA_ACRE and AREA_SQMI fields were calculated for the entirety of each town.



Field NameWidthTypeContents
TOWN21CCity or town name
TOWN_ID3IMassGIS Town-ID Code (1-351)
TYPE2CC = City; T = Town; TC = Town with City form of government, or (for AMESBURY, EASTHAMPTON, FRAMINGHAM, GREENFIELD, METHUEN and WATERTOWN) a city without wards or precincts. Source: Comm. of Mass. Sec. of State map.
COUNTY3CName of county
FIPS_STCO5IFederal Information Processing Standard (FIPS) State/County Code
FOURCOLOR1ICodes (1,2,3,4) allowing shading of all towns using four symbols (based on the "four-color theorem", where no adjacent polygons have the same symbol)
AREA_ACRES10,3FArea in Acres
AREA_SQMI8,3FArea in Square Miles
ISLAND1IPolygon is (1) / is NOT (0) an island - many towns are composed of many polygons
COASTAL_POLY3CYES = Ocean or water polygon, within municipal limits
NO = Land polygon


Field NameWidthTypeContents
TOWN21CCity or town name
TOWN_ID3IMassGIS Town-ID Code (1-351)
TYPE2CC = City; T = Town; TC = Town with City form of government, or (for AMESBURY, EASTHAMPTON, FRAMINGHAM, GREENFIELD, METHUEN and WATERTOWN) a City without wards or precincts. Source: Comm. of Mass. Sec. of State map.
COUNTY3CName of county
FIPS_STCO5IFederal Information Processing Standard (FIPS) State/County Code
FOURCOLOR1ICodes (1,2,3,4) allowing shading of all towns using four symbols (based on the "four-color theorem", where no adjacent polygons have the same symbol)
POP19605I1960 population, from U.S. Census Bureau
POP19705I1970 population, from U.S. Census Bureau
POP19805I1980 population, from U.S. Census Bureau
POP19905I1990 population, from U.S. Census Bureau
POP20005I2000 population, from U.S. Census Bureau
POP20105I2010 population, from U.S. Census Bureau
POP20205I2020 population, from U.S. Census Bureau
POPCH10_205IPopulation change from 2010 to 2020
AREA_ACRES10,3FArea in Acres
AREA_SQMI8,3FArea in Square Miles

The ArcGIS-added SHAPE_AREA field stores the polygon area in square meters; SHAPE_LEN is the polygon perimeter in meters. OBJECTID is a unique row ID.


Field NameWidthTypeContents
BND_QUAL1IBoundary Quality:
1 = Straight connect from one boundary point to another
2 = Boundary line follows a right of way (ROW) which was digitized from the apparent edge of ROW visible on the 2001 color orthophotos
3 = boundary line follows a river or stream center
4 = boundary line falls within the Quabbin Reservoir
5 = boundary line falls within the coastline
6 = boundary line follows a property parcel
7 = Boundary line follows a right of way (ROW) or a stream channel which was derived from a survey plan or data provided by a municipality or survey/engineering firm
FINISHED3CYES = the boundary line has been adjusted from the 1:25,000 scale boundary layer
NO = the boundary line has not been adjusted from the 1:25,000 scale boundary layer
BND_UNCLAS1IUnclassified (Unfinished) Boundaries:
0 = boundary line is either part of the new imported coastline or was updated
1 = boundary line was not updated because a ROW map is needed
2 = boundary line was not updated because the river/stream is not visible in imagery
3 = boundary line was not updated due to some other reason
REASON30CNot Applicable = boundary line is either part of the new imported coastline or was updated
ROW map needed = boundary line was not updated because a ROW map is needed
River/stream not visible = boundary line was not updated because the river/stream is not visible in imagery
Other problem = boundary line was not updated due to some other reason
OUTLINE *2I1 = State Boundary
4 = Coastline
17 = In-state Municipal Boundary

The ArcGIS-added field SHAPE_LEN is the line's length in meters.

* OUTLINE is the only field added to TOWNSSURVEY_ARC_GENCOAST.


Field NameWidthTypeContents
CORNER100CSurvey point corner name
ID14ISequential unique whole numbers that are automatically generated while the data was in Microsoft Access
NORTH8310,3FNorthing coordinate in NAD83 Mass. State Plane meters
EAST8310,3FEasting coordinate in NAD83 Mass. State Plane meters
USE3CYES = survey coordinate should be used in boundary delineation
NO = survey coordinate should not be used in boundary delineation

Related Database Files

These tables (included as part of the downloads at the top of this page) may be joined to the Municipalities polygon layers on the TOWN_ID field:

TOWNS_POLY_AREACODE - Stores telephone area codes for each municipality and reflects the addition of four "overlay" codes in Massachusetts which took effect on April 2, 2001. For more information on the Commonwealth's area codes, see Verizon's Area Codes Lookup Web page. Also see the Secretary of State's Area Code Regions map.

TOWN_IDCity/Town ID (1-351)
AREACODECity/Town Area Code (413, 508/774, 617/857, 781/339, 978/351)

TOWNS_POLY_INCGW - Stores years the cities and towns were settled and incorporated (see source). Also stores a field indicating if a city is classified as a Gateway City.

A gateway municipality (under Chapter 23A Section 3A) is a municipality with:

  • population greater than 35,000 and less than 250,000
  • median household income below the state average
  • rate of educational attainment of a bachelor’s degree or above that is below the state average
TOWNCity/Town name 
TOWN_IDCity/Town ID (1-351) 
SETTLEDThe year in which the city/town was settled 
INC_TOWNThe year in which the municipality was incorporated as a town 
INC_CITYThe year in which the municipality was incorporated as a city 
GATEWAYHas the value of 'Y' if the municipality is a Gateway City 

The Area Codes map is based on an export of a spatial view named TOWNS_POLY_AREACODE_SV. The Settlement and Gateway Cities maps are based on an export of a spatial view named TOWNS_POLY_INCGW_SV.

Additional Resources

Displaying the Data

To display just the "land area" of each town, use the definition query of COASTAL_POLY = 'NO' for the TOWNSSURVEY_POLY layer.

To distinguish the internal boundaries from the coastline and the state line, you can symbolize the TOWNSSURVEY_ARC layer using unique values on the OUTLINE field.


MassGIS maintains this datalayer. Future updates are described in the "Overview" section above. If you have questions or comments about these layers please contact MassGIS.


  • July 12, 2004: re-calculated SQUARE_MILES field.
  • July 7, 2005: moved boundaries to point ID1 = 307.
  • May 8, 2006: added the TOWNSSURVEY_POLYM layer. At the same time, the TOWNS_ID field was dropped. Joins to the table on town number should be based on TOWN_ID.
  • May 24, 2006: adjusted boundaries for moved points ID1 = 1629 (Needham-Wellesley) and 1933 (Winchendon-NH border).
  • October 12, 2006: BND_QUAL values changed along Brookline-Boston border.
  • December 4, 2007: boundaries were modified in November and December, 2007, in five locations in Norfolk County, adjusted to match surveyed right-of-way (ROW) plans provided by the Norfolk County Engineering department. Edits to the ARC, POLY and POLYM layers included:
     - Bay Road (Sharon-Stoughton);
     - Clapboardtree Street (Norwood-Westwood);
     - Old Post Road (Walpole-Sharon);
     - Canton Street (Norwood-Westwood and Canton-N-W);
     - County Street (Dover-Walpole between Medfield and Westwood).
  • September 2009: TYPE was changed to 'TC' for Braintree, Palmer, Randolph and Winthrop.
  • May 2011: the Boston/Brookline boundary was modified (topological edit based on ARC feature class line moved from point ID1 1071 to 798), affecting the two polygon and one arc layers.
  • June 2011: some pseudo nodes were removed along the Haverhill boundary, affecting the two polygon and one arc layers.
  • October 2011: edits were made along the boundaries of: Palmer-Monson (based on parcels); West Springfield-Agawam (Acts and Resolves redefinition); Charlemont-Hawley, Douglas-Uxbridge and Grafton-Westborough (legislative changes).
  • November 2012: Coastal polygons added to offshore areas of Boston and Medford.
  • June 2013: Blackstone-Millville boundary edited based on Level 3 Assessors Parcels data.
  • December 2013: Edits made to the boundaries of Eastham-Orleans and Groton-Shirley based on data from L3 Assessor Parcels. Edits made to the boundaries of Boxford-Topsfield and Berlin-Hudson as part of correcting miscoded coordinates of points in the TOWNSSURVEY_PT layer.
  • February 2014: Tinker's Island reassigned to Salem from Marblehead and Bumkin Island reassigned from Hingham to Hull, based on data from Level 3 Assessors Parcels. Recoded TYPE = 'TC' for BRIDGEWATER, based on latest data from the Secretary of State's office.
  • March 2015: Duxbury-Pembroke border along Pine Brook updated based on scanned survey plan approved by the Duxbury planning board in 1953.
  • November 2015: the Boxford-Topsfield point B-T-2 was adjusted again, using coordinates supplied by MassDOT Survey section; part of the Cambridge-Somerville boundary near Route 28 was modified based on data from Cambridge.
  • December 2016: Boundaries updated between Canton-Sharon-Norwood; Sharon-Walpole; Barnstable-Mashpee; Holland-Wales. These changes were based on Level 3 parcels data, newer imagery, scanned Harbor and Lands Atlas plans, and input from the affected towns. Most of these boundaries followed streams or rights-of-way that were either traced atop older imagery or not modified from the 1:25,000 mapping of community boundaries.
  • March 2017: MassGIS edited boundaries along the borders of: Berlin-Hudson (snap lines to the Berlin-Hudson 1 and Berlin-Hudson 2 corner points); Boxford-Topsfield (snap line to the Boxford-Topsfield 3 corner point); Duxbury-Pembroke (snap to Duxbury's Level 3 parcel data); Lynn-Lynnfield (based on new delivery of Level 3 parcels from Lynn, near the Lynn-Lynnfield 2 town corner point); Walpole-Westwood-Norwood (snap lines along water boundary to Level 3 parcel data from Dover-Walpole-Westwood corner point to Norwood-Walpole 1 corner point).
  • September 2019: Fitchburg-Leominster border along a small stretch of Crawford Street updated based on a 1964 scanned survey plan from the City of Fitchburg Dept. of Public Works. Aquinnah-Chilmark border near Menemsha based on parcel data and surveyed plans from the towns.
  • June 2020: Modified the Chelsea-Everett boundary by up to about 125 feet near Beacham Street, based on Standardized Parcels and plans submitted by the cities. Modified the Lynnfield-Wakefield boundary to match a stream channel as seen on a scanned plan submitted by Wakefield. Changed TYPE to 'C' for Greenfield and 'TC' for North Attleborough.
  • September 2020: Modified small sections of the Canton-Stoughton and Dartmouth-Westport boundaries based on further review from the affected towns of figures and descriptions found in the Harbor and Land Commission Atlas.
  • April 2022: Modified boundaries between:
     - Boston-Brookline 17 and 18 and Boston-Brookline 22 and 23 survey points to match Brookline's parcels.
     - Boston-Everett 4 and 5 survey points (straight line connection) to match survey plan.
     - Boston and Everett, through BE-2 survey points to match survey plan.
     - Hanover-Norwell along Third Herring Brook based on survey plan.
     - Medford-Somerville near the intersection of the Mystic Valley Parkway and Auburn Street based on assessors plan.
  • April 2024: Modified attribute tables, including adding population fields for 1960, 1970, 2020, and a 2010-2020 population change field. Removed older population change fields.

Additional Resources

Help Us Improve Mass.gov  with your feedback

Please do not include personal or contact information.