Parse and build query strings

Free query-string parser and builder for web developers and integrators. Paste a full URL or just a query string (with or without the leading "?") and you get a table of key/value pairs you can edit; the URL rebuilds itself with proper RFC 3986 percent-encoding. Useful for analysing an OAuth redirect, dissecting a long utm_* analytics URL, decoding a tracking pixel's params, building a deep link for a marketing email, or turning a query string into a JSON object you can drop into a fetch() call. Array notation (foo[]=1&foo[]=2) and repeated keys both round-trip cleanly.

How to use

1
Paste a URL

Or just a query string with or without "?".

2
Edit in the table

Click any key or value, type, and the URL updates.

3
Add or remove rows

Need a new parameter? Click "Add row".

4
Copy the result

Copy as full URL, query only, or JSON.

Decode any query string into a visual table and rebuild it after editing — keys and values auto-encoded

URL or query string

Options

Parameters

Key
Value
Full URL
Query string only
JSON

What you can do

Visual table editor
See keys and values side by side; click to edit; add or remove rows with one button.
Bidirectional
Edit the URL above — the table updates. Edit the table — the URL updates.
Auto encode/decode
Spaces become "+" (or %20 in path), Cyrillic becomes %D0%9F%D1%80%D0%B8…, etc. — no manual escaping needed.
Three outputs
Full URL, query-string only, or JSON object — copy whichever your target needs.
Array support
foo[]=1&foo[]=2 (PHP/Rails) or repeated foo=1&foo=2 — both round-trip cleanly.
Sort by key
Sort alphabetically with one click — useful for deterministic URL signing or cache keys.

Typical uses

  • Read a tracking URL (utm_source, utm_campaign, etc.) and see what parameters it carries.
  • Add a new tracking parameter to a marketing URL without hand-editing.
  • Convert a query string to a JSON object for pasting into JavaScript or a fetch() call.
  • Sort a long URL's parameters alphabetically so two URLs can be compared.
  • Build a properly-encoded URL from scratch by adding rows in the table.

Why this one

Most query-string tools dump the parsed key/value as raw text and force you to paste it back. We keep both the URL bar and the table live-synced — edit either, the other follows. Array notation, repeated keys and percent-encoded values all round-trip cleanly per RFC 3986 form-style encoding (spaces as +, reserved chars as %xx). No signup, no install — useful when you are debugging from someone else's machine.

Common questions

What is the difference between "?" and "#" in URLs?

Everything between "?" and "#" is the query string (sent to the server, indexed by Google). Everything after "#" is the fragment (kept by the browser, never sent to the server). This tool parses the query string only.

How is foo[]=1&foo[]=2 different from foo=1&foo=2?

On the wire they are equivalent — both send two values for "foo". The "[]" suffix is a PHP/Rails convention so the server-side framework parses them into an array automatically; without it those frameworks keep only the last value. Express.js, Flask and Django accept either form. Pick the one your backend prefers.

Does this work with hash routers (#?key=value)?

If you paste the full URL with the hash, the tool keeps the path/hash intact and only operates on the query portion before "#". If your app uses hash-based routing with query inside the hash, the tool will not auto-detect that — paste just the inner query string instead.

My value has special characters — will they survive a round-trip?

Yes. Keys and values are percent-encoded on output and decoded on input. Note the historical quirk: in the query string, spaces are encoded as "+", but in the URL path they must be "%20". The tool handles both correctly — if you paste a path with "%20" you get the literal space back; values you type get "+" in the query portion, which every modern server decodes identically.

Mobile?

Yes — the table collapses to stacked rows on narrow screens.

How do you rate this tool?

Thank you for your rating!
Want to share more? Leave a comment!
Thank you! Your comment will appear after moderation.
Published Updated Authors: