URL Encoder/Decoder
Encode text so it is safe to place in a URL, or decode a percent-encoded URL back to readable text. It handles spaces, query parameters, and special characters that would otherwise break a link.
URL Encoder / Decoder
Switch between encode and decode modes to transform text for safe URL usage or back to readable form.
Why URLs need encoding
URLs may only contain a limited set of characters. Spaces, and symbols like &, ?, =, #, and /, all have structural meaning, so when they appear inside a value they must be 'percent-encoded' - a space becomes %20, an ampersand becomes %26. Without this, a search term with a space or a parameter containing an '&' would split the URL in the wrong place and the link would fail.
Decoding does the reverse, turning %20 back into a space, which is handy when you are reading a long URL someone pasted and want to see the real values.
Encode the value, not the whole URL
The common mistake is encoding an entire URL, which mangles the legitimate slashes and colons.
- Encode only the parts you insert: a search term, a redirect target, a name in a path.
- A redirect parameter (like ?next=...) almost always needs its value encoded, because it is itself a URL.
- Decode a suspicious link to read what it actually points to before clicking.
Explore more free tools
Keep your workflow moving with other Utility Hub tools that pair well with URL Encoder/Decoder. Jump straight into another task without leaving the site.
FAQs
What is the difference between encoding and decoding here?▼
Encoding converts unsafe characters into percent codes so text can live in a URL (space to %20). Decoding reverses it, turning percent codes back into readable characters. Use encoding when building a link, decoding when reading one.
Why does a space become %20 (or sometimes +)?▼
In a URL path, a space is encoded as %20. In the query string of a form submission, a space is often encoded as '+'. Both represent a space; which one applies depends on where in the URL it sits.
Should I encode the entire URL?▼
No. Encoding the whole URL escapes the slashes and colons that give it structure, breaking it. Encode only the individual values you are inserting, such as a parameter's content.
Which characters need to be encoded?▼
Reserved characters with special meaning (& ? = # / : space and others) must be encoded when used as data rather than structure. Letters, digits, and a few symbols like - _ . ~ are safe and left alone.
Is my input sent anywhere?▼
No. Encoding and decoding run in your browser, so the text stays on your device.
What is double-encoding and why is it a problem?▼
Double-encoding happens when already-encoded text is encoded again, so %20 becomes %2520. The server then decodes it once and gets %20 instead of a space. Encode a value only once.
Why does my query parameter break when it contains an '&'?▼
An unencoded '&' starts a new parameter, so the value is cut off. Encode it as %26 inside the value and the whole string is preserved as one parameter.
Does encoding handle emojis and non-Latin text?▼
Yes. Such characters are encoded as their UTF-8 bytes in percent form, which can be several codes per character. They decode back correctly as long as UTF-8 is used throughout.
Is URL encoding the same as Base64?▼
No. URL encoding escapes individual unsafe characters with percent codes and keeps the text mostly readable. Base64 transforms the whole input into a different character set. They solve different problems.
Why should I decode a link before clicking it?▼
Encoded characters can hide the true destination of a link, a trick used in phishing. Decoding reveals the real URL and any redirect targets so you can judge whether it is safe.
More tools from Developer Tools
Continue with related utilities when this task is part of a bigger workflow.