Кодировщик HTML-сущностей
Экранируйте текст для HTML: символы & < > " ' в сущности, при желании — все не-ASCII как именованные, десятичные или hex-сущности. Защищает разметку, работает локально.
Символов: 44 · байт: 49 (UTF-8)
Символов: 0 · байт: 0 (UTF-8)
Работает полностью в вашем браузере. Ваши данные никуда не загружаются.
Что такое HTML-кодирование?
Экранирует текст так, чтобы его можно было вставить в HTML и он не воспринимался как разметка. По умолчанию кодируются пять значимых символов & < > " '; дополнительно можно заменить сущностями все не-ASCII символы, используя имена из HTML 4, например é, или числовые ссылки.
Как пользоваться HTML-кодирование
- Введите или вставьте текст или HTML в поле Ввод.
- Выберите Какие символы кодировать: только
& < > " 'или ещё и все не-ASCII символы. - Выберите Формат сущностей: именованные, десятичные или шестнадцатеричные.
- Скопируйте экранированный текст из поля Вывод.
Пример
<a href="x">Tom & Jerry's</a>
<a href="x">Tom & Jerry's</a>
Когда использовать HTML-кодирование
Используйте, когда вставляете в HTML, XML-подобные шаблоны или документацию с примерами кода текст, введённый пользователем или буквальный. Кодировать все не-ASCII символы нужно только для систем, которые не умеют хранить UTF-8. Учтите, что экранирования для HTML-текста недостаточно внутри <script>, style и атрибутов с URL: там нужно экранирование, зависящее от контекста.
Как работает HTML-кодирование
Текст обрабатывается по кодовым точкам. Символы &, <, >, " и ' заменяются всегда (' превращается в ', что работает и в HTML 4, и в HTML 5). В режиме не-ASCII каждый символ выше U+007E заменяется именем сущности из HTML 4, если оно существует, иначе числовой ссылкой; эмодзи становятся одной ссылкой вида 😀, а не двумя суррогатными половинами.
Распространенные Случаи Использования
- Показ примеров HTML-кода на веб-странице
- Экранирование пользовательского ввода перед вставкой в разметку
- Безопасная запись текста в атрибуты HTML
- Получение HTML только из ASCII для старых почтовых шаблонов
Примечание по Безопасности
Экранирование зависит от контекста: результат этого инструмента безопасен в содержимом HTML-элементов и атрибутах в кавычках, но не внутри блоков <script> и не в атрибутах без кавычек.
Часто Задаваемые Вопросы
Почему ', а не '?
' не определена в HTML 4, поэтому некоторые старые парсеры её не распознают. ' работает везде.
Нужно ли кодировать é или эмодзи?
Нет, если страница отдаётся в UTF-8, как сегодня принято. Параметр для не-ASCII нужен только для систем, работающих лишь с ASCII.
Защищает ли это от XSS?
Это корректное экранирование для текста HTML и значений атрибутов в кавычках. Для других контекстов (JavaScript, CSS, URL) нужно своё экранирование, а надёжнее всего использовать фреймворк с автоматическим экранированием.