According to the United States Census Bureau, the town has a total area of , of which is land and is water, comprising 4.49% of the town.
Salem is the first New Hampshire town encountered when traveling north from Massachusetts on Interstate 93.