北魏時置懷荒鎮,金代設柔遠縣。元代為“腹里”之地。清屬張家口理事同知廳。1914年廢廳置張北縣,因位于張家口以北,故名張北縣。
1996年,張北縣面積4185平方千米,人口約37萬人,轄4個鎮、14個鄉:張北鎮、公會鎮、二臺鎮、大囫圇鎮、臺路溝鄉、油簍溝鄉、單晶河鄉、大河鄉、海流圖鄉、饅頭營鄉、二泉井鄉、兩面井鄉、黃石崖鄉、郝家營鄉、白廟灘鄉、小二臺鄉、三號鄉、戰海鄉?h政府駐張北鎮。
2000年第五次人口普查,張北縣常住總人口297741人,其中:張北鎮62790人,公會鎮13065人,二臺鎮20690人,大囫圇鎮14901人,臺路溝鄉9801人,油簍溝鄉17959人,饅頭營鄉12364人,二泉井鄉14941人,單晶河鄉10715人,大河鄉13667人,海流圖鄉15712人,兩面井鄉13943人,黃石崖鄉11337人,郝家營鄉10862人,白廟灘鄉9216人,小二臺鄉10045人,戰海鄉9044人,三號鄉11860人,沙溝鄉8704人,宇宙營鄉6125人。
2001年末,全縣面積4185平方千米,人口37.03萬人。2002年,全縣轄4個鎮、16個鄉、1個牧場,9個社區、387個行政村。
2003年末,全縣面積4232平方千米,人口37.2萬人。2004年末,全縣轄4個鎮、16個鄉(其中,沙溝、宇宙營2鄉由張家口市察北管理區管理),9個居委會、384個行政村。
2010年第六次人口普查,張北縣常住總人口318669人,其中:張北鎮129338人,公會鎮7923人,二臺鎮18673人,大囫圇鎮11314人,臺路溝鄉7182人,油簍溝鄉12647人,饅頭營鄉8986人,二泉井鄉11531人,單晶河鄉7944人,大河鄉11740人,海流圖鄉11770人,兩面井鄉10185人,大西灣鄉7276人,郝家營鄉8956人,白廟灘鄉7558人,小二臺鄉7858人,戰海鄉7628人,三號鄉9890人,沙溝鄉5699人,宇宙營鄉4438人,察北10133人。
2011年,撤銷沙溝鄉,將黃山管理處、石門管理處劃入后,設立沙溝鎮(冀民函[2010]218號,張家口市政府政字[2011]17號)。2013年,撤銷小二臺鄉,設立小二臺鎮(冀民函[2013]120號)。調整后,全縣轄6個鎮、14個鄉。
【2011年7月1日,南山路、花園街、張庫南街、北辰路四個街道辦事處(非正式行政區劃)掛牌成立】