Skip to main content
ToolsBay

URL Parser

Break a URL into its protocol, host, path and query parameters.

Runs entirely in your browser — nothing is uploaded

Frequently asked questions

What happens if I leave off the scheme?

https:// is assumed, and the result says so. The check looks for any scheme rather than just "http", so ftp:// and mailto: are recognised as already having one rather than being prefixed a second time.

Are parameter values decoded?

Yes. q=caf%C3%A9%20latte is shown as "café latte". That is the actual value your server receives after decoding.

What is the difference between host and hostname?

Hostname is just the domain. Host includes the port when one is present. Origin is the scheme, hostname and port together — the unit browsers use for same-origin security decisions.

Why do some UTM parameters appear twice?

Because a query string may legitimately repeat a key. Every occurrence is listed here rather than being silently collapsed, since that duplication is often the bug you are looking for.

The parts of a URL

A URL packs several pieces of information into one string: scheme://user:password@hostname:port/path?query#fragment. Most are optional, which is what makes URLs awkward to pick apart by eye when something is not behaving as expected.

One piece never reaches the server: the fragment, everything after #. It is handled entirely by the browser, which is why an analytics tool that reads the fragment has to run client-side.

Debugging query strings

Query strings are where most URL problems live. A value containing an unescaped & splits into two parameters and truncates the data. A value containing an unescaped # turns the rest of the URL into a fragment and never reaches the server at all. Seeing the parsed parameters listed separately makes both failures obvious.

Campaign tracking is the common case: utm_source, utm_medium and utm_campaign have to survive every redirect between the ad and the landing page, and a redirect that drops the query string is a frequent cause of traffic appearing as direct.

To escape a value correctly before building a URL, use the URL encoder. To inspect the headers of the resulting request, use the HTTP header parser.

All developer tools