Шифрование HTML-кода

Превратите HTML в JavaScript-строку, которая выводит тот же код, но не читается при просмотре исходника.

HTML-код
Зашифрованный код

Всё считается в вашем браузере: введённые данные никуда не отправляются.

Как это работает

Каждый символ HTML-кода записывается в процентной кодировке, а результат оборачивается в скрипт: document.write(unescape('%3C%64%69%76…')). При загрузке страницы браузер раскодирует строку и выведет исходный HTML. В исходном коде страницы виден только набор процентов.

Для чего это подходит

  • скрыть email-адрес или телефон от простых ботов-сборщиков, которые читают HTML без выполнения скриптов;
  • не дать скопировать вёрстку небольшого блока «в два клика»;
  • вставить HTML туда, где редактор вырезает теги, но разрешает скрипты.

Ограничения — прочитайте до использования

Это обфускация, а не настоящее шифрование. Любой, кто откроет инструменты разработчика, увидит итоговый HTML: браузер его уже раскодировал. Не используйте приём для защиты паролей, ключей или коммерческой тайны.

У способа есть и цена:

  • SEO. Поисковые роботы выполняют JavaScript не всегда и не сразу. Текст, выведенный через document.write, может не попасть в индекс — не шифруйте контент, который должен находиться в поиске.
  • Скорость. document.write блокирует отрисовку страницы, а Chrome на медленных соединениях может вовсе запретить его для внешних скриптов.
  • Политика безопасности. На сайтах со строгим заголовком Content-Security-Policy встроенные скрипты не выполнятся.

Частые вопросы

Можно ли расшифровать код обратно?

Да, это делается за секунду: достаточно выполнить unescape над строкой или открыть страницу в инструментах разработчика. Поэтому способ не защищает секреты.

Повлияет ли это на индексацию?

Может повлиять отрицательно: часть роботов не выполняет JavaScript. Важный для SEO текст оставляйте обычным HTML.

Поддерживается ли кириллица?

Да, русские символы кодируются в формате %uXXXX и выводятся без искажений.

Другие инструменты

Все инструменты для разработчиков