河北古称冀州,舜分置十二州,河北为幽州。《禹贡》亦为冀州。《周礼·职方》曰幽州。
公元前15世纪,商王祖乙迁都于邢(今邢台市),经祖乙、祖辛、沃甲、祖丁、南庚,至南庚迁奄,约130多年。
公元前11世纪,周武王封召公之子于燕国,封周公之子于邢国,河北成为燕、邢之地。
春秋时期河北省北部属于燕国,南部属于中山国、赵国和魏国、西北部属代国。邯郸和邢台曾是赵国都城。
秦始皇时期这里属于巨鹿郡、邯郸郡、恒山郡、齐郡、济北郡、上谷郡、代郡、渔阳郡、右北平郡的地域。
西汉时河北属幽州、冀州、并州小部分,幽州治所在蓟(今北京市),冀州治广川国(今河北冀州市旧城),并州则治晋阳(今山西太原)。东汉时属幽州、冀州。三国时属幽州、冀州。
西晋时属幽州、冀州、司州部分,幽州治涿(今北京市),冀治房子(今石家庄市高邑县)。东晋十六国时期先后被后赵、前燕、前秦、后秦、西燕、北燕、南燕占领。南北朝时期先后属北魏、东魏、北齐、北周。
隋代时属冀州。辖武阳郡(大名)、清河郡(清河)、武安郡(永年)、恒山郡(正定)、河间郡(河间)、上谷郡(易县)、北平郡(卢龙)、信都郡(冀县)、襄国郡(邢台)、赵郡(赵县)、博陵郡(定州)等。
唐代时属河北道、河东道小部分,河北道幽州范阳郡(北京)、沧州景城郡(沧县)、冀州信都郡(冀州)、瀛州河间郡(河间)、定州博陵郡(定州)、邢州钜鹿郡(邢台)、莫州文安郡(任丘)、易州上谷郡(易县)、深州饶阳郡(深州)、妫州妫川郡(怀来)、魏州魏郡(大名)、恒州常山郡(正定)、贝州清河郡(清河)、洺州广平郡(永年)、平州北平郡(卢龙)、赵州赵郡(赵县)等,河东道蔚州安边郡(蔚县)。
五代后晋时,石敬瑭割燕云十六州给契丹。周世宗复三关,与契丹以白沟河为界。
北宋时南部属河北东路和河北西路。北部属于辽国南京道、西京道东部、中京道西部,河北东路辖大名府、开德府、河间府三府;十一州:沧、冀、博、棣、莫、雄、霸、德、滨、恩,清;河北西路辖真定府(正定),中山府(定州),信德府(邢台),庆源府(赵县)四府。州九:相,浚,怀,卫,洺,深,磁,祁,保。
金代时属河北东路、河北西路。完颜亮定都于燕(今北京市)改置中都等路。
蒙古初置燕京路。至元四年,定都于北京,改大都路,置中书省。元代河北为中央直属的中书省。河北地区辖有保定路(清苑)、真定路(正定)、顺德路(邢台)、广平路(永年)、大名路(大名)、河间路(河间)、永平路(卢龙)、大都路(北京)、上都路南部、兴和路南部、大宁路部分等。
明属北直隶、山西小部分、鞑靼小部分,仍属中央直辖,天津开始设县。北直隶辖顺天府(大兴、宛平)、永平府(卢龙)、大名府(大名)、顺德府(邢台)、广平府(永年)、保定府(清苑)、真定府(正定)、河间府(河间)、宣化府(宣化)等。
清代属直隶省,辖顺天府(大兴、宛平)、顺德府(邢台)、广平府(永年)、保定府(清苑)、正定府(正定)、天津府(天津)、河间府(河间)、承德府(承德)、大名府(大名)、永平府(卢龙)、宣化府(宣化)等。直隶省省会在保定。雍正八年起,直隶总督驻保定府(今保定市),现存有当时的直隶总督署。
中华民国成立后,当时国民政府建都南京,今河北境域主要属直隶省,后因直隶省名不符实,于1928年改为河北省今名。
1949年,中华人民共和国成立后,仍为河北省。
1952年,撤销察哈尔省,将其原察南、察北两个专区划归河北省;1956年撤销热河省,将其原大部分辖区划归河北省。
1958年,将河北省的顺义、延庆、平谷、通县、房山、密云、怀柔、大兴等县划归北京市。
1968年,文化大革命前期,河北省的省会从保定市迁往石家庄。
1973年,将河北省的蓟县、宝坻、武清、静海、宁河等五县划入天津市。形成河北省的现在辖区规模。
★2015年4月28日,《国务院关于同意河北省调整保定市部分行政区划的批复》(国函[2015]73号):一、同意撤销保定市北市区、南市区,设立保定市莲池区,以原北市区、南市区的行政区域为莲池区的行政区域,莲池区人民政府驻五四路街道七一中路789号。二、同意撤销满城县,设立保定市满城区,以原满城县的行政区域为满城区的行政区域,满城区人民政府驻满城镇中山西路1号。三、同意撤销清苑县,设立保定市清苑区,以原清苑县的行政区域为清苑区的行政区域,清苑区人民政府驻清苑镇迎宾中街301号。四、同意撤销徐水县,设立保定市徐水区,以原徐水县的行政区域为徐水区的行政区域,徐水区人民政府驻安肃镇永兴中路11号。五、同意保定市新市区更名为竞秀区。
★2015年7月23日,《国务院关于同意河北省调整秦皇岛市部分行政区划的批复》(国函[2015]121号):一、同意撤销抚宁县,设立秦皇岛市抚宁区,以原抚宁县的行政区域(不含石门寨镇、驻操营镇、杜庄镇、牛头崖镇)为抚宁区的行政区域,抚宁区人民政府驻抚宁镇金山大街2号。二、同意将原抚宁县的石门寨镇、驻操营镇、杜庄镇划归秦皇岛市海港区管辖,将原抚宁县的牛头崖镇划归秦皇岛市北戴河区管辖。