nicetool.dev logo

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

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

Ввод
Результат

Частые сущности

Нажмите на сущность, чтобы скопировать её.

Что такое HTML-сущности?

HTML-сущности - это коды для зарезервированных или специальных символов, например &lt; для < и &amp; для &. Кодирование пользовательского ввода перед выводом в HTML сохраняет разметку корректной и помогает защититься от межсайтового скриптинга (XSS).

Возможности

  • • Кодирование только зарезервированных или всех не-ASCII символов
  • • Именованный, десятичный и шестнадцатеричный форматы
  • • Декодирование всех именованных и числовых сущностей HTML5
  • • Быстрый справочник популярных сущностей

Локальная обработка

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

100% на клиенте.

Как пользоваться: HTML-сущности

  1. 1

    Выберите Encode, чтобы превратить спецсимволы в HTML-сущности, или Decode, чтобы вернуть сущности вроде &lt; или &#169; в обычные символы.

  2. 2

    Для кодирования выберите режим: Basic экранирует только & < > " и ', Named использует сущности вроде &eacute;, а Decimal и Hex превращают каждый не-ASCII символ в числовую ссылку.

  3. 3

    Вставьте текст или HTML. Результат обновляется сразу.

  4. 4

    Скопируйте результат или нажмите «Использовать результат как ввод», чтобы продолжить обработку. Клик по таблице справочника копирует популярную сущность.

Практические примеры

Показ кода на странице

Чтобы показать <div class="box"> текстом в блоге или документации, закодируйте его в &lt;div class=&quot;box&quot;&gt;, и браузер не примет это за разметку.

Безопасный пользовательский контент

Экранирование пользовательского текста перед вставкой в HTML защищает от сломанной вёрстки и XSS-атак. Режим Basic покрывает пять важных символов.

Исправление двойного кодирования

Видите &amp;amp; или &amp;quot; на странице или в RSS? Декодируйте один-два раза, чтобы найти, где текст экранировали лишний раз.

Системы только с ASCII

Некоторые шаблоны писем, старые CMS и XML-фиды принимают только ASCII. Режимы Decimal и Hex превращают кириллицу в ссылки вроде &#1103;, которые переживут любую кодировку.

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

Какие символы нужно экранировать в HTML?+

В текстовом содержимом - & и <. Внутри значений атрибутов также кавычку, в которую заключено значение (" или '). Экранировать заодно и > - распространённая и безвредная привычка.

Именованные или числовые сущности?+

Отображаются одинаково. Именованные вроде &copy; читаются легче, а числовые вроде &#169; работают для любого символа Unicode, даже без имени.

Достаточно ли экранирования HTML против XSS?+

Это правильная защита для текста между тегами и в атрибутах в кавычках. Текст внутри <script>, style, обработчиков событий или URL требует экранирования по контексту, и современные фреймворки делают это за вас.

Нужны ли сущности для кириллицы?+

Нет, если страница отдаётся в UTF-8, как принято сейчас. Сущности нужны только в системах, ограниченных ASCII.