T

Text Machine

Мощные текстовые инструменты прямо в браузере

HTML Entity Encoder/Decoder

This tool allows you to convert text with special characters to HTML entities and vice versa. HTML entities help display special characters correctly on web pages.

Mode

Text to Encode
Characters like <, >, &, " and ' will be converted to HTML entities
Encoded HTML
Common HTML Entities

<

&lt;

Less than sign

>

&gt;

Greater than sign

&

&amp;

Ampersand

"

&quot;

Double quotation mark

'

&#39;

Single quotation mark

©

&copy;

Copyright symbol

®

&reg;

Registered trademark

Как пользоваться Кодировщик/Декодировщик HTML-сущностей

  1. 1

    Введите текст

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

  2. 2

    Выберите кодирование или декодирование

    Нажмите «Кодировать», чтобы превратить специальные символы в HTML-сущности, или «Декодировать», чтобы превратить сущности обратно в символы.

  3. 3

    Получите результат

    Преобразованный вывод мгновенно появляется на панели результата.

  4. 4

    Скопируйте вывод

    Используйте «Копировать результат», чтобы получить закодированный или декодированный текст для вашего проекта.

Практическое руководство по HTML-сущностям

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

HTML-сущность, более строго называемая символьной ссылкой, — это короткий код, который заменяет собой один символ в HTML. Каждая сущность начинается с амперсанда (&) и заканчивается точкой с запятой (;). Сущности позволяют включать символы, которые браузер иначе ошибочно принял бы за разметку, символы, которые трудно набрать, или символы, отсутствующие на вашей клавиатуре, при этом сохраняя исходный файл в чистом ASCII.

Сущности важны по двум отдельным причинам. Во-первых, несколько символов зарезервированы самим HTML и должны быть экранированы, чтобы отображаться корректно. Во-вторых, огромный мир символов, букв с диакритикой, знаков валют, стрелок и эмодзи можно надёжно записать в виде ссылок независимо от текстовой кодировки файла. Этот инструмент кодирует символы в сущности и декодирует сущности обратно в символы, которые они представляют.

Именованные и числовые ссылки

Есть два способа записать сущность, и по тому, что они дают, они взаимозаменяемы. Именованная ссылка использует понятную человеку метку, например &copy; для знака авторского права, &amp; для амперсанда или &nbsp; для неразрывного пробела. HTML определяет фиксированный список этих имён, поэтому таким способом можно записать только символы, у которых есть назначенное имя.

Числовая ссылка использует вместо имени кодовую точку Unicode символа и может представить любой символ вообще. Десятичная форма — это амперсанд, решётка, кодовая точка в системе по основанию 10 и точка с запятой — например &#169;. Шестнадцатеричная форма добавляет x после решётки и задаёт кодовую точку в системе по основанию 16 — например &#xA9;. Все три записи — &copy;, &#169; и &#xA9; — отображают идентичный символ ©, потому что 169 в десятичной системе равно A9 в шестнадцатеричной и равно кодовой точке знака авторского права.

Пять символов, которые всегда нужно экранировать

Большинство символов кодировать необязательно, но небольшая группа фактически обязательна в исходном коде HTML. Амперсанд & (&amp;) нужно экранировать, потому что он начинает каждую сущность; оставьте его сырым рядом со словом, и браузер может попытаться разобрать сущность, которой там нет. Знак «меньше» < (&lt;) и знак «больше» > (&gt;) нужно экранировать в тексте, потому что они ограничивают теги. Внутри значений атрибутов двойную кавычку " (&quot;) и апостроф ' (&#39;) нужно экранировать, чтобы они не закрыли атрибут раньше времени.

Всё остальное — для удобства. Вы можете написать é прямо в файле UTF-8, или как &eacute;, или как &#233; — всё это допустимо. С зарезервированной пятёркой иначе: ошибка с ними даёт сломанную разметку или, при недоверенном вводе, дыру для межсайтового скриптинга, поэтому это те символы, которые ни в коем случае нельзя оставлять неэкранированными в неподходящем месте.

Разобранный пример: символы и диакритика

Предположим, вы хотите, чтобы в подвале было написано «© 2026 Café Ünïcode — 100% safe». Несколько из этих символов не являются простым ASCII. Знак авторского права можно записать как &copy; или &#169;. é в Café — это &eacute; или &#233;, а Ü — это &Uuml; или &#220;. Длинное тире — — это &mdash; или &#8212;, а неразрывный пробел, удерживающий «100%» вместе, — это &nbsp;.

Кодирование всей строки даёт что-то вроде &copy; 2026 Caf&eacute; &Uuml;n&iuml;code &mdash; 100% safe, что гарантированно отобразится одинаково независимо от того, как настроена кодировка символов страницы. Декодирование этого здесь обращает процесс и возвращает вам читаемую строку с настоящими символами на своих местах.

Выбор между именованной и числовой записью

