URL Parser & Query Editor
Splits a URL into its parts, shows query parameters as an editable table and rebuilds the result.
Breaks a URL into its parts, turns the query string into a table you can edit, and rebuilds the URL as you go. The second half is the one people do not know they need: a panel saying what the parser silently changed, which is usually the answer to "it works in curl and not in the browser".
A bare host works too — https:// is assumed and the assumption is reported below.
Protocol
https:
Host
example.com
Port
(default)
Origin
https://example.com
Path
/products/42
Fragment
#reviews
Path segments
- products
- 42
Query parameters (4, 2 tracking)
- Google Analytics campaign source
- Google Analytics campaign medium
- raw: price+desc
Normalised URL
https://example.com/products/42?utm_source=newsletter&utm_medium=email&id=42&sort=price%20desc#reviews
Encode and decode
Query value
a%20b%2Fc%2Bd%26e%3Df
Everything reserved is escaped, including !'()* which encodeURIComponent leaves alone. Space is %20.
Form body (application/x-www-form-urlencoded)
a+b%2Fc%2Bd%26e%3Df
The same, but space is + — which is why a + in a form value must be sent as %2B.
Path segment
a%20b%2Fc%2Bd%26e%3Df
A slash must be escaped or it splits the path; a plus is a literal plus here, not a space.
Fragment (#…)
a%20b/c+d&e=f
The most permissive part of a URL: ? / : @ and more are all legal unescaped.
Whole URL (encodeURI)
a%20b/c+d&e=f
Leaves the structural characters intact. Only correct when the input really is a whole URL.
The URL is parsed in this page and never requested. Nothing is fetched, no redirect is followed, and a URL containing a session token or a signed link stays in this tab.
How to use it
Paste the URL
A bare host is accepted and https:// assumed — and the assumption is reported rather than hidden. A data: URL is described instead of parsed.
Edit the query as rows
Fifteen tracking parameters are unreadable on one line and obvious as fifteen rows. Tracking ones are marked by name, and one button removes all of them at once.
Read what the parser changed
A lower-cased host, a punycoded international name, a resolved .. segment — all silent, all invisible in the URL you pasted, and all capable of making the same string behave differently in two clients.
Use the encoder panel for signature bugs
The same string is shown under every encoding rule at once. A plus sign in a query value and in a path segment do not encode the same way, and seeing both side by side is what makes that visible.
Common questions
Is the URL fetched?
No. It is parsed in the page and never requested — no fetch, no redirect followed. A URL carrying a session token or a signed link stays in this tab.
Is removing utm_ parameters safe?
For the destination page, yes — these are read by analytics, not by the application. The exception is a link whose parameters are signed or whose id the page actually needs, so check what is left before you share it.
What does "encoded twice" mean?
The value passed through two systems that each helpfully percent-encoded it, so %2520 is a space that became %20 and then had its % encoded again. It is a common cause of a redirect target arriving mangled.
Why did my uppercase host become lowercase?
Host names are case-insensitive and the URL standard normalises them. The path is not — /Page and /page are different resources — which is why only one half of the URL changes.
Feed it from
URL Encoder & Decoder
Percent-encodes and decodes URLs and query values, with a component-versus-whole-URL mode.
QR & Barcode Reader
Reads QR codes and common barcodes from an uploaded image, a screenshot or the camera.
Redirect Chain Tracer
Follows a shortened or tracking URL through every redirect and shows the final destination.
Link Preview Debugger
Reads Open Graph and Twitter card tags from a URL and renders how the link will look when shared.
Next
These accept what this tool produces, so the result can go straight in.
Link Preview Debugger
Reads Open Graph and Twitter card tags from a URL and renders how the link will look when shared.
Punycode Converter
Converts internationalised domain names to and from punycode and warns about lookalike characters.
URL Encoder & Decoder
Percent-encodes and decodes URLs and query values, with a component-versus-whole-URL mode.
Redirect Chain Tracer
Follows a shortened or tracking URL through every redirect and shows the final destination.
DNS Lookup
Queries A, AAAA, CNAME, MX, TXT, NS, SOA, SRV, CAA and PTR records over DoH, with TTL and the DNSSEC bit shown, from Cloudflare or Google.
HTTP Request Builder
Composes and sends a GET/POST/PUT/PATCH/DELETE/HEAD request with custom headers and a body, and shows the status, headers, body and timing — without ever forwarding cookies or Authorization.