URL Parser
Paste a URL to see each component and a table of decoded query parameters, plus a JSON representation you can copy.
- protocol
- https:
- username
- user
- password
- pass
- hostname
- www.example.com
- port
- 8443
- pathname
- /path/to/page.html
- search
- ?q=search+term&page=2&tags=a&tags=b
- hash
- #section-1
- origin
- https://www.example.com:8443
Query parameters
| q | search term |
| page | 2 |
| tags | a |
| tags | b |
JSON
{
"href": "https://user:[email protected]:8443/path/to/page.html?q=search+term&page=2&tags=a&tags=b#section-1",
"protocol": "https:",
"username": "user",
"password": "pass",
"hostname": "www.example.com",
"port": "8443",
"pathname": "/path/to/page.html",
"search": "?q=search+term&page=2&tags=a&tags=b",
"hash": "#section-1",
"origin": "https://www.example.com:8443",
"query": {
"q": "search term",
"page": "2",
"tags": "b"
}
}
About this tool
Long tracking links, OAuth redirects and API calls pack a lot into one line. A parser shows what is really there: which host answers, whether a port or credentials are embedded, what the path is, and each query parameter decoded from its percent-encoding — including repeated keys and plus signs standing for spaces.
Parsing uses the browser's WHATWG URL implementation, the same one that decides where a link actually goes, so edge cases like missing schemes, IPv6 hosts and internationalised domain names behave exactly as in a real navigation. Nothing is sent to a server.
Frequently asked questions
- Why does it add https:// to my input?
- A URL needs a scheme to be parsed. If none is present, https:// is assumed so that bare domains still work.
- Are query values decoded?
- Yes. %20 and + become spaces and other escapes are decoded in the parameter table.
- What is the origin?
- Scheme plus host plus port — the boundary browsers use for the same-origin policy.