URL Decode Online

Декодирование URL, закодированных в процентах

Попробовать пример

Закодированный URL / Текст

Декодировано

Работает локально · Безопасно вставлять секреты
Декодированный вывод...
Также попробуйте:URL Encode Online

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

URL-декодирование (процентное декодирование) — это обратная операция URL-кодирования: оно преобразует процентно-закодированные последовательности обратно в исходные символы. Каждое вхождение знака процента, за которым следуют две шестнадцатеричные цифры (%XX), заменяется байтом, который обозначает XX. Несколько последовательных закодированных байтов рекомбинируются для восстановления исходного символа UTF-8.

URL-декодирование — повседневная задача для разработчиков, работающих с API, веб-скрапингом, анализом логов и процессами аутентификации. Закодированные URL понятны машинам, но непрозрачны для людей — их декодирование мгновенно раскрывает реальные пути, поисковые запросы, целевые адреса редиректов и значения параметров.

Зачем использовать этот инструмент?

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

Мгновенное декодирование
Вставьте любой закодированный URL или параметр и сразу увидите читаемую версию. Отлично подходит для отладки API-запросов и файлов логов.
🛡️
Восстановление после ошибок
При необходимости использует устаревший unescape() для входных данных, содержащих старые Latin-1 процентно-закодированные символы, которые вызвали бы ошибку в decodeURIComponent.
🔒
Только на стороне клиента
Всё декодирование выполняется локально в вашем браузере. Токены, пароли и приватные параметры запроса никогда не покидают ваше устройство.
🔁
Полная поддержка URL
Декодируйте полные URL или отдельные значения параметров. Инструмент обрабатывает как стандартные пробелы %20, так и сохраняет знаки + как буквальные символы плюса.

Как использовать этот онлайн-декодировщик URL

Без регистрации, без установки. Вставьте строку с процентным кодированием в поле ввода — и декодированный результат появится мгновенно. Всё работает в вашем браузере — данные никогда не покидают ваше устройство.

  1. 1
    Вставьте закодированный URL или строку
    Скопируйте любую строку с процентным кодированием — URL из адресной строки, параметр запроса из серверных логов, ответ API или цель перенаправления — и вставьте в поле ввода.
  2. 2
    Автоматическое определение формата
    Декодировщик автоматически обрабатывает как %XX процентное кодирование, так и + в качестве пробела (application/x-www-form-urlencoded). Не нужно указывать формат кодирования вручную.
  3. 3
    Проверьте декодированный результат
    Читаемый текст появляется мгновенно. Если входные данные содержали вложенное кодирование (двойное кодирование), декодировщик разбирает по одному уровню за раз. При некорректных последовательностях %XX отображается ошибка.
  4. 4
    Скопируйте или повторно закодируйте
    Нажмите Копировать, чтобы скопировать декодированную строку. Нужно закодировать её заново с другими параметрами? Перейдите к инструменту URL Encode одним кликом.

Как работает декодирование

Декодер сканирует входные данные в поисках последовательностей %, преобразует каждую двузначную шестнадцатеричную группу в значение байта, группирует последовательные байтовые последовательности вместе и интерпретирует их как UTF-8 для получения финальных символов Unicode.

Пример
Вход:https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dhello%20world
%3A:  %2F/  %3F?  %3D=  %20space
Выход:https://example.com/search?q=hello world

Справочник процентно-закодированных символов

Краткий справочник наиболее часто встречающихся процентно-закодированных последовательностей:

ЗакодированоСимволГде встречается
%20spacepath segments, query values
%2B+literal plus (not a space in query)
%2F/slash inside a path component
%3F?literal question mark in a value
%23#literal hash in a value
%26&literal ampersand in a value
%3D=literal equals sign in a value
%40@at sign in username / password
%3A:colon inside a path segment
%25%literal percent sign
%2C,comma in path or query
%5B[opening bracket
%5D]closing bracket
%7B{curly brace in template literals
%7D}curly brace in template literals

