북한산성은 경기도 고양시와 서울시의 경계에 있는 북한산의 능선을 따라 축조된 둘레 12.7km에 달하는 포곡식 석축 산성이다. 고려시대의 중흥산성을 대대적으로 개축한 것으로 추정되며, 삼국시대 신라의 북한산성이었던 서울시 광진구에 있는 아차산성과는 전혀 다른 곳이다. 조선시대의 북한산성은 한양 도성을 방어하기 위해 1711년(숙종 37)에 축성되었다. 기록에 따르면 산성에는 성문 14개소, 장대 3개소, 행궁·성랑 143개소, 창고 8개소, 사찰 21개소, 누각 3개소, 교량 7개소, 못 26개소, 우물 99개소가 있었다고 한다.
『조선왕조실록(朝鮮王朝實錄)』에 따르면, 한양으로 도성이 옮겨지면서 도성 방어를 위한 산성의 축성이 지속적으로 거론되었다. 그렇지만 실질적인 축성은 임진왜란과 병자호란을 겪고 조정이 안정된 1711년(숙종 37)과 1712년(숙종 38)에 걸쳐 이루어졌다.
문헌 기록에 따르면 고려시대에는 북한산성 자리에 중흥산성(中興山城)이 있었다. 부왕동암문 구간 성벽 절개 조사 당시 북한산성 기저부 아래에서 조선시대 축조된 북한산성의 성벽과 성돌의 크기, 축조 방법, 진행 방향 등이 전혀 다른 이른 시기의 석축 성벽이 발견된 바 있다.
조선시대에는 숙종 대에 이르러 중흥산성을 수축(修築)하자는 신하들의 건의를 받아들여, 1711년(숙종 37) 4월 3일에 북한산성의 축성 공사를 시작하였다. 다음 해인 1712년 4월에 숙종이 북한산성에 행차하였을 때 서문지 일대가 낮아 중성(中城) 축조를 지시하니, 당해년 5월부터 총융청(摠戎廳)에서 중성을 쌓기 시작하였다. 이어 같은 해 10월에는 어영청과 금위영이 주관하는 성랑(城廊), 창고, 문루(門樓), 못, 우물을 만드는 공사까지 완료됨에 따라 전체 축성이 마무리되었다. 이후에는 영조 대에 수축이 이루어졌으며, 1893년(고종 30)에도 산성의 행궁과 성첩(城堞), 공해(公廨)를 중수(重修)하고 보축(補築)하였다.
북한산성은 경기도 고양시 덕양구 북한동 일대와 서울특별시 은평구 · 종로구 · 성북구 · 도봉구 등 경기도와 서울시 경계에 자리한 북한산에 위치한다. 북한산은 능선을 따라 28개의 험난한 봉우리가 있을 뿐만 아니라 크고 작은 계곡이 산재하여 풍부한 수량과 넓은 공간을 제공해 주는 천혜의 요충지로서 예부터 한양 도성을 지키는 요충지로 중요시되어 왔다. 산성은 원효봉 · 영취봉 · 용혈봉 · 미륵봉 · 의상봉 등 험준한 봉우리들을 이어서 축조한 포곡식 석축 산성으로, 전체 둘레는 12.7㎞에 이르며, 성벽 몸체의 길이는 8.4㎞이다. 남북축이 긴 평면 장방향의 형태를 띤다.
조선시대인 1745년(영조 21)에 성능(聖能)이 편찬한 『북한지(北漢誌)』의 북한도(北漢圖)에는 산성의 전체적인 모습과 북한행궁(北漢行宮)을 비롯한 성내 시설이 묘사되어 있다. 해당 기록에 따르면 산성의 둘레는 7,620보(21리 60보, 12.7km)이며, 여장(女墻)은 2,807첩, 성문 14개소, 장대 3개소, 행궁 · 성랑 143개소, 창름(倉廩) 8개소, 사찰 21개소, 루(樓) 3개소, 교량 7개소, 못 26개소, 우물 99개소가 있었다고 한다.
성벽은 자연 지세에 따라 내탁식과 협축(夾築)식을 혼용하여 쌓았다. 성벽은 자연 암반층에 바로 그랭이질 하여 성돌을 쌓아 올리거나 바닥면에 장방형의 퇴박석을 깐 다음 안쪽으로 약간 들여서 최하단의 성돌부터 쌓아 올렸다. 부왕동암문 구간과 같이 경사가 급한 지역은 성벽의 안정화를 위한 기단 보축을 하였다. 성벽의 외면은 다듬은 방형과 장방형의 석재를 이용하여 면석 간에 빈틈이 거의 없을 정도로 치밀하게 축조하였는데, 들여쌓기 없이 약간의 기울기를 주면서 수직에 가깝게 쌓아 올렸다. 반면 내벽은 외벽에 비해 면석의 크기가 일정하지 않아 성돌이 잘 맞물리지 않는 부분의 빈 틈새에 소형 석재를 쐐기돌로 일부 사용하였다. 성벽의 몸체 부분 위에는 성가퀴가) 조성되어 있는데, 별도의 미석을 마련하지 않고 성벽의 몸체 부분 상부에 거칠게 다듬은 석재로 기단석을 깐 다음, 그 위에 거칠게 가공된 석재와 할석으로 수직에 가깝게 몸체를 올리고, 틈새와 총안의 상면 등에는 강회를 발라 마무리하였다. 타와 타구를 갖춘 여장 한 구간에는 원총안 2개와 근총안 1개소를 마련하였다. 타의 길이는 3.7~3.9m이다. 성벽 안쪽으로는 병사들의 순찰이 이루어지는 회곽로도 확인되었는데, 성벽 몸체의 뒤채움 상부에 넓은 판석을 깔아 기초부를 마련한 다음 그 위에 두께 30cm 가량의 흙을 다져 만들었다.
성문은 북문 · 대동문 · 대서문 · 대성문 · 중성문 등 5개소의 홍예식 성문과 소동문 · 소남문 · 서암문 · 백운봉암문 · 용암봉암문 · 동암문 · 청수동암문 · 부왕동암문 · 가사당암문 등 9개의 암문이 있다. 그리고 지형적으로 방어에 취약한 대서문 방면이 적에게 함락당할 때를 대비하여 노적봉과 중봉 사이에 있는 협곡에는 중성을 쌓았다. 장수의 지휘소로 이용되는 장대(將臺)는 시단봉 위에 동장대, 나한봉 동북의 남장대, 중성문(中城門) 서북의 북장대 등 3개소가 설치되었다. 이 중 동장대는 금위영 관할 구역으로 북한산성의 총지휘소 역할을 하였다.
그리고 일종의 초소 건물이라고 할 수 있는 성랑지는 정밀 지표 조사에서 45개소가 확인되었다. 성랑은 성벽과의 간격이 2.212.0m로 일정하지 않은데, 지형이 가파른 곳일수록 성벽에서 멀리 떨어져 있다. 성랑의 규모는 앞면 3칸, 옆면 1칸이며, 성벽을 마주하는 앞면을 제외한 세 벽면은 초석에 세운 기둥 사이로 토석 혼축의 벽체를 일정 높이(약 1.51.8m)까지 축조한 대벽 건물지임이 발굴 조사를 통해 밝혀졌다. 내부에서는 취사나 난방을 위한 시설은 확인되지 않았으며, 다량의 기와들이 출토되어 기와 건물이었던 것으로 보인다.
북한산성 내부에는 행궁지를 비롯하여 삼군문(三軍門)의 유영(留營)과 식량과 무기, 화약 등을 보관하던 창고, 태고사, 진관사, 문수암, 원효암, 상운사, 도선사, 승가사, 화계사, 중흥사지, 보광사지, 보국사지, 부왕사지, 삼천사지, 서암사지, 용암사지, 원각사지, 향림사지 등의 사찰과 사지 등 다양한 문화 유적이 분포한다.
한편, 북한산성의 성벽 기저부 아래에서는 고려시대에 축조된 중흥산성의 성벽이 확인되었다. 해당 성벽은 아래쪽에는 거칠게 다듬은 대형 석재를 놓고 할석으로 수평을 조정하였으며, 위쪽에는 다양한 크기의 방형과 정방형 성돌로 쌓았다. 잔존 높이는 1.2m 가량이다. 주변에서 고려 말에서 조선 초에 해당하는 어골문, 격자문과 집선문 등이 새겨진 기와편이 다량으로 출토되어, 당시 기와 건물지가 있었던 것으로 추정된다.
경기문화재단 경기문화재연구원(현, 경기역사문화유산원)에서는 2012년부터 북한산성의 성벽과 부속 시설에 대한 조사를 실시해 오고 있다. 우선 20122014년에는 산성 전체에 대한 정밀 지표 조사를, 20132014년에는 대서문-수문 구간과 부왕동암문 구간에 대한 발굴 조사(성벽과 성랑지 4개소, 고려시대 중흥산성)를 시행하였다. 20142015년에는 청수동암문-나한봉 구간과 나한봉-나월봉 구간, 부왕동암문 구간에 대한 발굴 조사(성랑지 4개소와 나한봉 치성)를 실시하였다. 20152016년에는 서암문-수문 구간에 대한 발굴 조사(성랑지 1개소, 수구, 돈대, 내성벽)를 실시하였으며, 2016~2017년에는 부왕동암문 구간에 대한 발굴 조사(중흥산성, 계단식 보축 시설, 성랑지 1개소 및 선대 유구)를 실시한 바 있다. 이후 2021년에는 백두문화재연구원(현, 백두문화연구원)에서 대서문 구간을, 2022년에는 경기문화재연구원에서 부왕동암문 구간에 대한 발굴 조사를 진행하였다.
북한산성은 시대에 따라 그 위치가 동일한 것은 아니다. 삼국시대의 북한산성은 서울특별시 광진구에 있는 아차산성으로, '북한산(北漢山)'이라는 명문이 새겨진 기와편이 발견되었다. 조선시대에는 한양 도성을 방어하기 위한 산성의 축성이 지속적으로 거론되었으나, 실질적인 축성은 임진왜란과 병자호란을 겪고 조정이 안정된 1711년(숙종 37)에서야 이루어졌다. 현재의 북한산성은 고양시와 서울시의 경계에 있는 북한산의 능선을 따라 축조되었는데, 고려시대에는 중흥산성이 있었다. 북한산성은 전체 둘레가 12.7㎞에 달하는 포곡식 석축 산성으로 성 내부에는 행궁지를 비롯한 유영, 창고, 사찰 등 다양한 건물지가 확인된다.