Именованные сущности выигрывают по читаемости. &copy; и &mdash; точно говорят будущему читателю, что это за символ, благодаря чему исходник легче поддерживать, чем стену числовых кодов. Компромисс — это охват: записать по имени можно только символы с назначенным именем, и список, хоть и большой, включает не всё.

Числовые ссылки выигрывают по универсальности и точности. Поскольку они напрямую адресуют кодовую точку Unicode, они могут закодировать любой существующий символ, включая те, у которых нет имени, и включая эмодзи. Они также однозначны, что удобно, когда нужно быть уверенным насчёт малоизвестного символа. Распространённая практика — использовать именованные сущности для привычной горстки (&copy;, &amp;, &nbsp;, &mdash;) и числовые ссылки для всего экзотического.

Эмодзи и символы за пределами базового диапазона

Эмодзи и многие символы живут высоко в диапазоне Unicode, выше значений, которые может вместить одна кодовая единица старого образца, но числовые ссылки справляются с ними без труда, потому что они просто называют кодовую точку. У эмодзи «улыбающееся лицо» кодовая точка U+1F600, поэтому его можно записать как десятичную ссылку &#128512; или шестнадцатеричную ссылку &#x1F600;, и обе дают один и тот же глиф.

На практике сохранить файл как UTF-8 и вставить эмодзи напрямую обычно проще и столь же правильно. Числовые ссылки становятся ценными, когда конвейеру нельзя доверить сохранение сырых байтов, — шаблон письма, система, сводящая всё к ASCII, или ситуация, где вы хотите однозначно зафиксировать точную кодовую точку. В любом случае появляющийся символ полностью определяется своей кодовой точкой.

Декодирование искажённого текста с сущностями

Очень распространённая задача из реальной жизни — приведение в порядок текста, который приходит полным видимых кодов сущностей. Вы копируете абзац с веб-страницы или из выгрузки базы данных и вместо обычной пунктуации видите разбросанные по нему &amp;, &#39;, &quot; и &#8217;. Это значит, что текст был HTML-закодирован где-то выше по конвейеру и так и не декодирован для отображения. Вставка его сюда в режиме декодирования превращает эти ссылки обратно в настоящие символы &, ', " и фигурный апостроф.

Остерегайтесь двойного кодирования — ситуации, когда текст экранировали дважды и вы видите последовательности вроде &amp;amp; или &amp;#39;. Здесь буквальные символы &amp;amp; должны стать &amp;, а затем &, поэтому исправление — декодировать более одного раза, пока сущностей не останется. Если после одного прохода декодирования в выводе всё ещё остаётся &amp;, прогоните результат через декодирование снова, чтобы снять второй слой.

Распространённые подводные камни

Самая частая ошибка — пропущенная точка с запятой. Сущность действительна только тогда, когда она завершена, поэтому &copy без точки с запятой может не отобразиться как знак авторского права. Связанная ошибка — кодировать амперсанд последним, а не первым при ручном экранировании, что превращает другие ваши сущности в буквальный текст вроде &amp;lt;.

Помните также, что сущности — это понятие HTML, а не граница безопасности сама по себе. Кодирование недоверенного ввода в сущности — часть предотвращения сломанной разметки и XSS, но это нужно делать в правильном контексте и на этапе вывода, а не полагаться на это как на панацею. Наконец, не кодируйте символы, которым это не нужно, внутри обычного содержимого — избыточное кодирование делает исходник менее читаемым и не даёт никакой выгоды, когда файл и так в UTF-8.

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

Что такое HTML-сущности и зачем их использовать?
HTML-сущности — это коды, представляющие зарезервированные символы в HTML, например &lt; для < и &gt; для >. Их использование позволяет отображать эти символы как текст, а не давать браузеру интерпретировать их как разметку.
Какие символы преобразует кодировщик?
Он преобразует зарезервированные в HTML и специальные символы, такие как знак меньше (<), знак больше (>) и амперсанд (&), в их именованные эквиваленты-сущности, чтобы они безопасно отображались на странице.
Можно ли преобразовать сущности обратно в обычные символы?
Да. Переключитесь в режим декодирования и вставьте текст, содержащий сущности вроде &amp; или &lt;, и инструмент вернёт исходные читаемые символы.
Полезно ли это для предотвращения сломанного HTML или XSS?
Кодирование текста, предоставленного пользователем, в сущности помогает предотвратить нарушение структуры HTML специальными символами и является распространённым шагом при безопасном отображении недоверенного содержимого на странице.
Отправляется ли мой текст на сервер?
Нет. Кодирование и декодирование полностью происходят в вашем браузере, поэтому текст остаётся на вашем устройстве, а инструмент бесплатен в использовании без регистрации.

Похожие инструменты

Продолжайте работу с этими удобными инструментами

Генератор Мета-Тегов

Генератор Robots.txt

Open Graph Previewer

Просмотр HTTP-заголовков

Проверка цепочек перенаправлений URL

Извлечение URL из Sitemap