According to the United States Census Bureau, the borough had a total area of 2.403 square miles (6.225 km2), including 2.261 square miles (5.856 km2) of land and 0.142 square miles (0.369 km2) of water (5.92%) [REF].
The borough borders Aberdeen Township and Marlboro Township in Monmouth County, as well as Old Bridge Township in Middlesex County [REF].