URL Parser
Paste a URL to break out every part - scheme, host, port, path, query parameters and fragment - then edit any parameter and watch the URL rebuild live.
Query parameters
Edit a decoded value to rebuild the URL below.
| Key | Raw value | Decoded value (editable) |
|---|
The anatomy of a URL
Read left to right, a URL is a stack of parts:
scheme://userinfo@host:port/path?query#fragment. The
scheme (https) says which protocol to speak. The optional
userinfo (user:pass@) carries credentials. The host and
port say where to connect - the port is often implied (443 for https, 80 for
http). The path points at a resource on that server. The
query (after ?) passes named parameters, and the
fragment (after #) points at a spot within the returned page.
The interview fact: fragments never leave the browser
Here is the detail that trips people up. Everything up to and including the query string is
sent to the server in the request line. The fragment - everything after the # -
is not. The browser strips it off and keeps it locally, which is why it drives client-side
routing and in-page anchors but can never be read by your backend. If a value has to reach the
server, it belongs in the query string, not the fragment.
Percent-encoding
A URL may only hold a restricted character set, so anything outside it is percent-encoded: a
space becomes %20, an ampersand inside a value becomes %26, and so
on. The table above shows each parameter twice - the raw encoded value and the decoded value -
and lets you edit the decoded form so the tool re-encodes it correctly for you. For bulk
encoding, the URL encoder handles whole strings, and the
JSON formatter or JWT decoder help
once you have pulled a value out of a link.