URL Parser & Query String Editor
This free URL parser splits any link into scheme, host, path, query parameters, and hash route, lets you edit every parameter in a table with decoded previews, and rebuilds the URL live as you type. A one-click cleanup strips tracking parameters — all computed locally with nothing uploaded.
URL parts
| Part | Value | Copy |
|---|
Query parameters
| Key | Value | Decoded | Included | Delete |
|---|
Hash route (SPA)
The fragment carries its own route:
Hash parameters
| Key | Value | Decoded | Included | Delete |
|---|
How To Use
-
Paste a full URL, a scheme-less link (
example.com/path?x=1), a bare query string (?a=1&b=2), or a hash (#/route?x=1) into the input. Parsing re-runs live as you type. - The URL parts table breaks the link into scheme, host, port (shown only when it is not the default), path, query, and hash — each with a one-click copy.
- Edit query parameters in the table: change keys or values, read the decoded preview, tick or clear Included to keep or drop a parameter, or delete the row. Every edit rebuilds the URL immediately.
- Add parameter appends an empty row to the table and to the rebuilt URL.
- Remove tracking params strips every
utm_*,fbclid,gclid,msclkid, andrefparameter in one click and names exactly what was removed. - Use Copy rebuilt URL to copy the final link.
Usage Example
Input URL:
https://shop.com/item/123?utm_source=newsletter&tag=sale&tag=summer&debug&next=%2Fcart%3Fid%3D7#/orders?status=paid
URL parts:
Scheme: https Host: shop.com Path: /item/123 Query: utm_source=newsletter&tag=sale&tag=summer&debug&next=%2Fcart%3Fid%3D7 Hash: #/orders?status=paid
Query parameters (one row per value, flags included):
utm_source = newsletter tag = sale tag = summer debug (no value) next = %2Fcart%3Fid%3D7 → decoded: /cart?id=7
The hash is parsed separately as the route #/orders with
its own parameter status=paid. After
Remove tracking params, the rebuilt URL is the clean
link:
https://shop.com/item/123?tag=sale&tag=summer&debug&next=%2Fcart%3Fid%3D7#/orders?status=paid
Use Cases
Cleaning tracking parameters is the most common reason
to parse url online. A shared campaign link like
https://shop.com/item/123?utm_source=newsletter&fbclid=IwAR2x&gclid=EAIaIQ
carries parameters you rarely want to forward or archive, and deleting
them by hand easily misses one &-separated fragment or
breaks the URL. One click removes every utm_*,
fbclid, gclid, msclkid, and
ref parameter — and reports exactly what it removed — so
you can remove utm parameters and copy a clean link.
Debugging redirects and OAuth callbacks: paste the
callback URL to see which parameters actually came back —
code, state, session_state — and
read every percent-encoded value in the decoded preview instead of
deciphering %3D and %2F by eye. To convert
such encoded values in bulk, the
URL Encode / Decode tool percent-encodes
and decodes any string in one click.
Building and editing API links: add
page=2, change lang, or toggle a flag
directly in the parameter table. This url parameters editor stays
reliable where the address bar fails: when a value itself contains an
encoded & (%26), the rows are already
separated, so you never miscount delimiters.
SPA and hash-route debugging: parameters hidden behind
# — as in
https://app.com/#/orders?status=paid — are invisible to
ordinary address-bar inspection. The tool splits the hash route from
its own query string and lists those parameters in a separate table.
Multi-value and flag parameters such as
?tag=a&tag=b&debug get one row each — repeated keys and
value-less switches alike — which makes this query string parser a fast
way to inspect, enable, disable, or delete individual parameters
without touching the raw string.
Frequently Asked Questions
What is a query string?
The query string is the part of a URL after the ? — one or more key=value pairs joined by & — that carries parameters to the server, for example https://example.com/search?q=shoes&page=2. This tool splits it into an editable table with decoded previews.
What is the difference between a query and a fragment (hash)?
The query (after ?) is sent to the server with the request. The fragment (after #) never leaves the browser — pages use it for in-page anchors and, in single-page apps, for client-side routing. That is why this tool parses the hash route and its parameters into their own table.
Should spaces be encoded as + or %20?
Both spellings appear in the wild: HTML forms and URLSearchParams write + in query strings, while component encoding uses %20. This editor keeps whichever form your URL already uses, and the URL Encode / Decode tool converts between the two modes.
What are UTM parameters and why remove them?
utm_source, utm_medium, utm_campaign, and friends tag where a link came from so analytics tools can attribute visits. Removing them does not change the destination page — the cleaned link just stops leaking campaign context when you share, print, or archive it. The cleanup also strips the common click ids fbclid, gclid, and msclkid, plus ref.
How are multi-value and flag parameters handled?
Repeated keys such as ?tag=a&tag=b get one row per value, and a parameter without an = sign (like ?debug) is shown as a value-less flag. Each row can be edited, temporarily excluded with its checkbox, or deleted.
Does editing re-encode my values?
Untouched parameters keep their original encoding, so a parse → rebuild round-trip preserves the URL exactly. Only text you type is minimally percent-encoded (spaces, &, #, and non-ASCII characters) so the rebuilt URL stays valid.
Is my URL sent anywhere?
No. Parsing and rebuilding run entirely in your browser with the native URL API. Nothing is uploaded.