西漢置寧縣,治今萬全縣,屬上谷郡。
北魏太和中改置小寧縣,屬廣寧郡。
北齊廢小寧縣,為懷戎縣地,屬永豐郡。
唐龍紀(jì)元年(889),置文德縣,屬武州。
金大定二十九年(1189),改文德縣為宣德縣,屬宣德州。
元代屬中書省上都路,為順寧府宣德縣宣平縣地。
明洪武四年(1371),廢宣德、宣平二縣,二十六年,廢宣平縣置萬全右衛(wèi),于此(德勝堡)建萬全右衛(wèi)城,屬萬全都指揮使司。
清康熙三十二年(1693),改萬全右衛(wèi)為萬全縣,治萬全城,屬直隸省宣化府。
1912年,屬直隸省口北道。
1928年,屬察哈爾省。
1941年,并入萬安縣。
1945年,復(fù)設(shè)萬全縣。
1952年,劃歸河北省張家口專區(qū)。
1958年,并入懷安縣。
1962年,復(fù)設(shè)萬全縣,屬張家口專區(qū)。
1967年,屬張家口地區(qū)。
1983年,縣人民政府遷今址。
1993年,劃歸張家口市。
2016年1月,經(jīng)國務(wù)院批準(zhǔn)撤銷萬全縣,設(shè)立萬全區(qū)。