秦、漢時為高奴縣地,后為匈奴所據(jù)。北魏太平真君十二年(451年)于境內(nèi)設(shè)啟寧縣,隋開皇三年(583年)廢入廣洛縣。北宋太平興國二年(977年)于今縣城置保安軍。金大定十二年(1172年)改設(shè)保安縣;二十二年升為州。蒙古至元六年(1269年)復(fù)為保安縣。1914年屬榆林道。1928年直屬省。
1934年11月改名赤安縣。1936年6月為紀(jì)念劉志丹烈士,改名志丹縣。1949年屬陜北行政區(qū)。1950年5月屬延安分區(qū),10月屬延安專區(qū)。1958年12月,吳旗縣撤銷,轄地并入志丹縣。1968年屬延安地區(qū)。1996年屬延安市。
1950年,吳旗、白豹、水泛3區(qū)歸吳旗縣。全縣設(shè)太平、槐樹渠、永寧、旦八、金鼎、順寧6區(qū)。太平區(qū)轄寺臺、城市、墩梁、孫岔、茍河5鄉(xiāng)。槐樹渠區(qū)轄侯市、郝家溝、大高山、孟坬、賀渠5鄉(xiāng)。永寧區(qū)轄鷂子川、石畔、小崖窯、楊城、段家灣5鄉(xiāng)。旦八區(qū)轄旦八、樊川、義正、麻臺、麻子溝5鄉(xiāng)。金鼎區(qū)轄金鼎、東溝灣、吳堡、羅坪、金湯5鄉(xiāng)。順寧區(qū)轄順寧、宋莊、丁岔、雙楊、劉坪5鄉(xiāng)。
1952年8月,新設(shè)紙坊區(qū),下轄徐塌、石岔、老廟河、劉河4鄉(xiāng),全縣共設(shè)7區(qū)34鄉(xiāng)。1956年3月,雁轱轆塘、高灣、羅李坬、段家峁、菜子圪堵、胡麻地嘴、薛家河坬、閻家廟、小李圪凹、介渠灣、閻家圪堵、柳樹圪、楊窯則、常梁坬14個村劃歸靖邊縣;古莊窠、韓崾崄2個村劃歸安塞縣;楊坬溝、小木澗、高樓坬3個村劃歸吳旗縣;靖邊縣的牛嘴溝、王家灣、廟家河、羅山、馬臺則、麻臺則、大鹽店7個村及吳旗縣的劉興莊、河石灣2個村劃歸志丹縣,轄地為今志丹縣地。
1958年12月,全縣改設(shè)城市、侯市、杏河(槐樹渠)、順寧(高家灣)、永寧(腰子川)、旦八、金鼎、吳旗鎮(zhèn)、白豹、長官廟、鐵邊城、蔡家砭、周家灣13個公社,轄地為今志丹、吳旗2縣地。1961年9月,原吳旗縣轄地劃出后,全縣設(shè)城關(guān)、雙河、永寧、旦八、金鼎、義正、吳堡、紙坊、順寧、杏河、張渠、侯市、三臺13個公社。1964年8月成立城關(guān)鎮(zhèn)。1965年10月撤三臺公社。1971年恢復(fù)市鎮(zhèn)公社。1972年9月侯市公社并入杏河公社,1980年恢復(fù)侯市公社。
1983年8月成立城關(guān)鄉(xiāng)(后改稱周河鄉(xiāng))。1984年3月,撤公社設(shè)鄉(xiāng)(鎮(zhèn))。1988年,全縣轄保安、杏河、旦八3鎮(zhèn)及周河(縣城)、順寧(高家灣)、張渠、紙坊、雙河、吳堡(雙廟)、義正、侯市、金鼎、永寧(劉家河)10鄉(xiāng),共19362戶,94895人。
1996年,志丹縣面積3781平方千米,人口27790戶,115345人。轄3個鎮(zhèn)、10個鄉(xiāng):保安鎮(zhèn)、旦八鎮(zhèn)、杏河鎮(zhèn)、周河鄉(xiāng)、順寧鄉(xiāng)、紙坊鄉(xiāng)、雙河鄉(xiāng)、永寧鄉(xiāng)、候市鄉(xiāng)、吳堡鄉(xiāng)、義正鄉(xiāng)、金鼎鄉(xiāng)、張渠鄉(xiāng),共有189個行政村、3個居委會。縣政府駐保安鎮(zhèn)。
1998年,順寧鄉(xiāng)改為順寧鎮(zhèn),永寧鄉(xiāng)改為永寧鎮(zhèn),金鼎鄉(xiāng)改為金鼎鎮(zhèn)。調(diào)整后,志丹縣轄6個鎮(zhèn)、7個鄉(xiāng),191個行政村。
2000年第五次人口普查,志丹縣常住總?cè)丝?24449人,其中:保安鎮(zhèn)22548人,杏河鎮(zhèn)10452人,順寧鎮(zhèn)9509人,旦八鎮(zhèn)9998人,金鼎鎮(zhèn)11284人,永寧鎮(zhèn)10837人,周河鄉(xiāng)9754人,雙河鄉(xiāng)8733人,紙坊鄉(xiāng)5586人,義正鄉(xiāng)8659人,吳堡鄉(xiāng)4504人,張渠鄉(xiāng)7753人,侯市鄉(xiāng)4832人。
2001年,撤銷周河鄉(xiāng)并入保安鎮(zhèn),撤銷侯市鄉(xiāng)并入杏河鎮(zhèn)。區(qū)劃調(diào)整后,志丹縣轄6個鎮(zhèn)、5個鄉(xiāng):保安鎮(zhèn)、杏河鎮(zhèn)、順寧鎮(zhèn)、旦八鎮(zhèn)、金丁鎮(zhèn)、永寧鎮(zhèn)、雙河鄉(xiāng)、紙坊鄉(xiāng)、義正鄉(xiāng)、吳堡鄉(xiāng)、張渠鄉(xiāng)。
2010年第六次人口普查,志丹縣常住總?cè)丝?40489人,其中:保安鎮(zhèn)60371人,杏河鎮(zhèn)13213人,順寧鎮(zhèn)8860人,旦八鎮(zhèn)10404人,金丁鎮(zhèn)8895人,永寧鎮(zhèn)9533人,雙河鄉(xiāng)8384人,紙坊鄉(xiāng)5168人,義正鄉(xiāng)7196人,吳堡鄉(xiāng)3679人,張渠鄉(xiāng)4786人。
2011年,撤銷吳堡鄉(xiāng)、義正鄉(xiāng)合并設(shè)立義正鎮(zhèn),撤銷紙坊鄉(xiāng)并入順寧鎮(zhèn),撤銷張渠鄉(xiāng)并入杏河鎮(zhèn)。調(diào)整后,志丹縣轄7個鎮(zhèn)、1個鄉(xiāng):保安鎮(zhèn)、旦八鎮(zhèn)、金鼎鎮(zhèn)、永寧鎮(zhèn)、杏河鎮(zhèn)、順寧鎮(zhèn)、義正鎮(zhèn)、雙河鄉(xiāng)。
2012年末,志丹縣面積3790.2平方千米,戶籍人口158457人,常住人口14.16萬人。2013年末,志丹縣轄7個鎮(zhèn)、1個鄉(xiāng),共有5個社區(qū)、200個行政村,縣政府駐保安鎮(zhèn)。
2015年,撤銷保安鎮(zhèn),設(shè)立保安街道;撤銷雙河鄉(xiāng),設(shè)立雙河鎮(zhèn)。調(diào)整后,志丹縣轄1個街道、7個鎮(zhèn):保安街道、旦八鎮(zhèn)、金鼎鎮(zhèn)、永寧鎮(zhèn)、杏河鎮(zhèn)、順寧鎮(zhèn)、義正鎮(zhèn)、雙河鎮(zhèn)。