 According to the United States Census Bureau, the city has a total area of , of which is land and (80.4%) is water.The city is a peninsula containing twenty square miles and is located between the Poquoson River on the north, Back River and Wythe Creek (the Old Poquoson River) on the south, the Chesapeake Bay on the east, and York County on the west.The city also shares a border with the City of Hampton and a water boundary across Chesapeake Bay with Northampton County.