Распространённые сценарии использования

Отладка API-запросов
Скопируйте URL из сетевых логов DevTools браузера и декодируйте его, чтобы увидеть реальные значения параметров запроса — особенно полезно, когда автоматизированные инструменты или библиотеки закодировали параметры.
Чтение файлов логов
Журналы доступа веб-серверов и логи приложений хранят URL в закодированном виде. Декодируйте их, чтобы найти реальные запрошенные пути, поисковые запросы и значения параметров.
Анализ редиректов
OAuth-коллбэки, SSO-редиректы и URL с отслеживанием ссылок часто содержат сильно закодированные параметры redirect_uri или next. Декодируйте URL, чтобы отследить предполагаемое назначение.
Разбор полезных данных вебхуков
Тела вебхуков, отправленных как application/x-www-form-urlencoded (Stripe, Twilio, GitHub), приходят в виде процентно-закодированных строк. Декодируйте их, чтобы прочитать реальные значения полей.
Извлечение поисковых запросов
URL аналитики и заголовки referrer содержат исходный поисковый запрос пользователя, процентно-закодированный в параметре q=. Декодируйте, чтобы отобразить или проанализировать реальные поисковые запросы.
Обратный инжиниринг URL
При интеграции со сторонними API или при скрапинге встречающиеся URL часто содержат закодированные сегменты пути и параметры. Декодируйте их, чтобы понять структуру URL и воспроизвести запросы.

Распространённые ошибки

Наиболее частые ошибки при декодировании процентно-закодированных строк:

Путаница между + и %20
В данных application/x-www-form-urlencoded (отправки HTML-форм) + обозначает пробел. Но в сыром URL-пути или в значении, закодированном с помощью encodeURIComponent, + является буквальным знаком плюса. decodeURIComponent не преобразует + в пробел — используйте URLSearchParams или unquote_plus для данных форм.
Двойно закодированные строки
Если строка была закодирована дважды, однократное декодирование всё равно оставляет знаки процента: %2520 декодируется в %20, а не в пробел. Декодируйте второй раз, чтобы получить исходное значение. Обращайте на это внимание в логах, прокси и middleware, которые повторно кодируют уже закодированные данные.
Некорректные процентные последовательности
Одиночный % или % за которым следуют не-шестнадцатеричные символы (например %GG или % 2) недействителен и вызовет URIError. Всегда проверяйте входные данные или оборачивайте декодирование в блок try/catch.
Несоответствие кодировок (Latin-1 против UTF-8)
Старые системы (urlencode PHP, классический ASP) кодировали символы как байты Latin-1. Строка, закодированная как Latin-1, может некорректно декодироваться декодером UTF-8. Если вы видите искажённые символы, попробуйте путь через устаревший unescape() или определите исходную кодировку.

Примеры кода

Как декодировать URL-строки в популярных языках и средах:

JavaScript (browser / Node.js)
// Decode a percent-encoded component
decodeURIComponent('hello%20world%20%26%20more') // → "hello world & more"

// Decode a full URL (leaves structure characters encoded)
decodeURI('https://example.com/path?q=hello%20world') // → "https://example.com/path?q=hello world"

// Parse a query string (handles + as space automatically)
const params = new URLSearchParams('q=hello+world&lang=en')
params.get('q') // → "hello world"
Python
from urllib.parse import unquote, unquote_plus, parse_qs

# Decode percent-encoded string
unquote('hello%20world%20%26%20more')   # → 'hello world & more'

# Decode form-encoded string (+ → space)
unquote_plus('hello+world%21')          # → 'hello world!'

# Parse full query string
parse_qs('q=hello%20world&lang=en')     # → {'q': ['hello world'], 'lang': ['en']}
Node.js (URL API)
const url = new URL('https://example.com/search?q=hello%20world%20%26%20more')
url.searchParams.get('q')  // → "hello world & more"
url.pathname               // → "/search"
CLI (bash)
# Decode with Python one-liner
python3 -c "from urllib.parse import unquote; print(unquote('hello%20world'))"

