修文歷史悠久,春秋時期屬牂牁地,唐朝時期分屬功州和蠻州。元世祖至元二十年(1283),四川行省討平九溪十八洞后置順元等路軍民安撫司,立總管府,聽順元路宣慰司節制。安撫司領貴州等處長官司24個,其中置于息烽縣和修文縣地的有青山遠地等處、底寨等處、落邦扎佐等處和六廣等處4個蠻夷長官司,隸四川行省。二十九年改隸湖廣行省。
明洪武五年(1372),縣地蠻夷長官司長官內附,改置為青山長官司、底寨長官司和扎佐長官司,復隸四川行省;同時,裁六廣等處蠻夷長官司,將其地歸入貴州宣慰使靄翠親領水西地,屬于的則溪地屬的龍爾(今龍場)、底飛(今六廣)2目。明洪武十七年(1375),貴州宣慰使奢香開龍場九驛,其中坐落在今縣境的有龍場驛和六廣驛。永樂十一年(1413)置貴州行省,縣境各長官司即屬貴州節制。
崇禎三年(1630)置敷勇衛。以貴州宣慰司安氏親領之龍爾地置衛城和衛直轄地,衛指揮使司設其間;以底飛地置濯靈守御千戶所,治地六廣城;廢扎佐長官司,以其地置修文守御千戶所,治地扎佐城;廢青山長官司,以其地置于襄守御千戶所,治地九莊城;以貴州前衛故絕六屯地及底寨長官司部分地置息烽守御千戶所,治地息烽城。底寨長官司和底寨副長官司繼續保留。
清康熙二十六年(1687),裁敷勇衛置修文縣,隸屬貴陽府。改衛城為縣城。將全縣劃為至孝、崇義、信順和仁和4個里,下轄32甲、207個村寨。置縣之后,仍保留底寨正、副長官司,至道光年間裁廢,轄地劃歸仁和里。光緒三十一年(1905),貴陽府將甌脫地養龍司5個保和麥西里屬地安馬莊撥歸修文縣管轄。
民國3年(1914)8月,經內務部呈大總統核準,劃修文縣仁和里全境、信順里5個甲和崇義里3個甲,以及貴陽、紫江(今開陽)部分地置息烽縣。4年(1915),由息烽、修文和貴陽等縣知事實地踏勘劃定縣界。縣界基本固定,隸屬黔中道,全縣劃分為7區、47保、235個甲,共有524個村寨。民國9年,裁黔中道,隸屬貴州省。民國21年,區以下廢保置鄉(鎮),全縣建10個鎮和60個鄉。區改以序號名區,即中南區為第一區,中北區為第二區,東區為第三區,南區為第四區,西區為第五區,北一區為第六區,北二區為第七區。
民國24年(1935),廢鄉(鎮),置聯保,縣改隸貴州省第一行政督察區。26年,縣隸省直轄區。27年調整區劃,全縣調為6個區,將第一區改為直轄區,第二區改為第一區,第五區改為第二區,第三區和第四區不變,第六區、第七區合并為第五區。區下置25個聯保,聯保下置133個保。民國30年,縣復直隸省。31年推行新縣制,撤銷區和聯保復置鄉(鎮),下轄保、甲。自此,全縣行政區劃共劃為2個鎮和11個鄉、126個保、1069個甲。至38年(1949)9月,全縣計有13個鄉(鎮)126個保,1053個甲。
1949年11月17日,修文縣解放。11月24日,建立縣人民政府,全縣置烏栗、扎佐、石安和六廣4個區,轄13個鄉(鎮),縣隸屬貴陽專區。次年4月,烏栗區政府遷駐縣城,改稱城關區。8月按序號名區,城關區改稱第一區,扎佐區改稱第二區,石安區改稱第三區,六廣區改稱第四區。1952年4月,第三區遷駐久長,并于小箐增設第四區,改第四區為第五區。縮小鄉的規模,將全縣調為5個區,轄2個鎮和31個鄉。11月19日,縣改隸貴定專區。
1955年11月,復按地名稱區,即第一區稱城關區,第二區稱扎佐區,第三區稱久長區,第四區稱小箐區,第五區稱六廣區。1956年2月,全縣劃為2個鎮和46個鄉。4月18日縣改隸安順專區。是年6月,裁撤小箐區,所轄各鄉納入久長區。8月,全縣劃為4個區,轄2個鎮、28個鄉建制。1957年7月,城關鎮和扎佐鎮升格為區級鎮,全縣劃為4個區和2個鎮、28個鄉。
1958年9月,大辦人民公社,取消區、鄉建制,全縣建“政社合一”的人民公社9個,12月改建為8個人民公社,轄29個管理區。管理區下置176個生產隊、897個生產小隊。是年12月29日,縣改隸貴陽市。1961年6月,貫徹中共中央調整方針,恢復區的建置,改管理區為公社,生產隊改稱生產大隊,生產小隊改稱生產隊。全縣復置5個區,區以下置30個公社、230個生產大隊、1321個生產隊。
1962年4月,撤銷久長、小箐兩區,將原久長區的石安公社和馬官公社并入陽明公社后劃屬城關區,金橋、清水公社并入久長公社后隸屬扎佐區;將原小箐區的崇恩公社劃屬城關區,灑坪并入小箐公社后,連同馬場、中寨公社劃屬六廣區;將城關區的新場公社并入谷堡公社,增置水塘公社隸城關區;將三元公社并入扎佐公社仍屬扎佐區;將六廣區的紅巖并入大石公社和花榔、涼井、寶寨并入六桶公社后仍歸六廣區。全縣共有3個區21個公社。公社下置229個生產大隊、1353個生產隊。是年10月,恢復城關鎮建制。1963年3月,扎佐公社析為扎佐鎮和高潮公社,全縣調為5個區,轄2個鎮和29個公社、226個大隊、1339個生產隊。6月,城關區增加新場公社;10月,六廣區增加紅巖公社。21日縣改隸安順專區。至1965年11月,全縣共有5個區,轄2個鎮和31個公社、228個生產大隊、1356個生產隊。
1966年5月進行撤區試點,裁久長區,將原區屬久長、金橋、清水3個公社合并為久長公社,直隸于縣;將石安公社劃屬城關區轄;將馬官公社和水塘公社的程官、青龍2個大隊并入陽明公社后改稱馬家橋公社;并將水塘公社之水塘大隊劃屬三元公社;高倉、小山、水竹和羅家寨大隊劃屬王官公社;將扎佐鎮、高潮公社和三元公社之磨盤寨生產隊合并為扎佐公社。全縣為4個區,轄1個鎮和27個公社(含久長直屬公社)、206個大隊、1110個生產隊。
1981年1月,撤久長直屬公社復置久長區,由扎佐公社析出扎佐集鎮部分恢復扎佐鎮建制,全縣調為5個區,轄2個鎮、30個公社、215個大隊、1739個生產隊。至1983年,大隊增為217個,生產隊減為1668個,并有12個居民委員會。
1984年4月,取消公社建制,實行政、社分設,復建鄉(鎮)、村政權,鄉(鎮)轄村民委員會(居民委員會),村以下建村民小組。全縣共建立5個區,轄2個鎮和30個鄉、217個村民委員會和12個居民委員會、1403個村民小組。5月,城關鎮升格為區級鎮。6月,改桃源鄉、大石鄉為大石布依族鄉。1985年9月,將久長鄉改為久長鎮,六廣鄉改為六廣鎮。至1990年,全縣共建5個區和1個區級鎮,轄28個鄉(其中布依族鄉2個)和3個鄉級鎮、217個村民委員會和12個居民委員會、1434個村民小組。1513個自然村寨。
1992年2月,將全縣5區32鄉(鎮)撤并為城關、扎佐、久長、六廣4個鎮和谷堡、六屯、小箐、灑坪、大石、六桶6個鄉,以體現“小政府,大服務”的特點。1996年1月,修文縣劃歸貴陽市管轄。1999年9月,城關鎮更名為龍場鎮。2003年10月,全縣撤居民段改置社區,龍場置龍崗、棲鳳、賓陽、虎山4個社區;六廣、小箐、久長鎮分別將原來的居委會改為社區;扎佐鎮原2個居委會改建為景陽和襄陽2個社區,2005年8月增設萬江社區。
2011年7月,龍崗社區服務中心掛牌成立。2012年8月修文縣珍珠河社區服務中心啟動。
2013年,修文縣開展撤鄉設鎮工作,六屯鄉、六桶鄉、灑坪鄉改為六屯鎮、六桶鎮、灑坪鎮,全縣共有10鄉(鎮),113個行政村、12個居委會,1322個村民組。修文縣下設2個社區服務中心,分別為龍崗社區服務中心、珍珠河社區服務中心。2016年11月,龍場鎮城南村、城北村分別改為翠屏居委會、中山居委會,扎佐鎮紅橋村改為紅橋居委會,改屬珍珠河社區,新園村改為新園居委會,改屬珍珠河社區,久長鎮久長村改為青龍居委會,全縣轄108個行政村17個居委會。
2017年7月,撤銷谷堡鄉、小箐鄉設立谷堡鎮、小箐鎮。
2019年6月,龍崗社區服務中心在易地扶貧搬遷安置點成立龍潭居委會。
2020年5月,省人民政府批復同意撤銷龍場鎮、扎佐鎮、久長鎮、龍崗社區、珍珠河社區,設立龍場、陽明洞、扎佐、景陽、久長街道。
目前,全縣轄龍場、陽明洞、扎佐、景陽、久長5個街道,六廣、六屯、灑坪、六桶、谷堡、小箐鎮和大石布依族鄉7個鄉鎮,108個行政村,18個居委會,1253個村民小組,126個居民小組。