[5] Maidstone is in eastern Essex County along the Connecticut River, the state boundary between Vermont and New Hampshire.
The town is bordered by Guildhall to the south, Granby to the southwest, Ferdinand to the northwest, and Brunswick to the north, all in Vermont.
Across the Connecticut River are the New Hampshire towns of Stratford to the northeast and Northumberland to the east.
The only crossing of the Connecticut River from Maidstone is the Janice Peaslee Bridge in the northern part of town, leading to Stratford village.
Vermont Route 102 travels the length of the east side of town, staying in the Connecticut River valley.
Maidstone State Park is on the east and south sides of the lake, offering camping, fishing, swimming, and hiking.