URL Parser
Break a messy URL into readable parts: host, path, and every query param
Overview
Path segments3
Query parameters10
{
"returnTo": "/cart",
"cartId": "c192"
}URL Parser guide
A single URL can hold a lot: which server to contact, which page to load, and a string of parameters that often includes tracking IDs, redirect targets, and encoded state. The URL Parser splits all of it into labelled rows, so you can read a link instead of squinting at it.
What each part means
- Protocol. The scheme, such as https or ftp. If you paste a bare domain like example.com/page, the parser assumes https.
- Host and port. The server name and the port it listens on. When a URL leaves the port out, the parser shows the default for its protocol, such as 443 for https.
- Path segments. The pieces between slashes, one per row and decoded, so /files/My%20Report.pdf reads as files and My Report.pdf.
- Query parameters. Every key=value pair after the ?, in the order they appear. Keys that repeat are kept and marked, because many servers treat repeats as a list.
- Fragment. Everything after the #. Single-page apps and OAuth sign-in flows often put parameters here too, and the parser splits those out the same way.
Example
For the link below, the parser shows the host shop.example.com, two path segments (products and shoes), four query parameters with both size values flagged as repeated, and the fragment reviews.
https://shop.example.com/products/shoes?color=blue&size=42&size=43&utm_source=newsletter#reviewsEncoded values inside the URL
Values are often encoded twice: percent-encoding to make them URL-safe, and Base64 or a JWT inside that. The parser decodes the percent-encoding first, then checks each value for Base64 that turns into readable text and for JWTs whose header and payload are valid JSON. Anything it recognises is shown decoded under the original.
Detection is a best guess. Plain words like newsletter are technically valid Base64, so a value is only decoded when the result is printable text. If a parameter holds another URL, such as a redirect_uri, use Parse to break that one down as well.
One detail catches people out: in a query string a plus sign means a space, so q=hello+world reads as hello world. In the path, a plus sign stays a plus sign.
When it helps
- Debugging OAuth and SSO redirects, where redirect_uri and state have to match exactly.
- Finding and removing tracking parameters like utm_source or fbclid before you share a link.
- Reading signed download links to check their expiry time without opening them.
- Checking what a marketing or affiliate link will pass along before you click it.