Кодировщик и декодировщик HTML-сущностей
Экранируйте текст, чтобы его можно было безопасно вставить в HTML, или превратите сущности вроде & и € обратно в читаемые символы.
Работает в браузереБез регистрацииНичего не загружается
Как пользоваться: Кодировщик HTML-сущностей
- Выберите Кодировать, чтобы экранировать текст, или Декодировать, чтобы превратить сущности обратно в символы.
- При кодировании выберите, что экранировать: только спецсимволы HTML, также все не-ASCII символы или всё, кроме букв и цифр.
- Выберите именованные сущности (
é), десятичные (é) или шестнадцатеричные (é). - Скопируйте результат. При декодировании неизвестные сущности перечисляются, чтобы вы заметили опечатки.
Зачем экранировать HTML?
Пять символов имеют в HTML особый смысл: & начинает сущность, < и > ограничивают теги, а " и ' закрывают значения атрибутов. Если пользовательский текст с ними вставить в страницу без экранирования, он может сломать вёрстку или, хуже того, внедрить скрипты (межсайтовый скриптинг, XSS). Экранирование превращает их в &, <, >, " и ', которые браузер показывает как текст.
Именованные, десятичные и шестнадцатеричные сущности
Любой символ Unicode можно записать числовой ссылкой: десятичной € или шестнадцатеричной € для €. У многих распространённых символов есть и читаемое имя, например €, © или . Числовые ссылки работают везде, включая XML, где определено всего пять именованных сущностей. Именованные сущности легче читать в исходном коде.
Нужно ли кодировать не-ASCII символы?
Нет, если страница отдаётся в UTF-8, как почти все современные сайты (<meta charset="utf-8">). Символы вроде é, ü или 日本 можно писать напрямую. Кодировать их полезно для устаревших систем, шаблонов писем или когда какой-то этап обработки портит не-ASCII текст.
Экранирование зависит от контекста
Экранирование HTML-сущностями защищает текст внутри элементов и атрибутов в кавычках. Его недостаточно для значений внутри блоков <script>, встроенных обработчиков событий, CSS или URL — у каждого из них своё кодирование. Предпочитайте автоэкранирование вашего фреймворка (React, Vue, Jinja, Blade) ручной сборке строк.
Часто задаваемые вопросы
Какие символы обязательно экранировать в HTML?
& и <. В значениях атрибутов экранируйте также использованную кавычку. Экранировать все пять (& < > " ') — безопасный вариант по умолчанию.Что такое &nbsp;?
Почему &copy2024 декодируется в ©2024?
©, & и <, даже без завершающей точки с запятой. Этот декодер следует тому же правилу. В своём HTML всегда ставьте точку с запятой.Апостроф — это &apos; или &#39;?
' допустим в HTML5 и XML, но не в HTML 4, поэтому числовые ' или ' — самый совместимый вариант, и именно его выдаёт этот кодировщик.