Разобрать и построить query string

Парсер и билдер query string для веб-разработчиков и интеграторов. Вставьте полный URL или просто query string (с или без ведущего "?") — получите таблицу пар ключ/значение для редактирования; URL пересобирается с правильным percent-encoding по RFC 3986. Полезно для разбора OAuth-редиректа, расшифровки длинного analytics-URL с utm_*, декодирования параметров tracking-пикселя, сборки deep link для маркетингового письма или превращения query string в JSON-объект для подстановки в fetch(). Нотация массивов (foo[]=1&foo[]=2) и повторяющиеся ключи round-trip без потерь.

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

1
Вставьте URL

Или просто query string с или без "?".

2
Редактируйте в таблице

Клик по ключу или значению, ввод — URL обновляется.

3
Добавить или удалить строки

Нужен новый параметр? Клик «Добавить строку».

4
Полный URL, только query или JSON

Копия как полный URL, только query или JSON.

Декодировать любой query string в визуальную таблицу и пересобрать после редактирования — ключи и значения авто-кодируются

URL или query string

Опции

Параметры

Ключ
Значение
Полный URL
Только query string
JSON
Не знаешь, что попробовать?
900+ инструментов — открой сюрприз
🎲 Сюрприз

Что можно делать

Визуальный табличный редактор
Видите ключи и значения рядом; клик для редактирования; добавление/удаление строк одной кнопкой.
Двусторонний
Отредактируйте URL сверху — таблица обновится. Отредактируйте таблицу — URL обновится.
Авто encode/decode
Пробелы становятся "+" (или %20 в пути), кириллица — %D0%9F%D1%80%D0%B8…, и т.д. — без ручного экранирования.
Три вывода
Полный URL, только query-string или JSON-объект — копируйте то, что нужно цели.
Поддержка массивов
foo[]=1&foo[]=2 (PHP/Rails) или повторяющиеся foo=1&foo=2 — оба чисто round-trip.
Сортировка по ключу
Алфавитная сортировка одним кликом — полезно для детерминированной подписи URL или ключей кэша.

Типичные применения

  • Прочитать tracking URL (utm_source, utm_campaign и т.д.) — какие параметры он несёт.
  • Добавить новый tracking параметр в маркетинговый URL без ручного редактирования.
  • Конвертировать query string в JSON-объект для вставки в JavaScript или fetch().
  • Отсортировать параметры длинного URL по алфавиту для сравнения двух URL.
  • Построить правильно закодированный URL с нуля добавляя строки в таблицу.

Почему именно этот

Большинство query-string-инструментов выводят разобранные key/value как raw-текст и заставляют вставлять обратно. Мы держим URL-строку и таблицу синхронными вживую — редактируйте любую, другая следует. Нотация массивов, повторяющиеся ключи и percent-encoded значения round-trip без потерь по RFC 3986 form-style encoding (пробелы как +, зарезервированные символы как %xx). Без регистрации, без установки — удобно, когда отлаживаете с чужой машины.

Частые вопросы

В чём разница между "?" и "#" в URL?

Всё между "?" и "#" — query string (отправляется на сервер, индексируется Google). Всё после "#" — fragment (хранится браузером и не включается в запрос). Этот тул работает только с query string.

Чем foo[]=1&foo[]=2 отличается от foo=1&foo=2?

По проводу они эквивалентны — оба отправляют два значения для "foo". Суффикс "[]" — конвенция PHP и Rails, чтобы серверный фреймворк автоматически разобрал их в массив; без суффикса эти фреймворки сохраняют только последнее значение. Express.js, Flask и Django принимают любую форму. Выбирайте ту, которую предпочитает ваш бэкенд.

Работает с hash-роутерами (#?key=value)?

Если вставите полный URL с хешем, тул сохраняет path/hash и работает только с query частью до "#". Если ваше приложение использует hash-based routing с query внутри хеша, тул не авто-определит это — вставьте только внутреннюю query.

Моё значение со спецсимволами — переживёт round-trip?

Да. Ключи и значения percent-кодируются на выводе и декодируются на вводе. Историческая особенность: в query string пробелы кодируются как "+", но в path URL должны быть "%20". Инструмент обрабатывает оба корректно — если вставите path с "%20", получите обратно литеральный пробел; значения, которые вы вводите, получают "+" в query-части, что любой современный сервер декодирует одинаково.

💡 Хотите, чтобы мы улучшили этот инструмент лично для вас?

Мы можем! Просто отправьте нам сообщение с вашим пожеланием. Если хотите обсудить детали — оставьте свою почту, и мы с вами свяжемся. Можно анонимно.

Как вы оцениваете этот инструмент?

Спасибо за вашу оценку!
Хотите рассказать подробнее? Оставьте комментарий!
Спасибо! Ваш комментарий появится после модерации.
Кому подходит этот инструмент
Опубликовано Обновлено Автор: