URL Encoder / Decoder
This tool percent-encodes and decodes URLs so special characters travel safely i
This tool percent-encodes and decodes URLs so special characters travel safely i
How to use URL Encoder / Decoder
- Choose Encode or Decode, then pick Component scope for a single query value or Whole URL scope for a full address.
- Type or paste your text into the input box; the result updates instantly below.
- Click Copy result to grab the output, or Switch to flip between encode and decode using the current result.
About URL Encoder / Decoder
This tool percent-encodes and decodes URLs so special characters travel safely inside a web address. Encoding turns characters like spaces, ampersands, and accented letters into %-escaped sequences (a space becomes %20), and decoding reverses that back into readable text. Pick Encode or Decode, choose a scope, paste your text, and the result updates as you type.
Scope matters. Component mode uses the browser's encodeURIComponent, which escapes structural characters like /, ?, &, =, and # — use it for a single query value or one path segment. Whole URL mode uses encodeURI, which escapes spaces and unsafe characters while leaving those structural characters intact, so a complete address stays usable. When decoding in Component mode, a + is also converted to a space, matching how form query strings are built.
Everything runs entirely in your browser using the standard JavaScript encoding functions — nothing is uploaded, logged, or sent to a server. If decoding fails because of a stray % or an incomplete %XX sequence, the tool tells you instead of returning garbled output.
Frequently asked questions
- What is the difference between Component and Whole URL scope?
- Component (encodeURIComponent) escapes structural characters like / ? & = #, so it is right for a single query value or path piece. Whole URL (encodeURI) leaves those characters intact and only escapes spaces and other unsafe characters, so a full address remains valid.
- Why does a space become %20 instead of a plus sign?
- The URL standard encodes a space as %20. The + shorthand is specific to application/x-www-form-urlencoded query strings. When decoding in Component mode this tool also treats + as a space, but when encoding it produces the standard %20.
- Is my data uploaded anywhere?
- No. All encoding and decoding happens locally in your browser using the built-in JavaScript functions. Nothing you paste is sent to a server, stored, or logged.
- Why do I get a decode error?
- Percent-decoding fails when it hits a lone % or an incomplete %XX sequence, which usually means the text was cut off or double-encoded. Check for a stray % sign, then try again.
- Does it handle emoji and accented characters?
- Yes. Encoding uses UTF-8, so accented letters, non-Latin scripts, and emoji are converted into valid multi-byte percent-encoded sequences and decoded back correctly.
- Can I re-encode something that is already encoded?
- Yes, but be careful: encoding already-encoded text will escape the % signs again (double-encoding). Use the Switch button to decode first if you are not sure of the current state.