El escudo de San Petersburgo fue concedido por la emperatriz Catalina la Grande el 7 de mayo de 1780 y sus armas fueron diseñadas por el conde italiano Francesco Santi.
Durante el periodo soviético fue sustituido por otro, adoptado en 1920.
El escudo de 1780 fue recuperado el 6 de septiembre de 1991, tres meses después de que la mayoría de la población decidiera restaurar el antiguo nombre de la ciudad, denominada Leningrado desde 1924.
El escudo de San Petersburgo posee la siguiente descripción heráldica o blasonamiento: