Skip to content
PratronHome

URL Parser & Query Builder

Take a URL apart and put it back together. Every component is listed separately, query parameters are shown decoded so percent-encoding stops getting in the way, and editing any of them rebuilds a correctly encoded URL. Handy for reading a tracking-laden link or assembling an API request by hand.

Developer Tools

Private by default

This tool runs entirely in your browser. Your data is never uploaded to a server.

How it works

The parts of a URL

scheme://user:password@host:port/path?query#fragment

Parsing follows the WHATWG URL standard, the same one your browser uses, so what you see here is what the browser would resolve. Rebuilding re-encodes each parameter, which is what makes a hand-edited query string safe.

  • An empty port means the scheme's default is in use: 443 for https, 80 for http.
  • The fragment is never transmitted — it exists only in the browser.
  • Repeated parameter names are legal and are kept in order. Which one a server honours is up to that server.
  • Percent-encoding rules differ by position: a space is + in a query string but must be %20 in a path.

For reference

Reading a URL left to right

Taking https://shop.example.com:8443/catalog/shoes?size=42#reviews apart.

PartValueNotes
Protocolhttps:Includes the colon
Hostnameshop.example.comDomain only, no port
Port8443Empty when it is the default
Path/catalog/shoesAlways starts with /
Query string?size=42Includes the question mark
Fragment#reviewsNever sent to the server

The origin for this URL is https://shop.example.com:8443 — the three parts browser security is scoped to.

How to use

4 clear steps.

  1. Paste a full URL, including its scheme.

  2. Read the component table for the parts it breaks into.

  3. Edit, add, or remove query parameters.

  4. Copy the rebuilt URL.

Good to know

Frequently asked questions

Why does it reject my URL?
It parses absolute URLs only, so a scheme is required. `example.com/path` has none; `https://example.com/path` parses. That is the same rule browsers and the URL standard apply.
What is the difference between origin and hostname?
The hostname is just the domain, like `shop.example.com`. The origin is the scheme, host, and port together — `https://shop.example.com:8443` — and it is what browser security rules such as CORS and cookies are scoped to.
Why did my space become a plus sign?
Rebuilding uses the standard query-string encoding, where a space in a parameter value is `+`. Servers decode `+` and `%20` identically in a query string, so both are correct — but only `%20` works in the path.
Is the fragment sent to the server?
No. Everything after the # stays in the browser and never appears in the request. It is why fragments are used for in-page anchors and client-side routing, and why putting anything the server needs there does not work.