Кодировщик и декодер URL

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

Обновлено

Парсер URL

Ваши данные никогда не покидают ваш компьютер. Вся обработка выполняется на 100% локально в вашем браузере.

Был ли этот инструмент полезен?0.0 Оценок: 0
Кодируйте текст или файлы в Base64 и декодируйте Base64 обратно в текст онлайнBase64 кодер / декодер →

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

  1. Выберите режим: Кодировать компонент для одного значения параметра или сегмента пути, Кодировать весь URL для полного адреса или Декодировать.
  2. Введите или вставьте текст в левое поле; результат обновляется по мере ввода.
  3. Включите Пробелы как + для кодирования в стиле HTML-форм или Каждая строка отдельно, чтобы обработать список.
  4. Вставьте любой URL в парсер URL, чтобы увидеть хост, путь и таблицу декодированных параметров запроса.

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

Кодирование URL, или процентное кодирование (RFC 3986), заменяет символы, которые не допускаются в адресе или имеют в нём специальное значение, на % и две шестнадцатеричные цифры. Пробел превращается в %20, & — в %26, а не-ASCII символы сначала переводятся в байты UTF-8, а затем кодируются байт за байтом: é → %C3%A9, € → %E2%82%AC. Без кодирования значение вроде Tom & Jerry в строке запроса разбилось бы на два параметра.

encodeURIComponent и encodeURI

В JavaScript есть две функции, и выбор не той — классическая ошибка:

СимволencodeURIComponentencodeURI
Пробел%20%20
/ ? # & = : @ + , ; $КодируетсяОстаётся как есть
A–Z a–z 0–9 - _ . ! ~ * ' ( )ОстаётсяОстаётся
é, эмодзи, другие не-ASCII символыПроцентное кодирование UTF-8Процентное кодирование UTF-8

Используйте encodeURIComponent («Кодировать компонент») для всего, что вы вставляете внутрь URL: значение параметра запроса, сегмент пути, адрес перенаправления, передаваемый как параметр. encodeURI («Кодировать весь URL») применяйте только к полному URL, который содержит пробелы или не-ASCII символы, потому что она оставляет служебные символы : / ? # & без изменений.

%20 или +?

В пути URL пробел должен быть записан как %20. В строках запроса, которые отправляют HTML-формы (application/x-www-form-urlencoded), пробелы записываются как +. Большинство серверов принимают оба варианта в строке запроса, но знак плюс, переданный буквально, нужно отправлять как %2B. Декодер по умолчанию считает + пробелом; снимите галочку, если ваши данные содержат настоящие знаки плюс.

Ошибки декодирования

После % должны идти ровно две шестнадцатеричные цифры, а многобайтовые символы UTF-8 требуют всех своих байтов. Обычная функция decodeURIComponent() выдаёт URIError: malformed URI sequence на первой некорректной последовательности; этот инструмент декодирует всё корректное, оставляет неверные части без изменений и показывает, какие именно это части. Строки с двойным кодированием (%2520) после одного прохода превращаются в %20, поэтому декодируйте повторно, чтобы получить пробел.

Устройство URL

https://user@shop.example.com:8443/search?q=shoes#results состоит из схемы (https:), необязательных учётных данных, хоста, порта, пути, строки запроса и фрагмента. Парсер выше использует стандартный API URL браузера (WHATWG URL Standard), тот же, что применяет fetch(). Создаёте ссылки для рекламных кампаний? Попробуйте UTM-конструктор. Нужно закодировать бинарные данные? Используйте Base64.

Также ищут как: percent encoding, urlencode, urldecode, encodeuricomponent.

Инструменты, которые хорошо сочетаются с Кодирование и декодирование URL

  • HTML-сущности — Экранируйте < > & ", чтобы текст безопасно отображался в HTML, преобразуйте акценты и символы в именованные или числовые сущности либо декодируйте HTML с сущностями обратно в обычный текст.
  • Генератор slug — Превратите любой заголовок в чистый URL-slug в нижнем регистре.
  • JWT декодер — Вставьте JSON Web Token, чтобы просмотреть его заголовок и payload, узнать, когда истекает срок действия, и проверить подпись.
  • Переводчик азбуки Морзе — Введите текст, чтобы получить код Морзе, или вставьте точки и тире, чтобы расшифровать их.

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

Когда использовать encodeURIComponent вместо encodeURI?
Используйте encodeURIComponent для отдельных частей, которые вы вставляете в URL: значения параметров, сегменты пути или целый URL, передаваемый как параметр. Функция encodeURI подходит только для полного URL, так как она не кодирует / ? & # =.
Почему пробел иногда выглядит как %20, а иногда как +?
%20 — кодирование по RFC 3986, допустимое в любом месте URL. + означает пробел только в строках запроса в формате form-urlencoded (application/x-www-form-urlencoded), которые отправляют HTML-формы.
Что означает «URIError: malformed URI sequence»?
Строка содержит %, за которым не следуют две шестнадцатеричные цифры, или неполную последовательность байтов UTF-8. Этот декодер оставляет такие части без изменений и перечисляет их, вместо того чтобы завершиться с ошибкой.
Какие символы никогда не нужно кодировать?
Незарезервированные символы: буквы A–Z a–z, цифры 0–9 и - _ . ~. Всё остальное либо зарезервировано для синтаксиса URL, либо должно кодироваться процентно.
Можно ли установить Кодирование и декодирование URL как веб-приложение и пользоваться им офлайн?
Да. Кодирование и декодирование URL — это веб-приложение (PWA), которое можно установить из браузера, без скачивания из магазина приложений. В Chrome или Edge (Windows, macOS, Linux, ChromeOS) или на Android нажмите вверху этой страницы «Установить приложение»; на iPhone и iPad используйте «Поделиться → На экран «Домой»», а в Safari 17+ на Mac — «Файл → Добавить в Dock». После этого приложение откроется в отдельном окне со своим значком, и так как оно полностью работает в браузере, оно продолжит работать офлайн. Firefox на компьютере не умеет устанавливать веб-приложения. Как работает установка.

Похожие инструменты

localBase64 кодер / декодерПреобразуйте текст в Base64 и обратно с полной поддержкой UTF-8 (акценты, эмодзи), включите URL-safe…localHTML-сущностиЭкранируйте < > & ", чтобы текст безопасно отображался в HTML, преобразуйте акценты и символы в…localUTM-генераторДобавляйте utm_source, utm_medium, utm_campaign и другие параметры к любой ссылке, смотрите, в какой канал…localГенератор slugПревратите любой заголовок в чистый URL-slug в нижнем регистре. Инструмент корректно транслитерирует…localJWT декодерВставьте JSON Web Token, чтобы просмотреть его заголовок и payload, узнать, когда истекает срок действия,…localПереводчик азбуки МорзеВведите текст, чтобы получить код Морзе, или вставьте точки и тире, чтобы расшифровать их. Затем…