URL Encoder / Decoder + Parser
Закодируйте или декодируйте строку для использования в URL, либо вставьте полный адрес, чтобы разобрать его на компоненты и query-параметры.
Приватность: Введённые данные обрабатываются локально в браузере.
Исходная строка
Результат
Разбор URL на компоненты
- Протокол
- https:
- Хост
- example.com
- Домен (hostname)
- example.com
- Порт
- —
- Путь
- /path/page
- Якорь (hash)
- #section
Query-параметры
| Ключ | Значение |
|---|---|
| query | 1 |
| sort | asc |
Зачем кодировать URL
URL допускает ограниченный набор символов — пробелы, кириллицу и большинство спецсимволов нужно экранировать в процентную запись (например, пробел становится %20), иначе ссылка может сломаться или интерпретироваться неверно браузером или сервером. Кодирование особенно важно для значений query-параметров, которые могут содержать произвольный пользовательский ввод: поисковый запрос, email, символы вроде «&» или «=», которые в URL имеют служебное значение и без экранирования будут восприняты как часть синтаксиса, а не данных.
Разбор URL на компоненты
Полный URL состоит из нескольких частей: протокола (http/https), хоста (домен и порт), пути до ресурса, query-строки с параметрами после «?» и якоря после «#», который обрабатывается только в браузере и не отправляется на сервер. При отладке интеграций и API удобно видеть эти части раздельно — например, чтобы быстро проверить, какие именно параметры передаются в ссылке, полученной от партнёра или сгенерированной сторонним сервисом.
В каких случаях использовать
Инструмент пригодится при формировании ссылок с динамическими параметрами вручную, при отладке редиректов и UTM-меток в маркетинговых ссылках, а также при разборе логов запросов или длинных URL, в которых сложно на глаз выделить нужный параметр среди остальных.
Частые вопросы
Чем encodeURIComponent отличается от encodeURI?
encodeURIComponent экранирует больше символов (включая &, =, ? и /) и предназначен для кодирования отдельных значений — например, одного query-параметра. encodeURI сохраняет символы, значимые для структуры самого URL, и применяется к целому адресу.
Почему decode иногда выдаёт ошибку?
Ошибка возникает, если строка содержит некорректную %-последовательность — например, одиночный знак процента не перед двумя шестнадцатеричными цифрами. Такую строку невозможно однозначно декодировать обратно.
Почему для разбора URL нужен полный адрес с протоколом?
Парсер использует встроенный в браузер конструктор URL, которому для корректного определения хоста и пути обязательно нужен протокол (например, https://) — без него адрес считается относительным путём, а не полным URL.
Query-параметры с одинаковым ключом — как они отображаются?
Каждое вхождение параметра с повторяющимся ключом (например, ?tag=a&tag=b) выводится в таблице отдельной строкой — так же, как он присутствует в исходном URL.