URL Encoder Decoder
Percent-encode a value, safely encode a whole URL, or decode %-escapes back to readable text.
Settings
Line by line · %20 for spaces
How to Use URL Encoder Decoder in 3 Steps
Choose a mode
Encode value escapes everything that is not safe inside a query parameter. Encode URL keeps :/?#&= so a full address stays clickable. Decode reverses either.
Paste text
Output updates as you type. Multi-line input is handled line by line unless you switch that off in Settings.
Copy the result
Copy to the clipboard, download a .txt, or press Open to visit a decoded/encoded URL.
URL Encoder Decoder — Frequently Asked Questions
What is the difference between “Encode value” and “Encode URL”?
“Encode value” is encodeURIComponent: it escapes &, =, /, ? and # too, which is what you want for a single parameter. “Encode URL” is encodeURI: it leaves URL structure characters alone so an entire address stays valid.
Why does + sometimes mean a space?
HTML form submissions (application/x-www-form-urlencoded) encode spaces as +; everywhere else %20 is correct. Tick “Use + for spaces” when you are building form data; Decode understands both.
Decoding failed with “malformed” — why?
A lone % or a % followed by non-hex characters is not valid percent-encoding. The tool decodes what it can and flags the bad sequence instead of throwing the whole text away.
Does it handle emoji and non-Latin scripts?
Yes. Text is encoded as UTF-8, so “café” becomes caf%C3%A9 and emoji become four-byte sequences, exactly as browsers do.
Is my input sent anywhere?
No. Everything is computed by JavaScript in your browser tab. Nothing is uploaded, logged or stored by Toolity.