明代在长城沿线防区设置九镇,即辽东镇、蓟州镇、宣府镇、大同镇、山西镇、延绥镇、宁夏镇、固原镇、甘肃镇。延绥、大同两镇及其以西诸镇长城,多为夯土或土坯砌就。山西镇境内长城,多为夯土单面包砖石墙。宣府、蓟州镇的长城则多为三合土双面包条石或砖墙。辽东镇境内的长城多为木板墙和柳条墙。夯土城墙是以木板作模,内填黏土夯实,黏土中亦有加红柳、芦苇或石灰、碎石等物料的,隋以前长城多用此法筑成。土坯墙系先以黏土做成坯并晒干,再以黏土泥为黏结剂,层层垒砌而成,城墙外再抹一层黄泥作保护层。砖石包面城墙的筑法,是依山势地形或平行或水平跌落砌筑砖石夹墙,内层夯填泥土、碎石等,砖石间则以糯米汁拌石灰浆为其黏结剂,这类城墙坚固耐风雨,至今仍大部保存完好。此外,在黄河突口处,冬季还筑过冰墙。
城墙的高度视地形起伏和防御需求而定,一般在3~8米间,厚度视材料和构造亦有不同,顶宽一般在4~6米间,可容五马并骑或数人并行。城墙顶面以方砖或条石循着墙体的起伏砌成一定坡度或阶梯形的路面,以便于行走。
城墙顶部外侧迎敌方向修筑有两米高的齿形垛口,是战斗人员瞭望敌情、射击敌人时掩护自己的工事。垛口下端起点约与人胸腹部平齐,垛口的宽度约1.5~1.6米,上部有一个外八字形的小瞭望洞,下部砌有向下倾斜的射孔。在城墙顶的内侧,筑有一道与垛口并行的矮墙,高约一米,叫宇墙,又叫女儿墙,它起着栏杆的作用。