Инструмент для разработчиков

HTML-сущности

Экранируйте символы разметки, чтобы они отображались как текст, или декодируйте их обратно.

HTML-сущности Работает на вашем устройстве
  • Работает в вашем браузере — текст никуда не отправляется
  • Без регистрации и квот, пользуйтесь бесплатно сколько угодно

Как это работает

Вставка недоверенного текста на веб-страницу без экранирования — так и возникает межсайтовый скриптинг. Кодирование превращает символы, которые браузер считает разметкой, в сущности, и они отображаются, а не выполняются.

Что кодируется

Пять важных символов: амперсанд, «меньше», «больше», двойная кавычка и апостроф. Амперсанд нужно кодировать первым, иначе всё, что идёт после него, будет закодировано дважды.

Декодирование

При декодировании именованные и числовые сущности превращаются обратно в символы с помощью парсера браузера, а не таблицы подстановки, поэтому полный набор обрабатывается правильно.

Что именно кодируется

Кодирование заменяет пять символов: & превращается в &amp;, < — в &lt;, > — в &gt;, " — в &quot;, а ' — в &#39;. Этого достаточно, чтобы безопасно показывать текст внутри HTML и внутри атрибутов в кавычках. Буквы с диакритикой и эмодзи остаются как есть, потому что страницы в UTF-8 отображают их напрямую.

Декодирование

Декодирование понимает все именованные сущности, определённые в HTML, например &eacute;, &mdash; и &nbsp;, а также числовые сущности в десятичном и шестнадцатеричном виде (&#233;, &#xE9;), потому что использует собственный HTML-парсер вашего браузера.

Частые вопросы

HTML-сущности: вопросы и ответы

Защитит ли это мой сайт от XSS?

Экранирование вывода — необходимая часть защиты, но безопасность зависит от экранирования в правильном контексте. Если у вас есть фреймворк, пользуйтесь его экранированием.

Какие символы кодируются?

Амперсанд, «меньше», «больше», двойная кавычка и апостроф — те, которые браузер иначе принял бы за разметку.

Мой текст загружается на сервер?

Нет. Кодирование выполняется на странице.