HTML-сущности: кодирование и декодирование
Экранирование спецсимволов HTML в именованные, десятичные или шестнадцатеричные сущности и декодирование обратно. Корректно работает с эмодзи. В браузере.
Введённые данные и файлы остаются в браузере
Введите HTML или текст для экранирования либо вставьте сущности вроде <, чтобы декодировать их.
Здесь появится экранированный или декодированный текст.
На этой странице
Экранируйте амперсанды, угловые скобки, кавычки и не-ASCII символы в HTML-сущности или превращайте сущности обратно в обычный текст. Инструмент написан на обычном JavaScript и работает в браузере, поэтому вставленная разметка никуда не отправляется.
Подробное описание функциональности
Три режима кодирования покрывают типичные задачи. Режим специальных символов (по умолчанию) экранирует пять символов, важных для разметки и атрибутов HTML: &, <, >, " и '. Режим не-ASCII не трогает разметку и преобразует буквы с диакритикой, символы и эмодзи — это нужно, когда шаблон или письмо должны оставаться в чистом ASCII. Режим всех символов делает и то и другое.
Сущности записываются как именованные (&, ©), десятичные (©) или шестнадцатеричные (©) ссылки. Имена в инструменте есть только примерно у 30 распространённых символов — ©, —, €, и подобных; остальные символы даже в именованном формате записываются шестнадцатеричной ссылкой. Эмодзи и другие символы за пределами базовой многоязыковой плоскости становятся одной ссылкой, например 😀.
Декодирование понимает те же именованные сущности, а также десятичные и шестнадцатеричные ссылки (©, ©, ©) и выполняется за один проход, поэтому &lt; корректно превращается в <, а не в <. Неизвестные имена вроде ♥ и ссылки без завершающей точки с запятой остаются как есть.
Практические примеры
Экранирование разметки: <a href="x">Tom & Jerry</a> с настройками по умолчанию превращается в <a href="x">Tom & Jerry</a>.
Только не-ASCII: © 2026 — café <b> становится © 2026 — café <b>: тег остаётся как был, а é, у которого нет имени в списке, записывается в hex.
Эмодзи: в режиме всех символов 😀 © превращается в 😀 © в десятичном формате и в 😀 © в шестнадцатеричном.
Декодирование: <p> © 😀 € декодируется в <p> © 😀 €, а &lt; — в <.
Как использовать этот инструмент
Вставьте текст
Введите или вставьте обычный текст или HTML в поле Текст для кодирования/декодирования.
Выберите режим и формат
В Режим кодирования выберите
Только специальные символы (& < > " '),Только не-ASCII символыилиВсе символы (специальные + не-ASCII). В Формат сущностей —Именованный (&),Десятичный (&)илиШестнадцатеричный (&). Эти настройки влияют только на кодирование.Закодируйте или декодируйте
Нажмите Закодировать в HTML, чтобы экранировать текст, или Декодировать из HTML, чтобы превратить сущности обратно в символы.
Скопируйте результат
Копировать помещает результат в буфер обмена. Поменять местами возвращает его во ввод — например, чтобы декодировать второй слой.
Советы и лучшие практики
- Для текста внутри HTML-элементов или атрибутов в кавычках достаточно экранировать пять спецсимволов; не-ASCII текст не нужно превращать в сущности, если страница отдаётся в UTF-8.
- Экранирование — не полная защита от XSS: значения в
href, внутри<script>или в CSS требуют обработки под свой контекст, например проверки URL или JSON-кодирования. - Апостроф кодируется как
'(или'в десятичном формате), а не', которой не было в HTML 4. - Декодирование выполняется за один проход: дважды экранированный текст вроде
&amp;сначала даёт&; нажмите Поменять местами и декодируйте снова. - Декодируются только именованные сущности из встроенного списка; числовые ссылки работают для любого символа Unicode.