URL parser and builder
Paste a web address and see its parts: scheme, username, host, port, path, query string and fragment, with every query parameter decoded in a table. Change any part and the page rebuilds the address with correct encoding. It uses your browser's own URL parser and uploads nothing.
Parts
- Scheme
- https
- Username
- user
- Host
- www.example.com
- Port
- 8443
- Origin
- https://www.example.com:8443
- Path
- /docs/a%20b/index.html
- Query string
- ?q=hello+world&tag=a&tag=b&utm_source=news%C3%A9
- Fragment
- #section-2
- The address contains a username or password. Browsers and many sites block or hide these, and anything in a link can be seen by others.
- These keys appear more than once: tag. What happens depends on the site (first, last or all values).
Path segments (decoded)
- docs
- a b
- index.html
Query parameters (decoded)
| # | Key | Value |
|---|---|---|
| 1 | q | hello worldhello+world |
| 2 | tag | a |
| 3 | tag | b |
| 4 | utm_source | newsénews%C3%A9 |
Edit and rebuild
Change any part. The new address is built with correct percent-encoding for values you type.
Rebuilt address
https://user@www.example.com:8443/docs/a%20b/index.html?q=hello%20world&tag=a&tag=b&utm_source=news%C3%A9#section-2
How it works
- •Paste the address. If it has no scheme, https:// is added and you are told.
- •The Parts list shows each piece as the browser reads it. The host is shown in readable form too when it is an international domain name. The query table decodes percent escapes and + as space, and flags repeated keys.
- •In Edit and rebuild, change the host, path, parameters or fragment, add or remove parameters, and copy the new address. Values you type are percent-encoded for you.
What it does and what it cannot do
- •It follows the WHATWG URL standard used by browsers. Other tools and older libraries (RFC 3986) can read odd addresses differently.
- •A fragment (#…) is never sent to the server; it is shown only because it is part of the address.
- •Query strings have no official structure: key=value pairs separated by & is a convention. Some sites use ; or nested forms like a[b]=1, which are shown as plain keys.
- •Addresses that browsers refuse (for example a space in the host) show an error instead of a guess.
Questions
- What are the parts of a URL?
- scheme://username:password@host:port/path?query#fragment. For https://example.com:8443/a/b?x=1#top the scheme is https, host example.com, port 8443, path /a/b, query x=1 and fragment top.
- What is the difference between a host and an origin?
- The origin is scheme + host + port (https://example.com:8443). Browsers use it for security rules like cookies and CORS. The host is only the name.
- Why are some characters shown as %20 or %C3%A9?
- Characters that are not allowed in a URL are written as % plus their UTF-8 bytes. %20 is a space and %C3%A9 is é. The table shows the decoded value and the raw value when they differ.
- Why does + become a space?
- In query strings, + stands for a space (a form-encoding convention). In a path, + is just a plus sign, so the path segments are decoded without that rule.
- Is my address uploaded?
- No. Parsing happens in this page.