URL encoder and decoder
Turns hello world & more into hello%20world%20%26%20more and back, for query strings, links and APIs.
Runs in your browser. Nothing you enter is sent to our server.
About this tool
Only a limited set of characters is allowed in URLs. Spaces, non-ASCII letters and &, = or ? inside values must be encoded: each UTF-8 byte is written as % plus two hex digits.
By default the tool encodes a parameter value completely (like encodeURIComponent). To encode a ready-made link without breaking its structure, switch on whole-URL encoding.
How to use
- Choose “Encode” or “Decode”.
- Paste text or a link — the result appears immediately.
- When decoding HTML form data, turn on “Treat + as a space”.
Examples
hello world & more
hello%20world%20%26%20more
caf%C3%A9
café
Frequently asked questions
What is the difference between encoding a parameter and a whole URL?
Parameter encoding also escapes / ? & = #, which would otherwise break the address. Whole-URL encoding keeps them.
Is a space %20 or +?
In URLs it is %20. The + for a space is only used in HTML form data (application/x-www-form-urlencoded).
Why does decoding fail?
Usually a % is not followed by two hex digits, or the bytes do not form valid UTF-8 — for example when a link was cut off.