According to the United States Census Bureau, the town has a total area of , of which, of it is land and is water [REF].
The town is crossed by U.S. Route 1A and is bordered on the north by Winterport, on the east by the Penobscot River and across the river, Bucksport, on the south by Prospect and Searsport, on the southwest by Swanville and on the west by Monroe.