明代在长城沿线防区设置九镇,即辽东镇、蓟州镇、宣府镇、大同镇、山西镇、延绥镇、宁夏镇、固原镇、甘肃镇。延绥、大同两镇及其以西诸镇长城,多为夯土或土坯砌就。山西镇境内长城,多为夯土单面包砖石墙。宣府、蓟州镇的长城则多为三合土双面包条石或砖墙。辽东镇境内的长城多为木板墙和柳条墙。夯土城墙是以木板作模,内填黏土夯实,黏土中亦有加红柳、芦苇或石灰、碎石等物料的,隋以前长城多用此法筑成。土坯墙系先以黏土做成坯并晒干,再以黏土泥为黏结剂,层层垒砌而成,城墙外再抹一层黄泥作保护层。砖石包面城墙的筑法,是依山势地形或平行或水平跌落砌筑砖石夹墙,内层夯填泥土、碎石等,砖石间则以糯米汁拌石灰浆为其黏结剂,这类城墙坚固耐风雨,至今仍大部保存完好。此外,在黄河突口处,冬季还筑过冰墙。
城墙的高度视地形起伏和防御需求而定,一般在3~8米间,厚度视材料和构造亦有不同,顶宽一般在4~6米间,可容五马并骑或数人并行。城墙顶面以方砖或条石循着墙体的起伏砌成一定坡度或阶梯形的路面,以便于行走。