About this URL parser
This URL parser splits a web address into the parts defined by the URL standard and shows each one in a table: protocol, user name and password, host, port, path, query string and hash (fragment). It uses your browser's own URL parser, the same one that loads pages, so the result matches what the browser would do. The address is not sent anywhere.
The parts of a URL
Take https://www.example.com:8080/docs/index.html?q=hello#top:
- Protocol (scheme):
https:says how to talk to the server. - Host:
www.example.comis the server name. The port,8080, is optional; when it is missing the default for the protocol applies (443 for https, 80 for http). - Path:
/docs/index.htmlidentifies the resource on that server. - Query:
?q=hellocarries parameters as name=value pairs separated by&. - Hash:
#toppoints at a place inside the page. Browsers do not send it to the server.
The origin, the protocol plus host plus port, is what browsers use to decide whether two pages may share data.
Edit the query parameters
The query string is shown as a list of keys and values, with percent-encoding removed so you can read them. Change a value, rename a key, delete a row or add a new one, and the rebuilt URL below updates at once. Repeated keys, such as tag=a&tag=b, stay as separate rows in order. Use Use rebuilt URL above to feed the result back into the parser.
Example
For the sample address loaded in the box, the table shows the host www.example.com, port 8080, the user name user, the path /docs/a%20b/index.html and four query parameters: utm_source=news, q=hello world, and the repeated key tag with the values a and b. Change utm_source to email and the rebuilt URL changes at once, ready to copy into a campaign link or a test request.
Good to know
- When the query is rebuilt, each key and value is percent-encoded again, so a space becomes
%20and a value that arrived as+is kept as a space. The meaning is the same, but the text of untouched parameters can change slightly. - If you paste an address without a protocol, the tool tries it with
https://in front and tells you. - International domain names are shown in their ASCII (punycode) form, which is how browsers send them.
- To encode or decode a single piece of text, use the URL encoder. To add campaign tags to a link, use the UTM builder.
Frequently asked questions
A URL has a protocol (scheme), optional user information, a host, an optional port, a path, an optional query string and an optional hash. This parser lists each one for any address you paste.
The hostname is the name only, such as www.example.com. The host adds the port when one is written, such as www.example.com:8080.
When an address does not state a port, the browser uses the default for its protocol: 80 for http and 443 for https. The table shows the port field as empty in that case.
Yes. Each parameter is a row you can change, remove or add to. The rebuilt URL updates as you type, and you can copy it or send it back to the parser.
The tool decodes each key and value for editing and encodes them again when it rebuilds the URL. Spaces become %20 and special characters are percent-encoded, which keeps the meaning but can change the text.
No. Parsing uses your browser's built-in URL support and runs locally. Nothing is uploaded.