URL Parser

URL Parser splits a URL into its individual components — protocol, hostname, port, path, query string and fragment — and lays out every query parameter in a clean key/value table.

Paste a link and instantly see exactly how it is structured. Parsing uses your browser's built-in URL engine, so the breakdown is accurate to the spec and nothing is sent to a server.

How to use URL Parser

  1. 1

    Paste a URL

    Enter a full URL like https://example.com/path?q=1#top. A bare host such as example.com/path is assumed to be https.

  2. 2

    Read the components

    Each part — protocol, host, port, path, query and fragment — is shown in its own field, ready to copy.

  3. 3

    Inspect the query parameters

    Every name/value pair from the query string is decoded and listed in a table.

The anatomy of a URL

A URL is made of well-defined pieces: a scheme (or protocol) like https, an optional userinfo section, a host, an optional port, a path, an optional query string introduced by ?, and an optional fragment introduced by #. Each piece has its own rules and its own purpose.

The origin — scheme plus host plus port — identifies the server and is the unit browsers use for security boundaries. The path and query identify the resource and its parameters. The fragment is handled entirely by the browser and is never sent to the server.

Reading the query string

The query string carries parameters as name=value pairs separated by &. This tool parses them with the same WHATWG URL engine the browser uses, decodes each value, and presents them as a table so repeated keys and empty values are easy to spot.

Seeing parameters laid out vertically makes it far quicker to confirm tracking tags, pagination state or API arguments than scanning a long single-line query by eye.

Frequently asked questions

Do I have to include the protocol?
It is best to include it, but if you omit the scheme the parser assumes https:// so you can paste something like example.com/path and still get a full breakdown.
Are query parameter values decoded?
Yes. Each value in the parameter table is percent-decoded, so you see the real text rather than the encoded form.
Is the fragment sent to the server?
No. The fragment (the part after #) is used only by the browser and is never transmitted in the HTTP request.

Last updated: