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
<
<
Less than sign
>
>
Greater than sign
&
&
Ampersand
"
"
Double quotation mark
'
'
Single quotation mark
©
©
Copyright symbol
®
®
Registered trademark
Как пользоваться Кодировщик/Декодировщик HTML-сущностей
- 1
Введите текст
Вставьте текст или фрагмент HTML, который нужно преобразовать, в поле ввода.
- 2
Выберите кодирование или декодирование
Нажмите «Кодировать», чтобы превратить специальные символы в HTML-сущности, или «Декодировать», чтобы превратить сущности обратно в символы.
- 3
Получите результат
Преобразованный вывод мгновенно появляется на панели результата.
- 4
Скопируйте вывод
Используйте «Копировать результат», чтобы получить закодированный или декодированный текст для вашего проекта.
Практическое руководство по HTML-сущностям
Что такое HTML-сущность
HTML-сущность, более строго называемая символьной ссылкой, — это короткий код, который заменяет собой один символ в HTML. Каждая сущность начинается с амперсанда (&) и заканчивается точкой с запятой (;). Сущности позволяют включать символы, которые браузер иначе ошибочно принял бы за разметку, символы, которые трудно набрать, или символы, отсутствующие на вашей клавиатуре, при этом сохраняя исходный файл в чистом ASCII.
Сущности важны по двум отдельным причинам. Во-первых, несколько символов зарезервированы самим HTML и должны быть экранированы, чтобы отображаться корректно. Во-вторых, огромный мир символов, букв с диакритикой, знаков валют, стрелок и эмодзи можно надёжно записать в виде ссылок независимо от текстовой кодировки файла. Этот инструмент кодирует символы в сущности и декодирует сущности обратно в символы, которые они представляют.
Именованные и числовые ссылки
Есть два способа записать сущность, и по тому, что они дают, они взаимозаменяемы. Именованная ссылка использует понятную человеку метку, например © для знака авторского права, & для амперсанда или для неразрывного пробела. HTML определяет фиксированный список этих имён, поэтому таким способом можно записать только символы, у которых есть назначенное имя.
Числовая ссылка использует вместо имени кодовую точку Unicode символа и может представить любой символ вообще. Десятичная форма — это амперсанд, решётка, кодовая точка в системе по основанию 10 и точка с запятой — например ©. Шестнадцатеричная форма добавляет x после решётки и задаёт кодовую точку в системе по основанию 16 — например ©. Все три записи — ©, © и © — отображают идентичный символ ©, потому что 169 в десятичной системе равно A9 в шестнадцатеричной и равно кодовой точке знака авторского права.
Пять символов, которые всегда нужно экранировать
Большинство символов кодировать необязательно, но небольшая группа фактически обязательна в исходном коде HTML. Амперсанд & (&) нужно экранировать, потому что он начинает каждую сущность; оставьте его сырым рядом со словом, и браузер может попытаться разобрать сущность, которой там нет. Знак «меньше» < (<) и знак «больше» > (>) нужно экранировать в тексте, потому что они ограничивают теги. Внутри значений атрибутов двойную кавычку " (") и апостроф ' (') нужно экранировать, чтобы они не закрыли атрибут раньше времени.
Всё остальное — для удобства. Вы можете написать é прямо в файле UTF-8, или как é, или как é — всё это допустимо. С зарезервированной пятёркой иначе: ошибка с ними даёт сломанную разметку или, при недоверенном вводе, дыру для межсайтового скриптинга, поэтому это те символы, которые ни в коем случае нельзя оставлять неэкранированными в неподходящем месте.
Разобранный пример: символы и диакритика
Предположим, вы хотите, чтобы в подвале было написано «© 2026 Café Ünïcode — 100% safe». Несколько из этих символов не являются простым ASCII. Знак авторского права можно записать как © или ©. é в Café — это é или é, а Ü — это Ü или Ü. Длинное тире — — это — или —, а неразрывный пробел, удерживающий «100%» вместе, — это .
Кодирование всей строки даёт что-то вроде © 2026 Café Ünïcode — 100% safe, что гарантированно отобразится одинаково независимо от того, как настроена кодировка символов страницы. Декодирование этого здесь обращает процесс и возвращает вам читаемую строку с настоящими символами на своих местах.
Выбор между именованной и числовой записью
Именованные сущности выигрывают по читаемости. © и — точно говорят будущему читателю, что это за символ, благодаря чему исходник легче поддерживать, чем стену числовых кодов. Компромисс — это охват: записать по имени можно только символы с назначенным именем, и список, хоть и большой, включает не всё.
Числовые ссылки выигрывают по универсальности и точности. Поскольку они напрямую адресуют кодовую точку Unicode, они могут закодировать любой существующий символ, включая те, у которых нет имени, и включая эмодзи. Они также однозначны, что удобно, когда нужно быть уверенным насчёт малоизвестного символа. Распространённая практика — использовать именованные сущности для привычной горстки (©, &, , —) и числовые ссылки для всего экзотического.
Эмодзи и символы за пределами базового диапазона
Эмодзи и многие символы живут высоко в диапазоне Unicode, выше значений, которые может вместить одна кодовая единица старого образца, но числовые ссылки справляются с ними без труда, потому что они просто называют кодовую точку. У эмодзи «улыбающееся лицо» кодовая точка U+1F600, поэтому его можно записать как десятичную ссылку 😀 или шестнадцатеричную ссылку 😀, и обе дают один и тот же глиф.
На практике сохранить файл как UTF-8 и вставить эмодзи напрямую обычно проще и столь же правильно. Числовые ссылки становятся ценными, когда конвейеру нельзя доверить сохранение сырых байтов, — шаблон письма, система, сводящая всё к ASCII, или ситуация, где вы хотите однозначно зафиксировать точную кодовую точку. В любом случае появляющийся символ полностью определяется своей кодовой точкой.
Декодирование искажённого текста с сущностями
Очень распространённая задача из реальной жизни — приведение в порядок текста, который приходит полным видимых кодов сущностей. Вы копируете абзац с веб-страницы или из выгрузки базы данных и вместо обычной пунктуации видите разбросанные по нему &, ', " и ’. Это значит, что текст был HTML-закодирован где-то выше по конвейеру и так и не декодирован для отображения. Вставка его сюда в режиме декодирования превращает эти ссылки обратно в настоящие символы &, ', " и фигурный апостроф.
Остерегайтесь двойного кодирования — ситуации, когда текст экранировали дважды и вы видите последовательности вроде &amp; или &#39;. Здесь буквальные символы &amp; должны стать &, а затем &, поэтому исправление — декодировать более одного раза, пока сущностей не останется. Если после одного прохода декодирования в выводе всё ещё остаётся &, прогоните результат через декодирование снова, чтобы снять второй слой.
Распространённые подводные камни
Самая частая ошибка — пропущенная точка с запятой. Сущность действительна только тогда, когда она завершена, поэтому © без точки с запятой может не отобразиться как знак авторского права. Связанная ошибка — кодировать амперсанд последним, а не первым при ручном экранировании, что превращает другие ваши сущности в буквальный текст вроде &lt;.
Помните также, что сущности — это понятие HTML, а не граница безопасности сама по себе. Кодирование недоверенного ввода в сущности — часть предотвращения сломанной разметки и XSS, но это нужно делать в правильном контексте и на этапе вывода, а не полагаться на это как на панацею. Наконец, не кодируйте символы, которым это не нужно, внутри обычного содержимого — избыточное кодирование делает исходник менее читаемым и не даёт никакой выгоды, когда файл и так в UTF-8.
Часто задаваемые вопросы
Что такое HTML-сущности и зачем их использовать?
Какие символы преобразует кодировщик?
Можно ли преобразовать сущности обратно в обычные символы?
Полезно ли это для предотвращения сломанного HTML или XSS?
Отправляется ли мой текст на сервер?
Похожие инструменты
Продолжайте работу с этими удобными инструментами