How to use the url encoder and decoder
- Choose Encode, Decode or Parse URL.
- Pick Component mode for a single value or path segment, or Full URL mode to keep :/?#&= intact.
- Optionally use + for spaces (HTML form encoding).
- In Parse URL, paste a URL to see its parts and a decoded parameter table. Edit parameters to rebuild a correctly encoded URL.
Worked example
Encoding a query value
In component mode, Zoë & Co becomes Zo%C3%AB%20%26%20Co: ë is two UTF-8 bytes, and the space and ampersand are escaped. In full URL mode, https://example.com/a b?x=é becomes https://example.com/a%20b?x=%C3%A9, keeping the URL structure.
How it works
Encoding uses the browser's encodeURIComponent or encodeURI, which percent-encode the UTF-8 bytes of each character outside their allowed sets. Decoding uses the matching decode function; when it fails, the tool locates the first % not followed by two hex digits or the first byte sequence that is not valid UTF-8. Parsing uses the WHATWG URL API.
Frequently asked questions
Is my data uploaded?
No. This tool runs entirely in your browser. Your input is processed on your device and is not sent to our server or stored.
When should I use component mode instead of full URL mode?
Use component mode for anything you insert into a URL, such as a query value, so characters like & and = are escaped. Use full URL mode only on a complete URL whose structure you want to keep.
Why does decoding fail with a percent sign?
A literal % must be written as %25. A % followed by anything other than two hex digits is malformed, and the tool shows where it is.
Should spaces be %20 or +?
In paths always use %20. In query strings both are common: + comes from HTML form encoding. Turn on the + option only if the receiving system expects form encoding.
Limitations
- Parse mode needs an absolute URL; https:// is added if you leave the scheme out.
- Internationalised domain names are shown in their punycode (xn--) form by the URL parser.