Salem is located at 42°31'9" North, 70°53'49" West (42.519167, -70.897222).

According to the United States Census Bureau, the city has a total area of 18.06 mi2 (46.77 km2). 8.10 mi2 (20.99 km2) of it is land and 9.95 mi2 (25.78 km2) of it is covered by water. The total area is 55.12% water.

Salem is located in the Eastern Standard Time (EST) timezone, GMT-05:00. It observes Daylight Saving Time (DST).