고려는 지방을 5도와 양계로 나누었다. 도 밑에는 군과 현을 두었는데 지방관이 파견된 주군과 주현이 지방관이 파견되지 않은 속군과 속현을 간접적으로 지배했다. 계 밑에는 진을 설치하였다. 경과 도호부, 목은 도나 계에서 분리되어 있었으며 개경 주변은 경기로 묶여 있었다. 향·부곡·소와 같은 특수 행정 구역이 존재했으며 말단 행정 구역은 촌이었다.
조선은 지방을 도로 일원화하여 8도로 정비하였다. 도 밑에는 그 크기에 따라 부, 목, 군, 현으로 나누었으며 고려와는 달리 지방관이 파견되지 않은 속군과 속현이 없어지고 모든 고을에 수령을 파견하였다. 그리고 특수 행정 구역인 향, 부곡, 소를 폐지하고 모두 군현으로 승격시켜서 8도 5부 5대도호부 20목 82군 175현이 되었다. 군현 밑에는 면, 리, 통을 둠으로써 현재 행정 구역의 큰 틀을 마련했다. 한양은 수도로서 경기도에 포함되지 않았다.
건양 원년 (1896년) : 23부제를 시행한 지 1년 남짓 만에 13도제로 행정 구역을 재개편했다. 기존의 팔도 중 남부 3개 도와 북부 2개 도를 남·북도로 나누는 13도제로 개편하고, 부제에서 도제로 환원했다. 이로써 13도 7부 1목 331군 체제가 성립되었다. 한성부는 경기도에서 분리되어 있었다.[10]
1910년10월 1일 : <조선총독부지방관관제>에 의거하여 13도 12부 317군 체제로 개편되었다. 이 때 수도 서울이 한성부에서 경성부로 개칭되면서 경기도의 하부 행정구역이 되었다.
1914년4월 1일 : <조선총독부령 제111호 도의 위치·관할 구역 변경 및 부·군의 명칭·위치·관할 구역 변경에 관한 규정>에 의거하여 13도 12부 220군 체제로 개편되었다. 이 때의 부는 도시를 뜻하며, 해방 이후 1949년 일괄적으로 시로 개칭하였다. 갑산군 남부를 풍산군으로, 함흥군 동북부를 신흥군으로 분군하였다.
정부 수립 당시에는 1특별자유시 9도 14부 218군 체제였는데 일제 시대에 만들어진 도(道)·부·군·도(島) 체제에서 도·시·군 체제로 전환했다. 1960년대에 도와 같은 역할을 하는 직할시(直轄市)가 부산이 최초로 탄생한 이후 1989년까지 5개의 직할시가 탄생했다. 이후 행정의 불편을 막고 원래 한 지역이었으나 시와 군으로 갈라진 곳들을 재통합하기 위해 1995년 도농복합시가 출범했으며, 기존의 직할시가 광역시(廣域市)로 개칭되고 1997년 울산광역시가 탄생했다. 최근에는 기존의 시·도보다 막강한 권한을 가진 특별자치도(特別自治道)와 특별자치시(特別自治市)도 출범했다. 지금은 복잡한 행정 체계의 간소화와 함께 그 수를 줄이기 위해 지자체 간의 통폐합을 추진하고 있다.
대한민국의 지방 행정 체계는 시(특별시, 광역시, 특별자치시)·도(도, 특별자치도)-시(자치시)·군·구(자치구)-동(행정동)·읍·면의 3단계로 구성되어 있다. 1특별시, 6광역시, 1특별자치시, 8도, 1특별자치도가 광역 지방 자치 단체를 구성하고 있으며, 74시 85군 69구가 기초 지방 자치 단체를 구성하고 있다. 특별시는 구를 하위 행정 기구로 둘 수 있으며, 광역시는 군도 둘 수 있다.[11][12] 도는 시와 군을 둘 수 있다.[13] 최근에는 3단 체계의 비효율을 강조하며 2단계로 줄이려는 움직임도 있다.[14]
1949년8월 14일 : 경기도 수원군 수원읍을 수원부로, 전라남도 여수군 여수읍을 여수부로, 전라남도 순천군 순천읍을 순천부로, 경상북도 영일군 포항읍을 포항부로, 경상북도 김천군 김천읍을 김천부로 승격시켰다. 수원군은 화성군으로, 여수군은 여천군으로, 순천군은 승주군으로, 김천군은 금릉군으로 개칭되었다.
1949년8월 15일 : 서울특별자유시를 서울특별시로, 부(府)를 시(市)로, 경상북도 울릉도(島)를 울릉군(郡)으로 개칭하였다.
1955년9월 1일 : 제주도 북제주군 제주읍을 제주시로, 강원도 강릉군 강릉읍을 강릉시로, 경상북도 경주군 경주읍을 경주시로, 경상남도 통영군 통영읍을 충무시로, 강원도 원주군 원주읍을 원주시로, 경상남도 창원군 진해읍을 진해시로 승격시켰다. 강릉군은 명주군으로, 경주군은 월성군으로, 원주군은 원성군으로 개칭되었다.
1956년7월 8일 : 충청북도 충주군 충주읍을 충주시로, 경상남도 사천군 삼천포읍을 삼천포시로 승격시켰다. 충주군은 중원군으로 개칭되었다.
제2공화국
1962년6월 1일 : 경상남도 울산군 울산읍·방어진읍 등을 울산시로 승격시켰다. 울산군은 울주군으로 개칭되었다.
1963년1월 1일 : 경기도 양주군 의정부읍을 의정부시로, 충청남도 천안군 천안읍을 천안시로, 경상북도 안동군 안동읍을 안동시로, 강원도 양양군 속초읍을 속초시로, 경상남도 부산시를 경상남도로부터 분리시켜 부산직할시로 승격시켰다. 천안군은 천원군으로 개칭되었다.
제3공화국
제4공화국
1973년7월 1일 : 경기도 시흥군 안양읍을 안양시로, 경기도 (광주군) 성남출장소를 성남시로, 경기도 부천군 소사읍을 부천시로 승격시켰다. 부천군은 폐지되어 김포군, 시흥군, 옹진군에 분할 편입되었다.
1980년4월 1일 : 강원도 명주군 묵호읍과 강원도 삼척군 북평읍을 통합하여 동해시로, 경상남도 (마산시) 창원출장소를 창원시로, 충청북도 제천군 제천읍을 제천시로, 경상북도 영주군 영주읍을 영주시로 승격시켰다. 창원군을 의창군으로, 제천군을 제원군으로, 영주군을 영풍군으로 개칭하였다. 경기도 양주군의 의정부시 이남 지역을 남양주군으로 분군하였다.
제5공화국
1981년7월 1일 : 경기도 광명출장소와 시흥군 소하읍을 광명시로, 경기도 평택군 송탄읍을 송탄시로, 경기도 양주군 동두천읍을 동두천시로, 강원도 삼척군 황지읍과 장성읍을 태백시로, 전라북도 정읍군 정주읍을 정주시로, 전라북도 남원군 남원읍을 남원시로, 전라남도 나주군 나주읍과 영산포읍을 금성시로, 경상북도 영천군 영천읍을 영천시로, 경상남도 김해군 김해읍을 김해시로, 제주도 남제주군 서귀읍을 서귀포시로, 경상북도 대구시와 경기도 인천시를 경상북도와 경기도로부터 분리시켜 대구직할시와 인천직할시로 승격시켰다.
1986년1월 1일 : 경기도 남양주군 구리읍을 구리시로, 경기도 (시흥군) 과천출장소를 과천시로, 경기도 (시흥군과 화성군의 각 일부) 반월출장소를 안산시로, 경기도 평택군 평택읍을 평택시로, 강원도 삼척군 삼척읍을 삼척시로, 충청남도 공주군 공주읍을 공주시로, 충청남도 보령군 대천읍을 대천시로, 충청남도 아산군 온양읍을 온양시로, 전라남도 여천군 삼일읍을 여천시로, 경상북도 상주군 상주읍을 상주시로, 경상북도 문경군 점촌읍을 점촌시로 승격시켰다. 금성시를 나주시로 개칭하였다.
1986년11월 1일 : 전라남도 광산군 송정읍을 송정시로, 전라남도 광주시를 전라남도로부터 분리시켜 광주직할시로 승격시켰다.
1989년1월 1일 : 경기도 화성군 오산읍을 오산시로, 경기도 시흥군 의왕읍을 의왕시로, 경기도 시흥군 군포읍을 군포시로, 경기도 시흥군 소래읍을 시흥시로, 경기도 남양주군 미금읍을 미금시로, 경기도 광주군 동부읍을 하남시로, 충청남도 서산군 서산읍을 서산시로, 전라북도 김제군 김제읍을 김제시로, 전라남도 광양군 골약면과 태금면을 합쳐 동광양시로, 경상북도 경산군 경산읍을 경산시로, 경상남도 밀양군 밀양읍을 밀양시로, 경상남도 거제군 장승포읍을 장승포시로, 충청남도 대전시와 대덕군을 충청남도로부터 분리시켜 대전직할시로 승격시켰다. 서산군의 서부 지역을 태안군으로 분군하였다.
1995년1월 1일 : 원래 하나의 군이었다가 시·군으로 나누어진 것을 다시 하나로 합친 도농복합시(자세한 설명은 도농복합시 참조)가 출범했다(이후의 행정 구역의 변화에서 시와 군이 합쳐져서 새로운 시가 탄생한 경우는 제외했다. 단, 군이 시로 승격한 경우는 기술했다).
↑현 대한민국 정부는 대한민국 헌법 제3조에 의거하여 조선민주주의인민공화국의 행정 구역을 인정하지 않으며 독립 당시의 행정 구역을 그대로 사용한다. 또한 형식상의 도지사와 시장, 군수를 임명하고 있다.
↑5부는 개국 전부터 존재하던 부족 세력이었으며 주몽이 세운 고구려에 통합된 이후에도 부족적 성격으로 유지된 것이다. 이후 고국천왕 때 왕권 강화의 일환으로 계루부는 내부(內部), 소노부는 서부(西部), 절노부는 북부(北部), 순노부는 동부(東部), 관노부는 남부(南部)로 개편된다.