URL кодирование и декодирование онлайн (percent-encoding)

Кодируйте и декодируйте URL, разбирайте query string на параметры. Поддержка encodeURIComponent и encodeURI, UTF-8 и кириллицы. Всё в браузере, без отправки на сервер.

Инструмент
Введите ссылку или текст и переключайте кодирование и декодирование. Ниже инструмент разберёт URL на части и query string на параметры. Кодирование UTF-8, всё в браузере.

Режим

Тип кодирования

Введите текст для кодирования

0 символов

📐 encodeURIComponent vs encodeURI:

encodeURIComponent — для отдельных частей URL (параметры, значения query string). Кодирует :/?#[]@!$&'()*+,;= и пробелы. Используйте для значений в ?key=value.

encodeURI — для целых URL. Сохраняет специальные символы URL, но кодирует пробелы и кириллицу. Используйте для URL целиком: https://example.com/путь?ключ=значение

💡 Зачем кодировать URL:

— RFC 3986 разрешает в URL только ASCII-символы и не все из них

— Кириллица, эмодзи, пробелы, спецсимволы должны кодироваться

— Защита от ошибок интерпретации параметров

— Корректная передача данных в API

💡 Примеры кодирования:

пробел → %20

а → %D0%B0 (UTF-8)

! → %21

& → %26

Описание

Как пользоваться URL-кодировщиком

  1. Выберите режим — кодирование или декодирование.
  2. Введите ссылку или текст в поле.
  3. Получите результат сразу, а ниже — разбор URL на части и query string на параметры.
  4. Скопируйте или скачайте. «Пример» подставит образец, «Очистить» — сбросит.

Что такое URL-кодирование

URL-кодирование (percent-encoding) — это замена символов, которые нельзя напрямую использовать в адресе, на код вида %XX, где XX — шестнадцатеричный номер байта. Например, пробел становится %20, а кириллическая «м» — %D0%BC. Так в ссылку можно безопасно поместить пробелы, кириллицу и спецсимволы, не сломав её структуру.

Зачем это нужно

  • Параметры ссылок. Значения в query string (после ?) часто содержат пробелы и спецсимволы, которые нужно закодировать.
  • Кириллица в адресах. Русский текст в ссылке должен быть закодирован, иначе часть сервисов обработает её неверно.
  • Передача данных. Безопасная вставка значений в URL без конфликта со служебными символами ? & = /.
  • Отладка. Декодирование, чтобы прочитать, что «зашито» в длинной ссылке.

encodeURIComponent и encodeURI — в чём разница

  • encodeURIComponent — для отдельных частей URL (значения параметров). Кодирует и служебные символы ? & = /, потому что внутри значения они не должны восприниматься как разделители.
  • encodeURI — для целого адреса. Не трогает служебные символы, чтобы структура ссылки осталась рабочей.

Простое правило: кодируете значение параметра — берите encodeURIComponent; кодируете ссылку целиком — encodeURI.

Разбор URL и query string

Инструмент раскладывает адрес на составные части (протокол, домен, путь, параметры, якорь) и отдельно показывает все пары query string. Это удобно, когда нужно быстро понять, какие параметры передаёт длинная ссылка, или собрать её заново.

Частые ошибки

  • Двойное кодирование. Если закодировать уже закодированную строку, %20 превратится в %2520. Проверяйте исходные данные.
  • Не тот метод. encodeURI не закодирует & внутри значения — параметр «разорвётся».
  • Кодирование всего адреса как компонента. Тогда сломаются :// и /.

UTF-8 и кириллица

Нелатинские символы сначала переводятся в байты UTF-8, а затем каждый байт записывается как %XX. Поэтому одна кириллическая буква обычно превращается в два таких кода. Инструмент кодирует и декодирует кириллицу и эмодзи корректно.

Связь с другими инструментами

URL-кодирование экранирует символы адреса, тогда как Base64 перекодирует сами данные, а JSON-форматтер работает со структурой данных. Если вы готовите рекламные ссылки с метками, удобнее сразу собрать их в генераторе UTM-меток — он сам корректно кодирует значения параметров.

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

  • Что выбрать — encodeURIComponent или encodeURI? Для значения параметра — первый, для целой ссылки — второй.
  • Почему пробел становится %20, а иногда +? В пути используется %20; в данных формы пробел может кодироваться как +.
  • Можно ли декодировать чужую ссылку? Да, вставьте её в режиме декодирования, чтобы прочитать параметры.
  • Поддерживается ли кириллица? Да, через UTF-8.
  • Данные уходят на сервер? Нет, всё обрабатывается в браузере.