Кодувальник і декодер 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, тому числові ' або ' — найсумісніший варіант, і саме його видає цей кодувальник.