URL Converter
URLs may only contain a limited set of characters: letters, digits, and a handful of symbols like '-', '_', '.' and '~'. Everything else — spaces, punctuation, non-Latin characters, or characters that already have a special meaning in a URL (like '&', '?' or '#') — must be 'percent-encoded' per RFC 3986: each character is replaced with a '%' followed by its hexadecimal code, so a space becomes '%20', for example. This tool does both sides of that conversion in one screen: choose 'Encode' at the top to convert plain text into a URL-safe form, or 'Decode' to read a percent-encoded string (say, from a query parameter, link, or server log) back as readable text. You only ever type in one direction at a time, so just flip the toggle to whichever you need at the moment. Everything happens entirely client-side using your browser's built-in `encodeURIComponent`/`decodeURIComponent` functions — nothing is sent to a server.
What people use this for
Encode: hallo wereld & jij? → hallo%20wereld%20%26%20jij%3FEncode: café/münchen → caf%C3%A9%2Fm%C3%BCnchenDecode: price%3D%E2%82%AC49.95 → price=€49.95Decode: search%3Dwestcube%26page%3D2 → search=westcube&page=2
What others think of this tool
No reviews for this tool yet. Yours would be the first.
Do you work with Westcube?
Leave a review on Google tooFrequently asked questions
What is percent-encoding and why do I need it?
Percent-encoding (also called URL encoding) is the RFC 3986 standard for converting characters that aren't allowed in a URL — or that already carry a special meaning there — into a safe representation. Without encoding, a search term containing a space or an '&' character would corrupt a URL's query parameters, or a server might fail to interpret the link correctly. Decoding is the reverse step: turning an encoded string back into readable text.
When should I use URL encoding, and when shouldn't I?
Use encoding for the value of a query parameter or a path segment that came from user input (a search term, an email address, free text) before appending it to a URL. Don't encode an entire URL as a whole — that would also convert the necessary '://' and '/' characters and break the link. `encodeURIComponent` (what this tool uses in the Encode direction) is meant for individual components; `encodeURI` treats a full URL differently and leaves structural characters intact.
Why are punctuation characters like '/' and '?' encoded too?
These characters carry a reserved meaning in the URL structure itself ('/' separates path segments, '?' starts the query string, '&' separates parameters). If your search term or input contains such a character and you don't encode it, the browser or server will interpret it as part of the URL's structure rather than as literal text — which is why `encodeURIComponent` converts these characters by default too.
Why do I sometimes see '+' characters instead of '%20' for spaces?
This is a historical quirk: in the query string of an `application/x-www-form-urlencoded` form POST (the classic HTML form format), a space is traditionally encoded as '+' rather than '%20', even though both are valid percent-encoding for a space elsewhere in a URL. The Decode direction of this tool works strictly per `decodeURIComponent`, which correctly converts '%20' to a space but leaves a standalone '+' as-is — keep that in mind if your input comes from a form body.
Why am I getting an error when decoding?
This usually happens when a '%' character isn't followed by two valid hexadecimal digits — for example a stray '%' at the end of the string, or a truncated code like '%2'. Check that you pasted the complete, unmodified encoded text and that no characters were lost when copying. The Encode direction doesn't produce this type of error: plain text is always valid input to encode.
Can I decode or encode an entire URL with this, including the domain?
Decoding a complete URL works fine as long as the domain and scheme (https://) themselves don't contain encoded characters — which is almost always the case. Encoding a complete URL, on the other hand, isn't recommended: it would also convert the necessary '://' and '/' characters and break the link. So only use encoding for individual components (a query value, a path segment), not for a whole URL.
Is the text I encode or decode here sent to a server?
No. Both directions happen entirely locally in your browser using JavaScript's built-in `encodeURIComponent` and `decodeURIComponent` functions. Nothing is sent to any Westcube server (or anyone else's), nothing is logged, and nothing is retained — even if you paste a link containing sensitive parameters.