春秋時北為匈奴與東胡居住地,南部分屬燕國、代國。秦時南部改屬代郡、上谷郡。漢時分屬烏桓、匈奴、鮮卑。隋時東為涿郡,西屬雁門郡。唐時多屬河北道媯州、新州,少屬河東道蔚州。北宋時為武州、蔚州、奉圣州、歸化州、儒州、媯州地。南宋時皆屬遼。元屬中書省上都路宣德府,西北部置興和路(治今張北)。明始筑張家口堡,相傳因其北七里有東太平山與太平山,兩山相距數百步,對峙如門;又因該城堡為指揮張文所筑,故名。
明為延慶州、保安州、云州、蔚州及萬全都指揮使司十二衛、所地。清時北屬口北三廳(多倫諾爾廳、獨石口廳、張家口廳),南屬宣化府(治今宣化)。民國二年(1913年)屬直隸省察哈爾特別區口北道。民國十七年(1928年)設察哈爾省,張家口為省會。民國二十八年(1939年)初設立張家口特別市。1952年12月察哈爾省建制撤銷,察南、察北兩專區合并后稱張家口專區,劃歸河北省,張家口市為河北省直轄,并為專區治所。
1958年5月張家口市改屬張家口專區。1959年5月撤銷張家口專區,所轄各縣劃歸張家口市。1961年5月復置張家口專區,張家口市及所屬各縣隸屬之。1967年12月,張家口專區改稱張家口地區,轄張家口市,縣屬不變。1983年11月,張家口市改為河北省直轄市。1993年7月1日,張家口地、市合并,稱張家口市。
1996年,張家口市面積36873平方千米,人口約434.5萬人。市政府駐橋西區長青路。轄橋東、橋西、宣化、下花園4區及沽源、尚義、張北、崇禮、萬全、懷安、陽原、蔚縣、宣化、涿鹿、懷來、赤城、康保13縣。
2000年第五次人口普查,張家口市常住總人口4191035人,其中:橋東區281044人、橋西區237049人、宣化區317121人、下花園區68134人、宣化縣291878人、張北縣297741人、康保縣226461人、沽源縣177143人、尚義縣157766人、蔚縣447059人、陽原縣257496人、懷安縣224710人、萬全縣207403人、懷來縣323387人、涿鹿縣326101人、赤城縣242181人、崇禮縣108361人。。
2003年末,全市面積36965平方千米,人口450萬人,其中城區819平方千米、85.55萬人。2004年末,全市共有1個區公所,23個街道、89個鎮、120個鄉(其中2個民族鄉),298個居委會、4177個行政村。
2010年第六次人口普查,張家口市常住總人口4345485人,其中:橋東區339372人,橋西區287900人,宣化區370569人,下花園區62764人,宣化縣273506人,張北縣318669人,康保縣204975人,沽源縣174619人,尚義縣151639人,蔚縣450236人,陽原縣258086人,懷安縣210914人,萬全縣211706人,懷來縣352307人,涿鹿縣333932人,赤城縣238169人,崇禮縣106122人。