Skip to content
← Back

URL Parameter Parser - Online Query String Tool

Network
Runs locally · Not uploaded

Free online URL parameter parser. Quickly parse and edit URL query parameters with add/delete/edit support.

Was this result helpful?

For local tools, open DevTools → Network and search your input — it should not appear in requests.

Usage Guide

Query strings look simple but are remarkably easy to break: escaping, encoding, ordering, empty values. This tool splits a URL into a visual key/value table — edit params, reorder, and merge back into a full URL with live two-way sync, all processed locally.

1. How to use

  1. Paste a full URL (or just a query string like ?a=1&b=2).
  2. The params render as a key/value table; edit key and value per row.
  3. Add, remove or reorder params — the rebuilt URL updates live; copy with one click.

2. Typical uses

  • API debugging: split long query strings, find the wrong param, copy the fixed URL and retry.
  • Tracking and redirect chains: a visual table beats hand-concatenating strings for missing & and =.
  • Check param names and values against docs row by row instead of squinting at the address bar.

3. A common question: encode or not

The table shows decoded, human-readable values; the tool applies proper encoding when rebuilding the URL. That means spaces, CJK characters, & and = in values never break the structure — exactly where hand-built URLs fail. For values that are themselves URLs (callback flows), paste them as the value and let the tool encode uniformly.

4. Where repeated keys and array params diverge

Query strings express arrays in two dialects: repeated keys (a=1&a=2, the RFC 3986 native form) and bracket suffixes (a[]=1&a[]=2, the PHP/Rails convention). Pick the wrong dialect on the sending side and the receiving side never sees an array — cross-team integration often surfaces this as "the server only got the last value". This tool renders arrays in repeated-key semantics and flags a[] forms as a receiver-side convention. The other split is the empty-value triad: a= (empty string), a (no equals sign; URLSearchParams yields empty string), and key absent (null) — three states with distinct business meanings.

5. Encoding traps after mutating params

  • searchParams.set encodes values automatically, but hand-concatenating the search string does not — mixing the two styles leaves inconsistent encoding.
  • Calling set on an already-encoded string double-encodes (%20 becomes %2520): decode first, then let the API manage.
  • After searchParams.delete you must reassign (url.search = url.searchParams); the old reference does not sync.

6. Signed links, tracking params, and “it broke after I edited”

Signed redirect URLs (payment callbacks, SSO, CDN auth) usually fold a canonical query string into an HMAC: changing any name, value, order, or encoding style invalidates the signature immediately. Triage by listing keys here first, then confirm the signed field set and sort rules in the product docs — do not casually delete utm_ params on instinct. Pure marketing trackers (utm_source and friends) usually sit outside the signature; removing them affects attribution, not auth — classify the link before editing.

7. Human checks after rebuilding the URL from the table

  • Before copy, scan key names for accidental edits — case-sensitive signed fields fail most often.
  • Do not invent equals signs for the empty-value triad: deleting a row versus leaving an empty value differ when the product distinguishes missing vs empty.
  • When a callback URL is itself a value, confirm it stays one cell and was not split on & into extra keys.
  • For percent-encoding details, peel the rebuilt URL in the URL encoder to catch accidental double encoding.

FAQ

Yes — parsing, editing, and reassembling all happen locally in your browser, and the URL never touches a server. Just remember the generated link still carries credentials, so mind where you paste it.

Paste a full URL or a bare ?a=1&b=2 query string: protocol, host, pathname, query, and hash are all broken out, and the query expands into a key-value table with automatic percent-decoding. The table shows decoded, readable values; the tool re-encodes properly when generating the new URL — Chinese characters, spaces, &, and = can go straight into a value without breaking the structure. When a parameter's value is itself a callback URL, enter it as one whole value rather than splitting it by hand.

These are the two schools for expressing arrays in a query string: repeated keys are the RFC 3986 way, bracket suffixes a PHP/Rails convention. If the sender picks the wrong school, the receiver can't parse the array — in cross-team debugging this shows up as “the server only got the last value”. This tool displays arrays with repeated-key semantics and flags the a[] form as a receiver-side convention when it detects one.

Signed jump links (payment callbacks, SSO, CDN auth) typically fold a canonical query string into an HMAC: change any name, value, order, or even encoding style and the signature dies instantly. First read which keys exist in the table, then check the product docs for the signed field set and sort rules. Marketing trackers like utm_ usually stay out of the signature — removing them affects attribution, not auth — so classify the link before touching it.

Calling searchParams.set on an already-encoded string encodes it twice: %20 becomes %2520. Decode first, then hand it to the API. Two adjacent traps: set auto-encodes values while concatenating the search string directly does not, so mixing the two leaves inconsistent encoding; and after searchParams.delete you must re-assign url.search = url.searchParams, because the old reference doesn't sync itself.

For API debugging, split a long query string to find the wrong param, then copy the fresh URL and retry; when assembling callback URLs with many params, a visual table is far less error-prone than hand-joining strings with & and =. Before copying, scan key names for accidental case changes (signed fields are the most sensitive); for percent-encoding detail, run the result through the URL encode tool to confirm there's no unintended double encoding.

Related Tools

Related Articles