URL Encode/Decode
Percent-encode your URLs. Or un-percent-encode them. Both verbs are ugly.
What this does
URLs have a strict character set. Characters like ?, &, =, #, and / are reserved for structural purposes. If your actual data contains any of those, they need percent-encoding or the URL breaks. This tool does that conversion, and reverses it when you need to read the result.
Common use cases
Building redirect URLs. OAuth callbacks, payment return URLs, tracking links. A redirect URL passed as a query parameter needs encoding so its & and = characters don't collide with the outer URL's parameters.
Debugging messy query strings. Paste an encoded URL, decode it, read the actual parameter values. Tweak what you need, encode it back.
Handling international characters. Accented letters, CJK characters, emoji. They all get UTF-8 encoded first, then each byte gets percent-encoded.
Things to know
Two encoding modes, and picking the right one matters. "Encode" uses encodeURIComponent, which encodes everything except unreserved characters. Use this for individual values: query parameters, form fields, path segments. "Encode Full URL" uses encodeURI, which leaves the URL structure intact and only encodes characters that aren't valid anywhere in a URL.
Double-encoding is the classic pitfall. You encode a string, pass it to a function that encodes it again, and %20 becomes %2520. If you're seeing percent signs in your decoded output, something encoded it twice. Decode once, check the result, decode again if needed.
Privacy
Your text stays in your browser. No server, no API, no logs. Encode and decode freely.