在城墙顶外侧的迎敌方向,修筑有两米高的垛口,是战斗人员瞭望敌情、射击敌人时掩护自己用的。从墙上地坪开始砌至人体胸部高度时,再开始砌筑垛口。一般砌筑成凹凸的形状。垛口上部砌有一个小方洞即瞭望洞。瞭望洞的左右侧面砖呈内外八字形,这是为了便于瞭望敌人,又不易被敌箭射中。下部砌有一个小方洞,是张弓发箭的射孔。射孔底面向下倾,便于向城下射击敌人。
西安城墙上的垛墙,两垛之间相距0.46米的缺口,即为垛口,是为
瞭望和
射击而设,为城墙的防御工程设施。西安城墙之垛口数量,全城有城垛5984处(另一说有5858处),数量接近六千。据嘉庆年间的《咸宁县志》与《长安县志》载,经乾隆四十六年(1781年)
陕西巡抚毕沅重修过的西安城墙,修葺“垛口五千七百”,时则有垛口5858个,较明代减少126个。
西安城墙在城墙转角处,上面的城垛不设口,也随转角筑为曲尺之形,我们可以称之为“转角垛”,将一般城垛称为“直垛”。如西安城墙马面与
瓮城,伸出城外,其边缘之垛墙,亦随之曲折。其直墙部分,按一般垛口设置为直垛;其外角与内角处,均建为“转角垛”。如城南一马面,正面七个直垛两个转角垛,七个矛孔;侧面两个直垛,两个转角垛,四个矛孔。两马面间墙上,有直垛三十九处,矛孔三十九孔,转角垛两处。即一处马面与马面间墙,全套共五十四垛。新中国成立后,
西安市人民政府对西安城墙的垛口进行了全面修复。