Санкт-Петербург расположен на побережье Финского залива Балтийского моря в устье реки Невы и на островах ее дельты.
Географические координаты центра города – 59° 57’ северной широты и 30° 19’ восточной долготы. Город занимает площадь 1439 км2, из них территория высокоплотной, почти сплошной застройки составляет 650 км2.
Высота города над уровнем моря: для центральных районов – 1–5 м, периферийных районов (север) – 5–30 м, периферийных районов (юг и юго-запад) – 5–22 м. Самое высокое место в черте города – Дудергофские высоты в районе Красного Села с максимальной высотой 176 м.
На прилегающей к Неве низменности и ее продолжении вдоль залива находятся ближайшие пригороды. Несмотря на общую равнинность рельеф окрестностей разнообразен. К юго-западу от города выделяется Ижорская возвышенность, к северу — возвышенности Карельского перешейка, Приморско-Вуоксинский озерный район. Эти места живописны в любое время года, привлекают туристов и отдыхающих.
На берегах Невы восхитительны белые ночи. Они наступают 25-26 мая и заканчиваются 16-17 июля, продолжаясь более 50 дней. Наибольшая продолжительность дня приходится на 21-22 июня (18453 мин), когда солнце лишь незначительно заходит за горизонт и на "ночном" небе неразличимы даже самые яркие звезды.
Город расположен на 60 град.с.ш., т.е. на той широте, которая проходит через южную часть Аляски, Чукотку, Гренландию. Из крупных городов примерно на той же широте находятся Стокгольм, Осло, Хельсинки, в каждом из них сказывается влияние теплого течения в Атлантике — Гольфстрим. В Западном полушарии крупных городов на этой и близких к ней широтах городов нет. Пулковский меридиан (31 град.в.д.) пересекает Санкт-Петербург, а также (примерно) Киев, Стамбул, Каир, но ни один из последних городов не является аналогом в природном отношении городу на неве.