국도 제21호선
연혁

1971년 8월 31일 : 일반국도노선지정령에 의해 국도 제21호선 군산 ~ 천안선이 됨.
1973년 9월 8일 : 선형 개량으로 인해 보령군 주포면 보령리 956m 구간을 610m로, 보령군 대천읍 명천리 600m 구간을 736m로, 홍성군 홍성읍 오관리 650m 구간을 480m로, 홍성군 홍성읍 남장리 300m 구간을 170m로, 홍성군 광천읍 상정리 ~ 백계리 370m 구간을 220m로, 홍성군 광천읍 용암리 560m 구간을 500m로 도로구역 변경
1975년 8월 8일 : 보령군 남포면 옥동리 ~ 웅천면 두룡리 총 2.675km 구간 개통 및 기존 3.12km 구간 폐지, 예산군 응봉면 계정리 ~ 지석리 660m 구간 개통 및 기존 830m 구간 폐지, 서천군 비인면 성내리 ~ 종천면 화산리 총 2.675km 구간 개통 및 기존 3.78km 구간 폐지
1981년 3월 14일 : 종점을 '충청남도 천안시'에서 '경기도 이천군 장호원읍'으로 연장함. 이에 따라 '군산 ~ 천안선'에서 '군산 ~ 장호원선'이 됨.
1981년 4월 16일 : 국도로 승격된 충청남도 서천군 장항읍 신창동 ~ 충청북도 음성군 감곡면 왕장리 95.632km 구간 개통
1981년 5월 30일 : 대통령령 제10247호 일반국도노선지정령 개정에 따라 연장된 63km 구간으로 도로구역 변경
1986년 9월 29일 : 기존 지정 구간인 천원군 목천면 신대리 ~ 북면 연춘리 3.65km 구간, 온양시 남동 ~ 아산군 배방면 장재리 3.52km 구간 폐지
1987년 1월 31일 : 온양우회도로(온양시 모종동 ~ 권곡동) 구간을 포함한 온양시 모종동 ~ 천안시 쌍용동 11.34km 구간 개통
1987년 5월 26일 : 기존 지정 구간인 주산교(보령군 주산면 야룡리), 광천읍 소재지(홍성군 광천읍 옹암리 ~ 신진리), 예산읍 소재지(예산군 예산읍 주교리 ~ 산성리), 아산군 신창면 읍내리, 배방면 소재지(온양시 배방면 신동리 ~ 공수리) 구간 폐지
1987년 7월 21일 : 천원군 목천면 신계리 ~ 북면 연춘리 2.88km 구간 개통
1988년 3월 25일 : 홍성군 구항면 마온리 280m 구간 개통 및 기존 310m 구간 폐지, 홍성군 홍성읍 남장리 160m 구간 개통 및 기존 190m 구간 폐지, 보령군 청소면 죽림리 ~ 재정리 270m 구간 개통 및 기존 340m 구간 폐지, 아산군 배방면 세교리 150m 구간 개통 및 기존 160m 구간 폐지
1996년 7월 1일 : 기점을 '전라북도 군산시'에서 '전라북도 전주시'로 연장함. 이에 따라 '전주 ~ 이천선'이 됨.
1997년 12월 20일 : 전주시 덕진구 용정동 ~ 군산시 내초동 45.5km 구간을 자동차 전용도로로 지정
1997년 12월 24일 : 홍성군 홍성읍 대교리 ~ 예산군 오산면 역탑리 15.1km 구간 신설 개통, 기존 17.2km 구간 폐지
1998년 1월 8일 : 서천군 비인면 관리 ~ 성내리 3.24km 구간 신설 개통, 기존 2.1km 구간 폐지
1998년 4월 9일 : 음성군 맹동면 쌍정리 ~ 인곡리 1.6km 구간 개통, 기존 1.65km 구간 폐지
1998년 9월 24일 : 충청남도 아산시 신창면 읍내리 ~ 남동 12.7km 구간을 자동차 전용도로로 지정
2001년 3월 23일 : 전주 나들목 개량사업으로 전주시 덕진구 반월동 ~ 용정동 660m 구간 도로구역 변경
2001년 5월 14일 : 진천군 덕산면 함목리 880m 구간 개통, 기존 920m 구간 폐지
2001년 7월 1일 : 내초 ~ 옥산간 도로(군장산업기지 진입도로, 군산시 내초동 ~ 옥산면 당북리) 11.7km 구간 확장 개통
2001년 8월 25일 : 기점을 '전라북도 전주시'에서 '전라북도 남원시 대강면'으로 연장. 이에 따라 '남원 ~ 이천선'이 됨.
2001년 11월 7일 : 보령시 대천동 ~ 홍성군 광천읍 옹암리 15.45km 구간 확장 개통, 기존 16.2km 구간 폐지
2001년 12월 27일 : 보령시 주교면 관창리 ~ 주교리 2.42km 구간 확장 개통, 기존 2.3km 구간 폐지
2001년 12월 31일 : 옥산 ~ 대야간 도로(군장산업기지 진입도로, 군산시 옥산면 당북리 ~ 대야면 복교리, 군산시 개정면 운회리 ~ 옥석리) 9.8km 구간 확장 개통. 대야 ~ 공덕, 성덕 ~ 대야간 도로 2km 구간 동시 개통
2002년 5월 28일 : 대야 ~ 공덕 ~ 전주간 도로(전주시 덕진구 조촌동 ~ 군산시 대야면 지경리) 25.9km 구간 확장 개통
2002년 12월 9일 : 보령시 남포면 옥동리 ~ 주교면 관창리 10.4km 구간을 자동차 전용도로로 지정
2004년 7월 5일 : 완주군 상관면 신리 ~ 전주시 완산구 원당동 8.91km 구간을 자동차 전용도로로 지정
2004년 12월 5일 : 진천군 진천읍 교성리 ~ 상신리 41.km 구간 확장 개통
2005년 12월 30일 : 정읍시 구룡동 ~ 송산동 3.2km 구간 확장 개통
2005년 12월 31일 : 보령시 화산동 ~ 주교면 관창리 4.24km 구간 확장 개통
2006년 8월 16일 : 아산시 국도대체우회도로(아산시 신창면 행목리 ~ 배방면 구령리) 11.9km 구간 확장 개통
2007년 12월 20일 : 덕산 ~ 예산간 도로(예산군 예산읍 관작리 ~ 궁평리) 3.6km 구간 확장 개통
2007년 12월 31일 : 천안시 성남면 화성리 ~ 병천면 탑원리 3.17km 구간 확장 개통, 기존 천안시 북면 상동리 ~ 병천면 탑원리 4.02km 구간 폐지
2008년 7월 14일 : 아산시 국도대체우회도로(아산시 신창면 읍내리 ~ 행목리) 1.5km 구간 확장 개통
2008년 12월 26일 : 구이 ~ 용정간 도로(완주군 상관면 신리 ~ 전주시 완산구 삼천동3가) 16.7km 구간 개통
2008년 12월 31일 : 홍성남부우회도로(홍성군 구항면 마온리 ~ 금마면 장성리) 5.8km 구간 신설 개통, 기존 홍성읍내를 통과하는 6.4km 구간 폐지
2009년 12월 22일 : 보령시 남포면 옥동리 ~ 화산동 7.09km 구간 확장 개통, 기존 보령시 남포면 옥동리 ~ 주교면 관창리 10.2km 구간 폐지
2010년 11월 22일 : 아산시 신창면 읍내리 600m 구간 확장 개통
2010년 12월 31일 : 아산시 국도대체우회도로 개통으로 기존 아산시 신창면 읍내리 ~ 배방읍 구령리 11.5km 구간 폐지
2011년 3월 28일 : 전주시 덕진구 용정동 ~ 완주군 용진면 용흥리 11.23km 구간을 자동차 전용도로로 지정
2012년 11월 28일 : 진천IC ~ 금왕간 도로 1공구(진천군 진천읍 상신리 ~ 음성군 맹동면 마산리) 11.02km 구간 확장 개통, 기존 진천군 진천읍 상신리 ~ 음성군 맹동면 본성리 9.6km 구간 폐지
2012년 12월 28일 : 진천IC ~ 금왕간 도로 2공구(음성군 맹동면 마산리 ~ 음성군 금왕읍 각회리) 9.9km 구간 확장 개통, 기존 음성군 맹동면 본성리 ~ 생극면 병암리 11.762km 구간 폐지
2013년 12월 19일 : 아산시 배방읍 구령리 ~ 천안시 동남구 신방동 7.0km 구간 확장 개통, 기존 아산시 배방읍 공수리 ~ 북수리 1.5km 구간 폐지
2015년 2월 13일 : 용정 ~ 용진간 도로 중 용정 교차로 ~ 반월 교차로(전주시 덕진구 용정동 ~ 고량동) 3.2km 구간 확장 개통
2015년 12월 28일 : 순창군 적성면 내월리 ~ 동계면 구미리 2.7km 구간 확장 개통, 기존 2.0km 구간 폐지
2016년 10월 28일 : 용정 ~ 용진간 도로 중 반월 교차로 ~ 용진 교차로 (전주시 덕진구 고량동 ~ 완주군 용진읍 용흥리) 8.0km 구간 확장 개통
2016년 10월 28일 : 용정 ~ 용진간 도로 중 반월 교차로 ~ 용진 교차로 (전주시 덕진구 고량동 ~ 완주군 용진읍 용흥리) 8.0km 구간 개통을 11월로 연기
2016년 11월 10일 : 용정 ~ 용진간 도로 중 반월 교차로 ~ 용진 교차로 (전주시 덕진구 고량동 ~ 완주군 용진읍 용흥리) 8.0km 구간 확장 개통
2016년 12월 30일 : 용두 ~ 동면간 도로(천안시 동남구 병천면 탑원리 ~ 동면 화계리) 3.91km 구간 확장 개통, 기존 3.63km 구간 폐지
2017년 12월 31일 : 서천 ~ 보령간 도로 1공구(서천군 서천읍 오석리 ~ 보령시 주산면 신구리) 15.1km 구간 확장 개통 및 기존 총 6.223km 구간 폐지, 서천 ~ 보령간 도로 3공구(보령시 웅천읍 두룡리 ~ 남포면 옥동리) 13.14km 구간 확장 개통 및 기존 보령시 웅천읍 두룡리 ~ 남포면 읍내리 총 5.01km 구간 폐지
2018년 12월 26일 : 정읍 부전 ~ 순창 쌍치간 도로(순창군 쌍치면 신성리 ~ 정읍시 부전동) 7.36km 구간 확장 개통 및 기존 순창군 쌍치면 종곡리 ~ 방산리 1.95km 구간과 정읍시 부전동 총 5.52km 구간 폐지
2019년 12월 31일 : 순창 쌍치지내 도로(순창군 쌍치면 금평리 ~ 신성리) 6.44km 구간 확장 개통 및 기존 순창군 쌍치면 금평리 ~ 옥산리 760m 구간 폐지
2020년 12월 30일 : 순창 동계 ~ 적성간 도로(순창군 동계면 구미리 ~ 관전리) 3.98km 구간 확장 개통