龙关县古称龙门县。龙门县在唐以前名斗辟县,有出土古碑为证。唐长庆二年(公元822年)属新州置龙门县(现龙关镇)。辽增置望云县属奉圣州。金改属德兴府龙门县,明昌二年(公元1191年)又改属宣德州。元初废县制为龙门镇,至元二十八年(公元1291年)又改置望云县。明改望云县为龙门卫。清康熙三十二年(公元1693年)改龙门卫为龙门县。
1914年因与广东省龙门县同名改为龙关县,属直隶省口北道。1928年改属察哈尔省。1952年划归河北省张家口专区。
1958年12月撤销赤城县并入龙关县,县驻地由龙关迁至赤城城关。1960年5月将龙关县改称赤城县。