URL Encode & Decode
Encode text for use in a URL or query string, or decode a percent-encoded string back to readable text.
Runs in your browser — nothing is uploaded.
How to use it
- Pick Encode or Decode and paste your text. The result updates as you type.
- Choose the flavour: Component for a single query value or path segment, Whole URL to keep / ? # & = intact, Form for application/x-www-form-urlencoded (+ for spaces).
- If decoding fails, the text has a stray % that is not followed by two hex digits, or bytes that are not valid UTF-8.
Frequently asked questions
Is my text uploaded?
No. The conversion runs in your browser and nothing is sent anywhere.
What is the difference between Component and Whole URL?
Component (encodeURIComponent) escapes every reserved character, including / ? # & = and :, so it is right for one value. Whole URL (encodeURI) leaves them alone so a complete address keeps working.
When should I use the Form flavour?
For HTML form bodies and many query strings: spaces become + instead of %20, and !'()~ are escaped too. Decoding in this mode turns + back into a space.
Why does decoding say “malformed”?
A % must be followed by two hex digits, and the bytes must form valid UTF-8. Something like “100%” or “%E0%A4%A” cannot be decoded.
Does it handle emoji and accents?
Yes. Text is encoded as UTF-8, so é becomes %C3%A9 and an emoji becomes four %XX groups.