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. 1

    Paste the text or URL you want to encode (or a percent-encoded string to decode).

  2. 2

    Switch between Encode and Decode.

  3. 3

    Choose Component to escape every reserved character, or Full URL to keep URL structure characters like / and : intact.

  4. 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.