Yueseryueser.com

← All guides

URL Parser Guide: Take a Link Apart

Debugging a redirect starts with taking the link apart: was the parameter there at all, was the value encoded twice, and is the fragment parameter never sent to the server?

Open the tool:URL Parser

When to break a link down

Campaign parameters do not line up, a callback URL has an extra slash, a shared link lost its query, or a user says they landed on the homepage. In every case, inspect each component instead of staring at the whole string.

Developers use it too: confirming whether a parameter was double-encoded, whether a space arrived as %20 or as a plus, and whether the hash route was ever seen by the server. Once split, the problem is usually obvious.

Spaces are %20, and plus also means space

In a URL, a space is properly written as %20. In a query string, form rules also treat a plus sign as a space, so the same value can be written two ways. A literal plus must be written as %2B, or it becomes a space.

Parameter values are decoded, while the query string itself stays in its original encoded form so you can compare before and after. Repeated keys get their own lines and are not merged, which matters for signatures.

Boundary: it parses, it does not judge

A relative path has no protocol or host, so it cannot be parsed as a standard URL. Complete it first. The fragment is shown as one value and never split, because anything after the hash is not sent to the server.

Hostnames get normalised: lowercased, default ports removed, internationalised domains converted to punycode. The host you see may differ from your input while still being equivalent. The tool never fetches the link, and cannot tell a shortener from a phishing page.

FAQ

Why does a relative path fail?

A standard URL needs a scheme and a host to give the parts meaning. Add them, for example the full https address and path, then parse again.

Why did a plus become a space?

Query strings are parsed with form rules, where a plus has meant space for decades. Write %2B for a real plus, and either %20 or a plus for a space.

Why aren't parameters inside the fragment parsed?

The fragment, everything after the hash, is never sent to the server; the browser handles it. Single-page apps often put routes there, but that is a frontend convention, not a URL query.

Related tool:URL Parser