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
- 1Paste the full address, starting with its scheme, such as https://.
- 2Click "Parse URL"; an address the browser cannot read gives Invalid URL.
- 3Read the protocol, hostname, port, pathname, search, and hash rows; an empty one shows a dash.
- 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.