夏朝及商期间属夏王朝九州中之冀州,进入西周分属于幽、并两州,春秋时属西周王朝分封之诸侯国——代国,战国时期属赵国之代郡地,秦统一六国后,怀安隶代郡之代县(今蔚县代王城)。
西汉,武帝元封元年(前110年)于县境南部旧怀安村北置夷舆县,辖今县境南川,属幽州代郡,旋即废。其地并入下洛县(今涿鹿县),属幽州刺史部上谷郡。武帝元封五年(前106年),在县境西北部(今东洋河村西南)置马城县,辖今县境西部与万全县西南部,为代郡东部都尉治所,属并州刺史部。
东汉,仍属上谷、代两郡地。光武帝建武十五年(39年),为避匈奴,上谷、代郡吏民寄治于居庸关内,二十六年(50年)复还故地,献帝建安十八年(213年),幽并二州入冀州,县境为冀州地。三国和魏,属幽州上谷郡。曹魏中后期,县境东部之夷舆县亦省废,旋即又改置下洛县。
西晋,武帝泰始十年(274年),分上谷郡置广宁郡,县境大部属幽州代郡,东北部属广宁郡下洛县地,马城县废。
东晋,县境被突厥、鲜卑占领。晋成帝咸康四年(338年)被后赵石勒占领。晋穆帝永和六年(350年)被前燕慕容隽占领。晋废帝司马奕太和五年(370年)被前秦符坚占领。晋孝武帝太元元年(376年)被后燕慕容垂占领。太元二十一年(396年)被北魏拓跋珪占领。
南北朝,仍属北魏地。今县境西部属恒州代郡,受北灵丘军管辖;孝文帝(拓跋元宏)太和十年(486年),于今南忻屯置大宁郡,辖小宁(今万全县境)与大宁(今张家口市区)二县,本县东部属燕州大宁郡管辖。北魏灭亡后(534年)属东魏,东魏孝静帝(元善见)武定四年(546年)燕州废,分恒州东部置东燕州(治今昌平县)辖大宁郡地。550年,属北齐。后主(高纬)武平三年(572年)分东燕州地置北燕州(治今涿鹿)废大宁郡,置长宁、永丰二郡,县境属永丰郡地。565年属北周,577年改北燕州为燕州,县境属燕州。
隋,县境属涿郡怀戎县(今涿鹿保岱),怀安此时为涿郡怀戎县地。
唐,618年县境为突厥所据,属北燕州,630年突厥降唐,太宗贞观八年(634年)改北燕州为妫州,今县境东部属妫州怀戎县地(今怀来)。玄宗天宝二年(743年)改妫州为妫川郡。唐王朝统治者取儒家经典“朝廷施行仁政,百姓怀恩而安”之意,并以此为县名。于穆宗长庆二年(822年),于今旧怀安村北置怀安县,属河北道新州(今涿鹿)。武宗会昌年间(841—846年)新州改称山北八军之武定军,怀安县受武定军管辖。
五代十国,后唐庄宗同光二年(924年)改武定军为威塞军,废怀安县。后晋高祖天福三年(938年),石敬瑭割燕云诸州给契丹,县境全部入辽。南部,初属奉圣州,后改属西京路大同府。东北部属西京路宣德州。
辽穆宗(耶律璟)应历十三年(963年),分文德县地置怀安县(治今旧怀安)领户3千,乡兵6千,属奉圣州。辽圣宗(耶律隆绪)开泰三年(1014年),于左卫西置德州,领威宁县(与德州同治)与怀安县,1044年改属西京路大同府。
金章宗承安二年(1197年)于大新镇(今万全县宣平堡)置宣平县,辽天祚帝保大二年(北宋徽宗宣和四年,1122年)金打败契丹,将新州等地归还宋,金太宗天会二年(北宋徽宗宣和六年,1124年)又归金,县境属西京路大同府。金世宗大定七年(南宋孝宗乾道三年,1167年)省德州建置,县境又分属于宣德州(今宣化)和大同府。
元世祖中统元年(1260年)怀安县从宣德州割出,属隆兴府所辖。世祖中统三年(1262年)今县境西部改属中书省兴和路,东部宣平县仍属上都路宣德州。元英宗至治元年(1321年)将宣平县移治辛南庄(今左卫西十里),属中书省上都路顺宁府,后改属宣德府。西南部属兴和路。
明初隶属京师(北京)兴和府,后改属山西大同府。洪武三年(1370年)县境被鞑靼占领,废怀安县。民移居庸关改置怀安守御千户所。洪武四年废宣平县。洪武二十三年(1390年)废千户所,置怀安卫,二十六年二月由旧怀安村移卫于今怀安城;先属山西行都司,后改隶于北平都指挥使司。永乐十六年(1418年)革北平都指挥使司,隶属京师。十七年保安右卫,由顺圣川(今阳原)徙至西沙城。二十年(1422年)移治怀安城。宣宗宣德五年(1430年)置万全都指挥使司,辖怀安卫,万全左卫,保安右卫等。是年六月,保安右卫改属怀安卫。英宗正统二年(1437年)柴沟堡筑堡,并设参将,属万全都指挥使司。宪宗成化八年(1472年)于柴沟堡置分守西路参将。世宗嘉靖四十五年(1566年)分西路为上西路与下西路,左卫属上西路,柴沟堡、西阳河、怀安属下西路。明崇祯八年(1635年)上下西路及怀安南界的南山路,又改属分守道。
清世祖顺治初,延用明制,仍属直隶。顺治八年(1651年)裁柴沟堡参将,怀安卫属万全都司。圣祖康熙四年(1665年)改隶山西。康熙三十二年(1693年)西阳河、柴沟堡、左卫并入怀安,改怀安卫为怀安县,属直隶保定布政使司宣化府,柴沟堡设守备。世宗雍正十年(1732年)柴沟堡改设都司。
怀安县民国时期
中华民国二年(1913年)裁直隶宣化府,怀安县改属口北道。
民国十八年(1929年)改道为省,直隶为河北省。察区升为察哈尔省,怀安县属之。
民国三十年3月(1941年4月1日),怀安、万全合并,称万安县,治柴沟堡镇,称万安镇。抗日战争时期,为中共冀察区第十三专区。
1945年8月15日日本投降。11月,察哈尔省恢复,怀安县属察南专区,怀安县治怀安城。
民国三十五年至民国三十六年解放战争期间,中共政权转入地下,建有临时联合县,县境分属天阳怀(天镇、阳高、怀安)联合县、兴天怀(兴和、天镇、怀安)联合县及宣涿怀(宣化、涿鹿、怀安)联合县。
1948年联合县撤销,恢复怀安县制属察南专区。
1948年11月29日,中国人民解放军二次解放县境。新中国建立前后,北以洋河与万全县为界;东以古垛山与宣化县为界;南以灵官庙山、虎窝山与山西天镇县为界。
怀安县新中国时期
中华人民共和国时期,1951年县政府由怀安城迁至柴沟堡。
1952年11月15日察哈尔省撤销,改属河北省,怀安县属张家口专区。
1958年10月,怀安、万全两县合并,县治柴沟堡。
1959年5月张家口专区和张家口市合并,怀安县属张家口市。
1961年12月25日怀安、万全两县分制,怀安属张家口地区,1993年,张家口地市合并,怀安县隶属于张家口市至今。
(怀安县文史档案局提供)