URL encode & decode
Percent-encode and decode URLs and query values, right in your browser. Nothing is uploaded.
Files are processed in your browser and never uploaded.
How to use URL encode & decode
Add your text
Type or paste your text into the input box. Everything is handled by your own browser, so nothing is sent to a server.
Read the result
The output updates as you type, so there is nothing to submit and nothing to wait for.
Copy or save it
Copy result, Don puts the result on your clipboard.
What this tool does
Encode and decode URLs
Percent-encode a value for a URL, or decode one you have been given, with the direction chosen on the mode toggle.
Component and whole-URL modes
Component mode escapes everything that is not safe in a query value. Whole URL mode leaves the slashes and colons that make it a URL.
Full Unicode (UTF-8) support
Text is encoded as UTF-8 first, so accents, emoji and non-Latin scripts encode and decode back to exactly what you started with.
Clear errors on bad input
A malformed percent sequence is reported rather than silently mangled, which is what usually goes wrong decoding a URL by hand.
Works offline, no sign-up
The conversion runs in your browser, so a URL with a token in it is never uploaded.
Frequently asked questions
Is my data uploaded anywhere?
No. URL encoding and decoding run entirely in your browser, so nothing is uploaded. It works offline once loaded.
What is the difference between Component and Whole URL?
Component encodes every special character, which is right for a single query value or path segment. Whole URL leaves structural characters like colon, slash, question mark and ampersand intact so a complete address stays usable.
When should I URL-encode something?
Whenever you put text into a URL, such as a search term or a parameter value, encoding turns spaces and symbols into safe percent-codes so the link works correctly.
Does it handle non-English characters?
Yes. Characters from any language are encoded as UTF-8 percent-codes and decode back exactly.
Why does decoding sometimes show an error?
If the input contains an incomplete or invalid percent-code, it cannot be decoded, and a clear message is shown.
Last updated: