The city is a port on the river Elbląg, which flows into the Vistula Lagoon about 10 kilometers to the north, thus giving the city access to the Baltic Sea via the Russian-controlled Strait of Baltiysk.