충청 남도 공주시 산성동(山城洞) 일대의 금강(錦江)에 접한 공산(公山) 위에 있는 흙과 돌을 섞어 쌓아올린 백제 시대의 산성. 사적 제12호,
475년(문주왕 1) 한산성(漢山城)에서 웅진(熊津)으로 천도하여 538년(성왕 16) 부여로 천도될 때까지 64년 동안 도읍지였던 공주를 지키기 위하여 쌓아 올린 것으로 당시의 중심 산성 이었다.
성터의 면적은 동서로 800m 남북이 400m로 21만㎡에 이르며 사방에 석루(石壘)가 남아 있고 대부분이 조선 중기에 보수한 것이다. 동쪽 성벽 밖에는 토성이 있는데 폭은 3m이며, 높이는 허물어져 추측할 수 없다. 서쪽 성벽은 흙 위에 돌을 쌓았는데 폭이 4.5m 높이가 3m이다. 현재는 원형을 알 수 없다. 성벽 안에는 7~8m의 호(壕)가 남아 있다. 북쪽은 돌로서 조잡하게 쌓아 올렸으며 높이 2m 폭 1.5m 정도가 남아 있으며 하수구도 있다. 남쪽에 문터(지금의 진남루)가 있으며, 서쪽은 높이 3m 폭 3.7m의 돌로 쌓았고 성 안에는 폭 11m의 호(壕)가 있다. 진남루 앞의 공터는 궁터이며 공북루(拱北樓)의 윗부분은 건물터로 추정되며 우물터도 3개가 있다.
백제 시대에는 웅진성(熊津城)으로 불렸다가 조선 이후 공산성, 인조 이후는 쌍수산성(雙樹山城)으로도 불리었다.