Franklin is located along the northern border of Franklin County, which also is the northern border of Vermont and the Canada-United States border.
According to the United States Census Bureau, the town of Franklin has a total area of , of which is land and , or 5.84%, is water [REF].