修文历史悠久,春秋时期属牂牁地,唐朝时期分属功州和蛮州。元世祖至元二十年(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个居民小组。