URL parser and encoder
Understand exactly what a URL contains and produce correctly encoded query strings.
| Scheme | https: |
|---|---|
| Host | shop.example.com |
| Port | 8443 → 8443 |
| Origin | https://shop.example.com:8443 |
| Path | /catalog/winter%20sale |
| Path segments (decoded) | catalog / winter sale |
| Query | ?page=2&sort=price%20asc&q=caf%C3%A9 |
| Fragment | #results |
| User | — |
| Password | — |
| Punycode host | no |
Query parameters (decoded)
| page | 2 |
| sort | price asc |
| q | café |
Percent-encode and decode
| encodeURIComponent | name%3DJ%C3%B6hn%20Doe%26city%3DS%C3%A3o%20Paulo |
|---|---|
| encodeURI | name=J%C3%B6hn%20Doe&city=S%C3%A3o%20Paulo |
| Decoded | name=Jöhn Doe&city=São Paulo |
Monitor the exact URLs your users hit, query strings included. Free for 5 monitors, no credit card.
Start monitoringHow it measures
- Parsing follows the WHATWG URL Standard through the browser's URL class, the same behaviour as fetch and links.
- encodeURIComponent and encodeURI are shown side by side because they encode different characters.
Limits
- Passwords in URLs are hidden in the output but still present in your input; avoid pasting credentials.
- Scheme-relative or relative URLs are resolved against https:// for display.
Troubleshooting
- Plus signs decode as spaces unexpectedly
- Form encoding (application/x-www-form-urlencoded) uses + for spaces; percent-encoding in paths does not. The decoder here treats + as a space, like query strings.