Кодировщик HTML-сущностей

Экранируйте текст для HTML: символы & < > " ' в сущности, при желании — все не-ASCII как именованные, десятичные или hex-сущности. Защищает разметку, работает локально.

Символов: 44 · байт: 49 (UTF-8)

Символов: 0 · байт: 0 (UTF-8)

Работает полностью в вашем браузере. Ваши данные никуда не загружаются.

Что такое HTML-кодирование?

Экранирует текст так, чтобы его можно было вставить в HTML и он не воспринимался как разметка. По умолчанию кодируются пять значимых символов & < > " '; дополнительно можно заменить сущностями все не-ASCII символы, используя имена из HTML 4, например &eacute;, или числовые ссылки.

Как пользоваться HTML-кодирование

  1. Введите или вставьте текст или HTML в поле Ввод.
  2. Выберите Какие символы кодировать: только & < > " ' или ещё и все не-ASCII символы.
  3. Выберите Формат сущностей: именованные, десятичные или шестнадцатеричные.
  4. Скопируйте экранированный текст из поля Вывод.

Пример

Ввод
<a href="x">Tom & Jerry's</a>
Вывод
&lt;a href=&quot;x&quot;&gt;Tom &amp; Jerry&#39;s&lt;/a&gt;

Когда использовать HTML-кодирование

Используйте, когда вставляете в HTML, XML-подобные шаблоны или документацию с примерами кода текст, введённый пользователем или буквальный. Кодировать все не-ASCII символы нужно только для систем, которые не умеют хранить UTF-8. Учтите, что экранирования для HTML-текста недостаточно внутри <script>, style и атрибутов с URL: там нужно экранирование, зависящее от контекста.

Как работает HTML-кодирование

Текст обрабатывается по кодовым точкам. Символы &, <, >, " и ' заменяются всегда (' превращается в &#39;, что работает и в HTML 4, и в HTML 5). В режиме не-ASCII каждый символ выше U+007E заменяется именем сущности из HTML 4, если оно существует, иначе числовой ссылкой; эмодзи становятся одной ссылкой вида &#128512;, а не двумя суррогатными половинами.

Распространенные Случаи Использования

  • Показ примеров HTML-кода на веб-странице
  • Экранирование пользовательского ввода перед вставкой в разметку
  • Безопасная запись текста в атрибуты HTML
  • Получение HTML только из ASCII для старых почтовых шаблонов

Примечание по Безопасности

Экранирование зависит от контекста: результат этого инструмента безопасен в содержимом HTML-элементов и атрибутах в кавычках, но не внутри блоков <script> и не в атрибутах без кавычек.

Часто Задаваемые Вопросы

Почему &#39;, а не &apos;?

&apos; не определена в HTML 4, поэтому некоторые старые парсеры её не распознают. &#39; работает везде.

Нужно ли кодировать é или эмодзи?

Нет, если страница отдаётся в UTF-8, как сегодня принято. Параметр для не-ASCII нужен только для систем, работающих лишь с ASCII.

Защищает ли это от XSS?

Это корректное экранирование для текста HTML и значений атрибутов в кавычках. Для других контекстов (JavaScript, CSS, URL) нужно своё экранирование, а надёжнее всего использовать фреймворк с автоматическим экранированием.

Другие категории