둘레 약 23㎞. 현재 내성(內城)·북성(北城)·중성(中城)·외성(外城, 羅城) 등 네 개의 성과 문지(門址)·건물지 등이 남아 있다.
이 성은 대동강이 S자형으로 흐르는 북쪽에 있으며, 고구려시대에 초축하였고 고려 초에 다시 고쳐 쌓았으며, 조선시대에도 계속 수개축(修改築)을 하여 현재에 이른다.
고조선의 평양성도 바로 이곳이라 여겨지며, 실제로 위만조선이 한(漢)나라에 패할 때 끝까지 지키던 도성이기도 하다. 고구려가 586년(평원왕 28)에 도읍을 장안성(長安城)으로 옮겼다는 『삼국사기』의 기록으로 보아, 고구려 후기에는 평양의 다른 성들과 구분하여 장안성이라 부른 듯하다.
성의 구성은 대동문(大同門) 아래에서 서북쪽으로 남산고개를 지나 만수대(萬壽臺) 끝까지는 내성이고, 그 북쪽으로 가장 높은 모란봉(牡丹峰)을 중심으로 한 북성이 있으며, 내성의 남쪽으로 대동교(大同橋)에서 안산(按山)까지 연장된 중성과, 평지로 대동강과 보통강으로 둘러싸인 외성으로 되어 있다.
대부분 경사가 약간 있는 석축인데, 기초 부분과 성벽 부분 사이를 점토와 자갈로 굳게 다져놓았다. 형식상으로 보아 산성과 평지성이 결합된 것으로, 평지인 나성 부분은 일정한 구획을 갖춘 계획적인 시가지를 형성하였던 곳이다.
대동강과 보통강은 성의 바깥에 있는 자연적인 방어선으로, 이러한 유리한 지형에 쌓은 것으로 보아 고조선 이래 가장 오랜 역사를 지니면서, 우리 나라 성곽의 특징을 지녀 왔음을 알 수 있다.
1935년의 조사에 의하여 만수대 부근에서 고구려시대의 건물터가, 보통강 부근에서 고구려시대의 성문이 발견되었다. 또한, 문의 신방석[信枋石 : 버팀목을 받친 돌]과 문턱돌도 나왔는데 문턱돌에는 수레바퀴가 다니던 홈이 패어 있어 특히 주목되며, 성벽에서는 축성할 때에 새긴 석각명(石刻銘)이 몇 개 알려져 있다. 또, 북성에서는 영명사(永明寺) 옛터에서 돌계단·돌사자모양의 조각 및 고구려시대의 주춧돌과 기와가 출토되었다.