Парсер параметров URL

Вставьте URL — инструмент покажет адрес страницы, якорь и все параметры после знака вопроса в декодированном виде.

Как работает: URL → pathname, hash и URLSearchParams

Из чего состоит адрес и как читаются параметры

Парсер разбирает адрес на части: показывает путь страницы, якорь и все параметры после знака вопроса — по одному, с раскодированными значениями. Вывод бывает списком или в JSON, чтобы перенести разбор в код или в таблицу. Нужен, когда приходит длинная ссылка из рекламного отчёта, письма или чата и надо понять, что в ней зашито, найти опечатку в разметке или вытащить значение одного параметра.

Строка запроса начинается со знака вопроса, пары «ключ равно значение» разделяются амперсандом. Значения приходят в процентной кодировке: пробел записывается как %20, а в данных формы — знаком плюс; кириллическая буква даёт два байта UTF-8, то есть две пары со знаком процента, поэтому «Москва» выглядит как %D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0. Парсер раскодирует значения обратно. Ключ может повторяться: запись tag=a&tag=b законна, и такие пары собираются в массив — разные сайты читают их по-своему, кто-то берёт первое значение, кто-то последнее. Якорь после решётки на сервер не отправляется и остаётся в браузере.

Бумажная анкета с полями
Бумажная анкета: параметры в адресе — это те же заполненные поля, только записанные в одну строку. Фото: Викисклад, общественное достояние.
Часть адресаПримерКто её видит
СхемаhttpsБраузер: она определяет протокол и шифрование.
Имя хостаexample.comСистема доменных имён и сервер.
Путь/catalog/shoesСервер; регистр в пути имеет значение.
Строка запроса?color=red&size=42Сервер; попадает в логи и отчёты аналитики.
Повторяющийся ключ?tag=a&tag=bСервер; значения собираются в массив.
Кодированное значение%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0Раскодируется в «Москва».
Якорь#reviewsТолько браузер: на сервер не передаётся.

История: от форм и CGI до URLSearchParams

Параметры выросли из форм. Первые страницы были просто текстом со ссылками, но уже в начале девяностых понадобилось отправлять данные обратно: поиск, анкета, заказ. Браузер стал склеивать заполненные поля в строку из пар «ключ равно значение», разделять их амперсандом и приписывать к адресу после знака вопроса. Формат назвали application/x-www-form-urlencoded, и он попал в описание HTML 2.0 — RFC 1866, ноябрь 1995 года. Принимала такую строку программа на сервере через интерфейс CGI: адрес превращался в переменную окружения, из которой скрипт доставал значения.

Кодировать пришлось почти сразу. В адресе разрешён ограниченный набор знаков, поэтому RFC 1738 в 1994 году описал процентную кодировку: любой байт записывается знаком процента и двумя шестнадцатеричными цифрами. Пробел в пути стал %20, в данных формы — знаком плюс, и это расхождение до сих пор путает разработчиков. С переходом на UTF-8 каждая кириллическая буква стала занимать по две такие пары, отчего адреса с русскими словами выглядят пугающе длинными.

Со временем в строке запроса поселилась аналитика: метки utm_, идентификаторы кликов, партнёрские коды. Адрес рекламного объявления сегодня легко переваливает за двести знаков, и разобрать его глазами трудно. Разбор при этом стал общим: браузеры сверяют его с единым стандартом адресов, а в JavaScript появился объект URLSearchParams, который умеет читать повторяющиеся ключи и раскодировать значения. На нём и работает этот инструмент.

Первый веб-сервер на компьютере NeXT
Первый веб-сервер: страницы отсюда ещё не принимали параметров — они появились вместе с формами. Фото: User:Coolcaesar, CC BY-SA 3.0.
Текстовый терминал VT100
Текстовый терминал: до форм запрос к машине набирали строкой, и параметры перечисляли вручную. Фото: Retro-Computing Society of Rhode Island, CC BY-SA 3.0.

Как разобрать длинную ссылку и найти ошибку в метках

Вставляйте адрес целиком, вместе со схемой: строка, скопированная без начала, разбору не поддаётся, и её проще дополнить приставкой https, чем чинить потом. Смотрите на список параметров сверху вниз: пустое значение вида utm_source= означает ошибку в разметке, повторяющийся ключ — либо намеренный массив, либо склейку двух ссылок. Вывод в JSON удобен, когда параметры нужно перенести в код, в таблицу или в задачу для разработчика.

Пара тонкостей при разборе. Знак решётки обрывает адрес: всё после него в браузере и в отчёты аналитики не уходит, поэтому метка, поставленная после якоря, не сработает. Значения с кириллицей и пробелами показываются раскодированными, а для обратной операции пригодится URL энкодер и декодер. Собрать корректную ссылку с метками с нуля проще в инструменте генератор UTM-меток.

Начало параметровзнак вопроса
Разделитель парамперсанд
Пробел%20 или знак плюс
Кириллическая буквадве пары со знаком процента
Повторяющийся ключдопустим, даёт массив
Якорьна сервер не уходит
Формат данных формыapplication/x-www-form-urlencoded
Процентная кодировкаRFC 1738, 1994

Пример и применение

Повторяющиеся параметры tag сохраняются массивом, а percent-encoded значения автоматически декодируются.

Инструмент работает локально: введённые значения не отправляются на сервер и исчезают после закрытия страницы.

Как пользоваться калькулятором

В поле «URL» вставляют адрес целиком, вместе со схемой: без http или https разбор не начнётся. Кириллица в адресе тоже подойдёт — она разбирается в исходном виде.

Список «Вывод» переключает форму результата. «Список» удобен глазами: основа адреса, якорь и параметры по строкам. «JSON» подходит, когда разбор нужно вставить в код или в таблицу.

Кнопка «Обработать» заполняет «Результат», под ним появляется счётчик параметров и уникальных ключей. Расхождение между этими числами значит, что какой-то ключ повторяется в адресе дважды — обычная причина странного поведения ссылок с UTM-метками.

Пример расчёта

Адрес https://example.com/catalog?id=42&utm_source=ads разбирается на основу https://example.com/catalog и четыре параметра, из которых уникальных ключей три.

Спросите нейросети об инструменте

Отвечает DeepSeek по данным этой страницы и тому, что у вас сейчас на экране: что делает, как устроен, ограничения

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

Связанные технические инструменты

Вопросы и ответы

Зачем разбирать URL по параметрам?

Чтобы увидеть, что реально уходит на сайт: какие UTM-метки проставлены, не задвоился ли ключ, не потерялся ли идентификатор. В длинной ссылке с десятком параметров глазами это не читается.

Что означает разное число параметров и ключей?

Повтор. Адрес вида ?id=42&id=43 содержит два параметра и один ключ, и какое значение возьмёт сайт — зависит от его кода. Такие ссылки чинят до запуска рекламы.

Куда уходит вставленный адрес?

Никуда. Разбор идёт через встроенный в браузер объект URL, страница ничего не отправляет на сервер.

Ещё инструменты для кода и данных

Base64 и URL, форматтер и сравнение JSON, хеши, регулярные выражения, cron, подсети, UUID, QR-код и Unix-время — в разделе 42 инструмента.