URL Encode · Decode
Percent-encode text and query values, or decode them back.
0 B uploaded — nothing you enter has been sent anywhere?
Other tools send what you type to a server and process it there. Even when they promise to erase it afterwards, your text sits on someone else’s machine in the meantime. Here there is no sending step at all. The more sensitive the content — passwords, contract wording, private notes — the more that difference matters. See how to verify it →
Put spaces, symbols and accented text into a URL safely, and read mangled links back
Copy a link whose search term has spaces or accented letters and you get strings like %20 or %C3%A9 in it. This tool converts text into that percent notation and back again. You can choose between a mode for a single value and a mode for a whole address.
A closer look
A URL can only carry letters, digits and a handful of symbols as they are. Everything else is converted to UTF-8 bytes, and each byte is written as % followed by two hex digits. A space becomes %20, an accented letter like é takes two bytes and becomes %C3%A9, and an emoji takes four bytes, twelve characters in all. Symbols such as ?, &, =, # and / act as separators in an address, so when they appear inside a value they must be encoded, or the URL will be split in the wrong place.
In the drop-down, encodeURIComponent (for query values) leaves only letters, digits and a few marks such as - _ . ~ untouched and encodes the separators too. encodeURI (for full URLs) keeps the characters that form an address’s skeleton, ; , / ? : @ & = + $ #, and converts only things like spaces and non-ASCII letters. Decoding ignores the drop-down and reverses every percent sequence; following the convention web forms use for spaces, it also reads + as a space. Decoding always assumes UTF-8.
How to use it
- Paste the text or address into the Plain text box at the top.
- Choose encodeURIComponent (for query values) for a single value or encodeURI (for full URLs) for a complete address.
- Press ↓ Encode to fill the Encoded string box below. To go the other way, put percent-encoded text in the lower box and press ↑ Decode; the readable text appears in the top box.
- Use Copy plain or Copy encoded to take the side you need. Each result overwrites whatever was in its box.
When it helps
Common snags
Tip When in doubt, encode only the part that goes after an = sign, using encodeURIComponent; that one habit prevents most broken links.
Notes
component vs URI — what's the difference?
encodeURIComponent also encodes separators like ?, &, = — use it when inserting a single query value. encodeURI keeps the URL structure intact and only encodes spaces and non-ASCII characters — use it for a whole address.