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 у скрипті.