URL Encoder & Decoder
Convert special characters in a URL or query value to %XX form, or decode an encoded URL back to readable text.
Free · Runs in your browser · Your text is never uploaded
When URLs need encoding
URLs may only contain a limited set of characters. Anything else, such as spaces, accents, emoji and reserved characters like &, ? and # when used as data, must be written as a percent sign and two hex digits (a space becomes %20).
Which mode should I use?
- A value or parameter: encodes everything except letters, digits and
- _ . ! ~ * ' ( ). Use it for a single query value so an ampersand inside the value does not split the parameter. - A whole URL: keeps structural characters like
:/?#&=intact and encodes the rest, such as spaces and non-ASCII letters. - + for spaces: HTML forms encode spaces as plus signs. Use this when preparing or reading
application/x-www-form-urlencodeddata.
Popular url encoder & decoder presets
Frequently asked questions
What does %20 mean in a URL?
It is a percent-encoded space. The number 20 is the space character’s code in hexadecimal.
What is the difference between encodeURI and encodeURIComponent?
encodeURI (“A whole URL”) leaves URL structure characters alone; encodeURIComponent (“A value”) encodes them too, which is what you want for individual parameter values.
Why does decoding fail with a % error?
A percent sign must be followed by two hex digits. A stray % or a truncated sequence cannot be decoded.
Should spaces be %20 or +?
In the path of a URL use %20. In form data and many query strings + also means a space.