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

Закодируйте текст, чтобы он мог стоять в веб-адресе, или декодируйте закодированную ссылку, чтобы прочитать её текст и параметры запроса. Ничего из вставленного не покидает ваш браузер.

Бесплатно Работает в браузере Проверено вторник, 10 ноября 2026 г.

Текст для кодирования или закодированный текст либо ссылка для декодирования.

Действие
Область

Одно значение — для значения параметра или части пути. Целый URL — чтобы сохранить символы : / ? & и =.

Отметьте для строки запроса, которую записала HTML-форма: знак + читается как пробел, а пробел записывается как +.

Результат

Результат
Параметры запроса

Этот инструмент работает в вашем браузере. То, что вы вводите, нам не отправляется.

Как пользоваться

  1. Вставьте текст или ссылку в поле Текст или URL.
  2. Выберите Закодировать или Декодировать в поле Действие.
  3. Для одного значения, например поискового слова, оставьте Область на Одно значение. Для целой ссылки выберите Целый URL.
  4. Прочитайте Результат и таблицу Параметры запроса, если текст — это ссылка с запросом.

Что делает процентное кодирование

Веб-адрес может содержать лишь небольшой набор символов. Каждый другой символ записывается знаком % и двумя шестнадцатеричными цифрами для каждого байта его формы UTF-8. Поэтому буква ё становится %D1%91, а пробел — %20. Правила описаны в разделе 2.1 RFC 3986.

ё  →  байты UTF-8 D1 91  →  %D1%91
  • Кодирование с режимом «Одно значение» оставляет как есть только буквы от A до Z и от a до z, цифры от 0 до 9 и знаки - _ . ! ~ * ' ( ).
  • Декодирование превращает каждый верный %XX обратно в байт, а байты — в буквы, которые они образуют.

Одно значение или целый URL

Одно значение экранирует и разделители (: / ? # & = и +), поэтому значение параметра не может нарушить структуру адреса. Целый URL оставляет эти разделители на месте, и ссылка сохраняет свою форму. При декодировании целого URL экранирование, которое обозначает разделитель, например %2F, остаётся экранированным, поэтому ссылка означает то же самое.

Кодирование формы и знак +

HTML-формы записывают пробел как +, а знак плюс как %2B. В строке запроса, записанной формой, знак + поэтому означает пробел. Опция Кодирование формы читает и записывает это правило. Когда она выключена, знак + остаётся плюсом, как того требует RFC 3986.

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

  • Знак % без двух шестнадцатеричных цифр после него, например конец строки %E0%A4%A.
  • Экранирования, которые не образуют корректный UTF-8, например одиночный байт %FF.
  • Испорченный символ, например половина эмодзи, который нельзя закодировать.

Пример: ссылка на поиск

Кодирование значения «Чай & кофе?» с режимом Одно значение даёт %D0%A7%D0%B0%D0%B9%20%26%20%D0%BA%D0%BE%D1%84%D0%B5%3F. Пробел, амперсанд, заглавная Ч (два байта в UTF-8) и вопросительный знак экранированы.

Декодирование https://example.com/ara?q=%D1%87%D0%B0%D0%B9+%D0%BA%D0%BE%D1%84%D0%B5&page=2 с режимом Целый URL и отмеченным Кодированием формы даёт https://example.com/ara?q=чай кофе&page=2. В запросе два параметра: q — это «чай кофе», а page — 2.

Ввод Результат
Чай & кофе? (одно значение, кодирование) %D0%A7%D0%B0%D0%B9%20%26%20%D0%BA%D0%BE%D1%84%D0%B5%3F
https://example.com/ara?q=%D1%87%D0%B0%D0%B9+%D0%BA%D0%BE%D1%84%D0%B5&page=2 (декодирование) https://example.com/ara?q=чай кофе&page=2

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

В чём разница между encodeURI и encodeURIComponent?

encodeURIComponent экранирует каждый разделитель, поэтому подходит для одного значения строки запроса. encodeURI оставляет символы, которые задают структуру URL, например : / ? # & и =, поэтому подходит для целой ссылки. «Одно значение» — это первый вариант, «Целый URL» — второй.

Почему пробел становится %20 в одном месте и + в другом?

%20 — стандартное экранирование пробела, оно допустимо в любом месте URL. Знак + означает пробел только при кодировании формы, то есть в строках запроса из HTML-форм. Отмечайте «Кодирование формы», если ссылка пришла из формы.

Почему %E0%A4%A отклоняется?

Экранирование %E0 начинает трёхбайтовую букву, но текст заканчивается после %A, и экранирование не полное. Каждый знак % требует двух шестнадцатеричных цифр, а каждый байт должен входить в полный символ UTF-8.

Отправляется ли моя ссылка на сервер?

Нет. Кодирование и декодирование выполняет ваш браузер, поэтому ссылки с токенами или личными данными остаются на вашем устройстве.

Почему знак плюс остаётся в декодированных параметрах?

При выключенном «Кодировании формы» знак + остаётся плюсом, как его определяет RFC 3986. Многие веб-формы записывают пробелы как +, поэтому отметьте опцию, чтобы читать такие ссылки так, как их задумала форма.

Источники

Цифры и текст в последний раз проверены вторник, 10 ноября 2026 г..

Мы используем необходимые cookie, чтобы сайт работал. С вашего согласия Google также использует рекламные cookie, чтобы показывать персонализированную рекламу. Если вы откажетесь, реклама всё равно будет показываться, но не будет персонализированной.