Городские ворота — фортификационный элемент, получивший наибольшее распространение в период Средних веков.
Традиционно городские ворота строились, чтобы предоставить точку контролируемого входа и выхода людей, транспорта, товаров и животных из обнесенного стеной города. Помимо этого, такие ворота обладали и рядом других функций. В зависимости от ситуаций и исторического контекста, городские ворота могли иметь оборонительную, защитную, торговую или иные функции. Обычно ворота охранялись стражниками, часто их закрывали на ночь. Для входа при закрытых главных воротах служила расположенная сбоку от ворот калитка.
Вход был часто самым слабым звеном в защите стены. Чтобы преодолеть это, строились ворота, позволяя тем самым управлять потоками движения внутри замка. Перед воротами находилось слепое пятно, поэтому с каждой из сторон ворот добавлялись башни. Ворота обладали большим количеством защитных механизмов, чтобы сделать прямое нападение на них гораздо более сложной задачей. Обычно была ещё одна опускная решётка, сделанная из дерева и армированная металлом, а также бойницы для стрельбы из лука. Проход через ворота был удлинен, чтобы увеличить количество времени, которое противник должен был потратить под огнём, не имея возможности ответить, находясь в ограниченном пространстве. Вопреки распространённому мнению, что так называемые дыры-убийцы — отверстия в потолках и сводах воротных проездов — использовались для того, чтобы выливать на атакующих кипящее масло, такое их применение исторически не задокументировано. Цена на масло, а также расстояние от ворот до ближайшего источника огня означает, что это было маловероятно. Скорее всего, они использовались как машикули, для поражения ворвавшихся нападающих тяжёлыми предметами, а также для того, чтобы тушить водой возникающие очаги пожара. В XIII—XIV вв. получил распространение барбакан, обеспечивающий дополнительную оборону подступов к замку.