URL ENCODER / DECODER
Percent-encode text or a URL, or decode it back. Nothing leaves your browser.
How to encode or decode a URL
- 1
Paste the text or URL you want to encode (or a percent-encoded string to decode).
- 2
Switch between Encode and Decode.
- 3
Choose Component to escape every reserved character, or Full URL to keep URL structure characters like / and : intact.
- 4
Copy the result.
Questions
- What's the difference between Component and Full URL encoding?
- Component encoding (encodeURIComponent) escapes every reserved character, including / ? & = — use it for a single query string value. Full URL encoding (encodeURI) leaves URL structure characters like :, /, ?, and & untouched, so it's meant for encoding an entire URL you already have.
- Why do spaces turn into %20?
- Percent-encoding represents any character outside the URL-safe set as %XX, where XX is its byte value in hex. A space is byte 0x20, so it becomes %20 (some encoders use + instead, but %20 is the standard percent-encoding form used here).
- Why does decoding sometimes fail?
- Decoding fails when the input contains a % that isn't followed by two valid hex digits, or an incomplete multi-byte UTF-8 sequence — that means the text wasn't valid percent-encoded data to begin with.
- Is my URL sent anywhere?
- No. Encoding and decoding both run locally in your browser using JavaScript's built-in encodeURIComponent/decodeURIComponent — nothing is transmitted.