URL Parser — Split a URL into Its Parts
URL component breakdown with decoding, IDN hosts and query parameter editing
Runs in your browser · nothing is uploaded
What it is
A long URL is hard to read by eye: where does the host end and the query begin? This tool splits an address into protocol, credentials, host, port, path, query and hash, and decodes percent-encoded values so you can read them. Query parameters can be edited right in a table.
How to use
- Paste a full address starting with
https://into the URL box. - In the “URL components” table, read the raw and decoded value of each part and copy what you need.
- In the “Query parameters” table, edit keys and values, or use the delete and add buttons.
- Changes go straight back into the URL in the input, so you can copy the result as it is.
How it works
- Parsing is done by the browser’s
URLobject, which implements the WHATWG URL standard. It is not a home-made parser, so the result matches what the browser does. - Components are
protocol,username,password,hostname,port,origin,pathname,searchandhash. A default port shows as empty. - Percent encoding (
%ED%95%9C) is decoded as UTF-8; malformed escapes are left as they were. - Internationalized hosts are converted between the
xn--form and the Unicode form following the punycode rules of RFC 3492. - Query parameters are read and written with
URLSearchParams. Repeated keys keep their order, and a key without a value (?flag) is shown with an empty value. - Input with no scheme, an empty host or stray spaces gets an error message and nothing else happens. The tool never connects to the address.
Examples
| Input | Result |
|---|---|
https://münchen.de/straße |
host xn--mnchen-3ya.de, Unicode münchen.de |
https://예시.한국/경로?이름=홍 길동#해시 |
path /%EA%B2%BD%EB%A1%9C, decoded /경로, parameter 이름=홍 길동 |
https://example.com:443/a |
port empty (default port) |
https://e.com/?q=%F0%9F%98%80 |
q = 😀 |
Notes
- If the address contains a username or password, a notice is shown. Keep such URLs off shared screens.
- Other schemes such as
mailto:andftp:can be split into components too.
FAQ
Which rules are used to parse the URL?
The WHATWG URL standard as implemented by your browser's built-in `URL` API. It parses exactly as an address bar or link would, so host names are lowercased, default ports (443 for https, 80 for http) are dropped and `..` in paths is resolved automatically.
How are internationalized domain names shown?
A Unicode host is converted to punycode (the ASCII form starting with `xn--`) by the standard and shown under Host (ASCII); the readable original appears under Host (Unicode). Paste an address that is already in punycode and it is decoded back to Unicode.
Why is example.com/path rejected?
The URL standard needs a scheme such as `https://` before it treats a string as a complete URL. Without one the protocol is unknown, so you get an error asking you to add a scheme.
Does editing a query parameter change my original URL?
Editing a key or value, or adding or deleting a parameter, rewrites the URL in the input above. The path and hash are kept; the query is re-encoded by URLSearchParams rules (spaces become +, non-ASCII becomes %XX).
Related tools
URL Encoder/Decoder
A URL percent-encoder and decoder that handles Unicode and emoji
Regex Tester
JavaScript regex tester with flags, match highlighting, group table and replace preview
QR Code Generator
Create URL, Wi-Fi and contact QR codes and download them as PNG or SVG
JWT Decoder
Decode JWT header and payload and check expiry (no signature verification)
Punycode Converter
A converter between Unicode domain names and their xn-- Punycode form