西漢于今柳林西北23千米孟門鎮置藺縣,于今柳林東15千米吳村置中陽縣,于今柳林西34千米穆村置隰城縣,俱屬西河郡。東漢廢藺、隰城2縣。三國魏中陽縣治徙今孝義市境。北周大象元年(579)置定胡縣、郡。隋開皇初年廢郡,縣改屬離石郡。
唐武德三年(620)于縣置西定州。貞觀二年(628)廢州;改定胡縣為孟門縣,七年廢。八年復置定胡縣,屬石州。宋大觀三年(1109)屬晉寧軍。金明昌六年(1195)改孟門縣。蒙古至元三年(1266)廢入離石縣。清置柳林鎮巡司。
1971年,將離石縣西部的十三個公社、一個鎮和中陽縣西北部的十二個公社劃出設立柳林縣,因縣址駐柳林鎮而得名。山西省革命委員會1971年7月5日報告實施,國務院1973年10月5日正式批準。
1997年6鎮19鄉,柳林縣轄:柳林鎮、穆村鎮、留譽鎮、下三交鎮、成家莊鎮、孟門鎮、李家灣鄉、東洼鄉、賈家垣鄉、龍門垣鄉、陳家灣鄉、龍花垣鄉、軍渡鄉、薛村鄉、楊家峪鄉、莊上鄉、金家莊鄉、張家圪臺鄉、葦園溝鄉、高家溝鄉、賀家坡鄉、石西鄉、吉家塔鄉、劉家山鄉、西王家溝鄉、
2000年第五次人口普查,柳林縣總人口282840人,其中:柳林鎮56934人,穆村鎮23217人,下三交鎮12452人,成家莊鎮14699人,孟門鎮8718人,留譽鎮8501人,李家灣鄉13737人,東洼鄉4739人,賈家垣鄉5617人,龍門垣鄉9262人,陳家灣鄉10646人,龍花垣鄉7337人,軍渡鄉6624人,薛村鄉12620人,楊家峪鄉6289人,莊上鄉9363人,金家莊鄉10850人,張家圪臺鄉5940人,葦元溝鄉7303人,高家溝鄉10452人,賀家坡鄉7177人,石西鄉10267人,吉家塔鄉7363人,劉家山鄉7067人,西王家溝鄉5666人。
2001年,區劃調整后,全縣轄8個鎮、7個鄉:柳林鎮、穆村鎮、薛村鎮、莊上鎮、留譽鎮、三交鎮、成家莊鎮、孟門鎮、李家灣鄉、賈家垣鄉、陳家灣鄉、金家莊鄉、高家溝鄉、石西鄉、王家溝鄉。縣政府駐柳林鎮。
柳林縣轄柳林、莊上、孟門、成家莊、穆村、薛村、三交、留譽8鎮,王家溝、李家灣、賈家垣、石西、高家溝、陳家灣、金家莊7個鄉,共有3個居委會、573個村委會,34個居民小組、1612個村民小組以及121個附屬自然村。