# Decode with Node.js
node -e "console.log(decodeURIComponent('hello%20world%20%26'))"

URL Decode vs. альтернативы

Несколько инструментов могут декодировать строки с процентным кодированием, но они различаются по ясности, конфиденциальности и удобству.

Этот инструмент
Работает в браузере, мгновенно, конфиденциально. Обрабатывает %XX кодирование, + как пробел, Unicode и некорректные последовательности. Данные не отправляются ни на один сервер.
Адресная строка браузера
Браузеры декодируют URL для отображения, но не всегда полностью — некоторые закодированные символы остаются видимыми в адресной строке. Не подходит для анализа отдельных значений параметров.
DevTools / curl -v
DevTools браузера и curl показывают исходные и декодированные URL в сетевых запросах. Полезно для отладки, но требует переключения между инструментами и знания, где искать.

Часто задаваемые вопросы

В чём разница между decodeURIComponent и decodeURI?
decodeURIComponent декодирует все процентно-закодированные последовательности, включая зарезервированные символы (%2F → /, %3F → ?, и т.д.). decodeURI декодирует только последовательности, которые не дадут символ с особым значением в URL — он оставляет %2F, %3F, %23 и другие структурные символы закодированными. Используйте decodeURIComponent для значений параметров; используйте decodeURI только когда у вас полный URL и вы хотите сохранить его структуру.
Почему я вижу URIError: malformed URI?
Эта ошибка от decodeURIComponent возникает, когда входные данные содержат % не за которым следуют две действительные шестнадцатеричные цифры, или когда многобайтовая последовательность UTF-8 неполна (например %E2 без последующего %82%AC). Удалите или экранируйте отдельные знаки процента перед декодированием.
Обрабатывает ли декодирование + как пробел?
Нет — decodeURIComponent трактует + как буквальный знак плюса, а не как пробел. Соглашение + → пробел применяется только к данным application/x-www-form-urlencoded (отправки HTML-форм). Для декодирования данных формы используйте URLSearchParams (браузер/Node) или urllib.parse.unquote_plus (Python).
Безопасно ли URL-декодирование на стороне клиента?
Да — URL-декодирование является чистым преобразованием без сетевых запросов. Все современные браузеры включают decodeURIComponent и decodeURI как нативные функции. Этот инструмент выполняет декодирование полностью в вашем браузере; никакие данные никуда не отправляются.
Как декодировать URL, который был закодирован несколько раз?
Декодируйте его несколько раз, пока вывод не стабилизируется (больше не будут разрешаться последовательности %). Это происходит, когда уже закодированный URL проходит через ещё один кодировщик. Каждый проход декодирования удаляет один уровень кодирования.
Что означает %XX?
Два символа после % — это шестнадцатеричные цифры, представляющие значение одного байта (00–FF). Для символов ASCII этот байт является ASCII-кодом символа: %41 = 65 = 'A'. Для символов не из ASCII несколько последовательностей %XX представляют байтовую последовательность UTF-8 символа: знак евро € — это %E2%82%AC (три байта: 0xE2, 0x82, 0xAC).
Какую кодировку использует браузер при отправке HTML-форм?
HTML-формы с method=GET добавляют поля к URL с кодировкой application/x-www-form-urlencoded: пробелы заменяются на + вместо %20, остальные спецсимволы кодируются в процентах. Опция + → пробел инструмента URL Decode обрабатывает этот формат. Формы с method=POST и enctype=application/x-www-form-urlencoded используют ту же схему в теле запроса.
Есть ли ограничение на размер при декодировании?
Серверных ограничений нет — инструмент работает полностью в вашем браузере. Практические ограничения зависят от памяти браузера. Для очень длинных закодированных строк или пакетной обработки используйте decodeURIComponent в скрипте.

Руководства по языкам