Перейти до вмісту

Кодування й декодування 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. Обидва варіанти поширені в рядках запиту. Для декодування значень, надісланих формою, оберіть режим даних форми, інакше + залишиться знаком плюс.
Що означає «not valid 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, текст закодовано двічі. Натисніть «Використати результат як вхідні дані» й декодуйте ще раз, щоб відновити оригінал.

Інші завдання з цим інструментом