URL Parser

Parse and analyze URLs

About URL Parser

URL Parser splits an address with the URL class built into your browser, the parser browsers use to follow links. It shows protocol, hostname, port, pathname, search, and hash, then lists every query parameter with its value decoded (%C3%A9 becomes é and + becomes a space); a key that appears twice keeps both values, separated by a comma. The address is shown as the browser normalizes it: lowercase host, ../ segments resolved, punycode for international domain names. Username, password, and origin are not displayed, and the hostname is not split into subdomain and domain.

Example

An address with a mixed-case host, a ../ segment, a repeated key, and an encoded value:

URL

https://Shop.Example.com:8443/a/../docs/list?tag=red&tag=blue&q=caf%C3%A9+au+lait#reviews

Parse URL

protocol   https:
hostname   shop.example.com
port       8443
pathname   /docs/list
search     ?tag=red&tag=blue&q=caf%C3%A9+au+lait
hash       #reviews

Query params
tag = red, blue
q = café au lait

How to parse a URL

  1. 1Paste the full address, starting with its scheme, such as https://.
  2. 2Click "Parse URL"; an address the browser cannot read gives Invalid URL.
  3. 3Read the protocol, hostname, port, pathname, search, and hash rows; an empty one shows a dash.
  4. 4Check each parameter under "Query params", where values are already decoded.

Formats and limits

Parser
The browser's URL class (WHATWG URL Standard)
Rows shown
protocol, hostname, port, pathname, search, hash, then Query params
Query values
Decoded; a repeated key keeps all its values, joined with a comma
Not shown
Username, password, and origin; subdomain and registered domain are not separated

Where your URL is processed

The address is parsed by your browser in this page and is not sent to our servers. The rows appear as page text, so if you turn on a translation in the language menu, Google receives them: turn translation off before parsing links that carry tokens or keys. When an address cannot be parsed, we receive the message Invalid URL, the tool's name, and your browser's name and version.

Frequently asked questions

Why is my URL invalid?

A missing scheme is the most common cause: example.com/page is refused, while https://example.com/page works. A space inside the host name or a port above 65535 also makes the browser refuse the address.

Why does localhost:3000 show localhost: as the protocol?

The URL parser reads a word followed by a colon at the start of an address as a scheme. Write http://localhost:3000 to get the hostname localhost and the port 3000.

Why is the port empty for https://example.com:443?

The parser drops a port that matches the scheme's default, and 443 is the default port of https. The same happens with :80 on an http address.

Are query values shown decoded?

Yes. In Query params, %XX sequences are decoded as UTF-8 and + becomes a space, the way form data is read. The search row keeps the raw query string exactly as it appears in the address.

Tips and tricks

  • ✓To encode a value before adding it to a query string, use URL Encoder.
  • ✓Paste a link from an email here to see its real host before you open it.