Перейти к содержимому

Кодирование и декодирование URL

Кодируйте и декодируйте URL, значения параметров и данные форм в процентной кодировке с поддержкой UTF-8; каждый параметр запроса расшифровывается отдельно. Всё работает в браузере.

Что вы кодируете?

encodeURIComponent: экранирует всё, кроме букв, цифр и - _ . ! ~ * ' ( ). Подходит для значения одного параметра.

Закодировано в процентах
Результат появится здесь по мере ввода.
Работает в браузере · без загрузки на серверКак это работает

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

  1. 1

    Выберите «Кодировать» или «Декодировать»

    «Кодировать» превращает пробелы и спецсимволы в %XX, «Декодировать» возвращает %XX в читаемый текст.

  2. 2

    Выберите, что кодируете

    Значение запроса — для одного параметра, «Весь URL» — для полного адреса, данные формы — если пробелы должны стать знаком +.

  3. 3

    Вставьте текст или ссылку

    Результат обновляется по мере ввода, а для полного URL показывается разбор его частей и параметров.

  4. 4

    Скопируйте результат

    Скопируйте его, сохраните в файл или нажмите «Результат во входные данные», чтобы проверить обратное преобразование.

Лимиты и Pro

Бесплатно, без регистрации и без ограничения длины вставляемого текста; результат длиннее 600 000 символов показывается частично, а копируется и сохраняется целиком.

Pro убирает рекламу; конвертер одинаков на всех тарифах. Смотреть Pro

О инструменте «URL-кодировщик и декодер»

В URL можно использовать лишь ограниченный набор ASCII-символов, поэтому всё остальное — пробелы, буквы с диакритикой, эмодзи и служебные символы, которые нужны как данные, — записывается как % и две шестнадцатеричные цифры для каждого байта UTF-8. Эта страница конвертирует в обе стороны и наглядно показывает, что изменилось.

Три режима соответствуют трём местам, где кодирование применяется на практике. Режим значения запроса работает как encodeURIComponent в JavaScript и подходит для одного параметра, сегмента пути или адреса перенаправления внутри другого URL. Режим «Весь URL» работает как encodeURI: схему, косые черты, вопросительный знак, амперсанды и знаки равенства он не трогает и экранирует только то, что нарушило бы адрес. Режим данных формы следует стандарту application/x-www-form-urlencoded, где пробел превращается в плюс, как в HTML-формах и URLSearchParams.

Вставьте полную ссылку, и в панели разбора появятся схема, хост, порт, путь и фрагмент, а также таблица всех параметров запроса с их декодированными значениями — удобно для чтения ссылок с метками, OAuth-колбэков и подписанных URL. Декодирование останавливается на некорректных данных и сообщает, где именно: одиночный % без двух шестнадцатеричных цифр после него или последовательности байтов, не являющиеся допустимым UTF-8, — обычно это значит, что старая система закодировала текст как Latin-1.

Процентное кодирование — не шифрование, и ссылку оно не сокращает; для этого нужен сервис коротких ссылок. Преобразование Base64 и HTML-сущностей находится в двух других вкладках.

Конфиденциальность

URL и текст кодируются и декодируются прямо на этой странице, поэтому ссылки с токенами, адресами электронной почты или идентификаторами сессий никуда не отправляются. Выбранный режим сохраняется в локальном хранилище браузера для следующего раза, а то, что вы вставляете, не сохраняется.

URL-кодировщик и декодер: частые вопросы

Что выбрать: encodeURI или encodeURIComponent?
Для всего, что вы вставляете в URL, используйте encodeURIComponent — здесь это режим значения запроса. Это поисковая фраза, значение параметра или вложенный адрес перенаправления. Он экранирует & = ? /, чтобы их не приняли за структуру. encodeURI, то есть режим «Весь URL», подходит только для готового адреса с верной структурой, где нужно лишь исправить пробелы или не-ASCII-символы.
Почему пробел то %20, то +?
Процентное кодирование по правилам для URL записывает пробел как %20. HTML-формы используют более старый формат application/x-www-form-urlencoded, где пробел становится +, а настоящий плюс — %2B. Оба варианта часто встречаются в строках запроса. Для значений, отправленных формой, выбирайте режим данных формы при декодировании, иначе + останется плюсом.
Что значит «недопустимый UTF-8» при декодировании?
Современные URL кодируют каждый символ его байтами в UTF-8, поэтому é выглядит как %C3%A9. Некоторые старые системы использовали Latin-1, где é — один байт %E9, а такая последовательность не является допустимым UTF-8. Ошибка показывает позицию. Перекодируйте источник в UTF-8 или замените последовательность Latin-1 вручную, если затронуто лишь несколько символов.
Можно ли посмотреть параметры длинной ссылки с метками?
Да. Вставьте полную ссылку вместе с префиксом https://, и под результатом появится панель разбора. В ней указаны хост, путь и фрагмент, а каждый параметр запроса показан с декодированным значением, включая повторяющиеся ключи. UTM-метки, значения state в OAuth и вложенные адреса перенаправления читаются без поочерёдного декодирования.
Бывают ли проблемы, если закодировать URL дважды?
Да, двойное кодирование — частая ошибка: символ % после первого прохода становится %25, поэтому %20 превращается в %2520, и сервер получает неверное значение. Если после одного декодирования в тексте всё ещё есть последовательности %XX, значит, его закодировали дважды. Нажмите «Результат во входные данные» и декодируйте ещё раз, чтобы получить исходный текст.

Другие задачи с этим инструментом