柳林县组建于一九七一年四月。现辖八镇七乡197个行政村。

今县境历史悠久,源远流长了。县境薛村镇高红村出土的仰韶文化遗址,表明早在新石器时代,就有人类在此繁衍生息。

今日柳林县春秋时为晋国领地,战国属赵之边邑离石。《史记·赵世家》载:“武灵王二十三年秦拔我蔺”。赵国之蔺邑在今本县之孟门镇。秦时属太原郡。

汉武帝元朔三年(前126年)封其代共王子熹为蔺侯(古治在今之孟门镇年)、忠为隰城侯(治所遗址在本县今之穆村镇与杨家坪之间年),绾为离石候。时今县境域分属离石、蔺、隰城等侯国。元朔四年(前125年)置西河郡,各侯国皆属之。东汉建安十八年(213年)废西河郡,其地并入太原郡。三国魏黄初二年(221年)复置西河郡,西晋时西河郡改为西河国,今县境域分属西河国辖下的离石、隰城、中阳三县。北朝时期,北齐置西汾州,北周大象元年(579年)西汾州下设定胡郡,兼置定胡县,郡县治所皆在今孟门镇,本县今之境域大部分属之。后西汾州改称石州。隋大业元年(605年),石州改为离石郡,唐武德元年(618年)复称石州。武德三年(620年)置西定州,治所在今之孟门镇。贞观二年(628年)废西定州,改定胡县为孟门县,县属石州。贞观七年(633年)废孟门县,置孟门镇。贞观八年(634年)废镇,复置定胡县。北宋时期,本县今境域先属石州治下的离石、定胡等县,后期部分地区隶属晋宁军。金时县境大部属石州治下的孟门县,县治仍在今之孟门镇。元朝初年,孟门、方山二县并入离石,今县境分属离石、宁乡二县。明初离石县并入石州,隆庆元年(1567年)石州改称永宁州,今县境属之。明代后期,今县境属山西承宣布政司太原府治下之永宁州。清朝时期,今县境分属汾州府治下的永宁州、宁乡县。

民国元年(1912年),实行省道县建置,今县境属山西省冀宁道辖下的永宁、宁乡二县。民国3年(1914年),永宁改称离石,宁乡改称中阳,今县境隶属未变。民国26年(1937年),山西省划为七个行政区,离石、中阳属第四行政区。民国28年(1939年),全省下设四个行政公署,离石、中阳改属第二行政公署,今县境仍属离石、中阳两县。民国29年(1940年)1月,离石县抗日民主政府在蛤蟆塌(今孟门镇石安村)成立,属晋西北抗日民主政权之山西省第二游击区行政公署四专区;阎锡山政权之离石县政府则移驻冀家峪(即今贺家坡乡冀家峪年)。同年4月,中共代表王若飞、肖劲光与阎锡山达成以太(原)军(渡)公路为界南北分治的协议,今县境北部遂属离石县抗日民主政府管辖,县境南部遂属阎锡山政权之山西省第四行政区。民国30年(1941年)8月,第二游击区行署改名为晋西北行政公署;1943年11月改名为晋绥边区行政公署,离石、中阳属行署辖下的三分区。

1945年8月,日本侵略者投降,柳林、离石相继解放。1946年中阳县解放,今县境仍分属晋绥边区四专区辖下的离石、中阳两县。1948年,离石、中阳改属晋绥三专区。1949年2月,离石、中阳改属晋西北行政公署。同年9月,山西省人民政府成立后,离石县、中阳县分别改属新建立的兴县专区、汾阳专区。1951年3月汾阳专区撤销后,中阳县改属兴县专区。1952年6月兴县志撤销后,离石、中阳两县改属榆次专区。1954年7月,方山县与离石县合并为离山县,今县境域隶属关系一直未变。1958年11月,离山、中阳两县合并,复称离石县。1959年9月离石、中阳分治,今县境又分属离石、中阳两县。

1971年4月,吕梁地区组建时,从离石县西部划出柳林镇、薛村、军渡、龙花垣、吉家塔、成家庄、孟门、西王家沟、刘家山、贾家垣、结绳墕、枣林、东窊、交口1镇13个人民公社,从中阳县西部划出龙门垣、庄上、陈家湾、金家庄、留誉、张家圪台、苇园沟、三交、高家沟、石西、贺家坡、杨家峪12个人民公社组建成新的离石县(原离石县城关及未划入其他人民公社组建成离石郊区),于同年5月离石县级各机关正式移驻柳林镇;同年7月5日,离石县改名为柳林县,原离石郊区易名为离石县,仍隶属于吕梁地区,并对下属人民公社区划进行了调整,组建了穆村、李家湾两个人民公社,将结绳墕、枣林、交口3个人民公社重新划归更名后的离石县。其时,柳林县下辖25个人民公社和1个镇人民政府。

1984年改乡(镇)村制。根据国务院“关于实行政社分开建立乡政府的通知”精神,1984年5月12日省人民政府批准,设孟门、穆村、成家庄、下三交镇人民政府。1984年7月15日,除镇以外的21个人民公社全部改设为乡,成立乡人民政府。同时,将公社下辖的生产大队改为村民委员会。1989年2月24日,薛家湾乡并入柳林镇。至此,全县共设柳林、孟门、成家庄、穆村、三交5个镇,西王家沟、刘家山、吉家塔、李家湾、东凹、贾家垣、龙花垣、军渡、薛村、石西、高家沟、贺家坡、杨家峪、苇园沟、龙门垣、陈家湾、金家庄、留誉、张家圪台20个乡分辖三个居民委员会和573个村民委员会。

2001年1月,调整为现八镇七乡257个行政村。在全县乡镇撤并中,东窊乡并入柳林镇;军渡乡并入薛村乡,改称薛村镇;龙花垣乡并入贾家垣乡;龙门垣乡并入陈家湾乡;吉家塔乡并入孟门镇;刘家山乡并入王家沟乡;张家圪台乡并入留誉乡,改称留誉镇;苇园沟乡并入三交镇;贺家坡乡并入高家沟乡;杨家峪乡并入庄上乡,改称庄上镇。之后柳林县下辖下辖柳林、庄上、孟门、成家庄、穆村、薛村、三交、留誉8镇和王家沟、李家湾、贾家垣、石西、高家沟、陈家湾、金家庄7个乡。

2003年10月23日,国务院批准撤销吕梁地区,建立吕梁市。至此,柳林县上属吕梁市管辖。至2020年,柳林县下辖柳林、庄上、孟门、成家庄、穆村、薛村、三交、留誉8镇及王家沟、李家湾、贾家垣、石西、高家沟、陈家湾、金家庄7个乡,分辖4个居民委员会和197个行政村。