URL Encoder / Decoder

This tool percent-encodes and decodes URLs so special characters travel safely i

Updated
Loading tool…

This tool percent-encodes and decodes URLs so special characters travel safely i

How to use URL Encoder / Decoder

  1. Choose Encode or Decode, then pick Component scope for a single query value or Whole URL scope for a full address.
  2. Type or paste your text into the input box; the result updates instantly below.
  3. Click Copy result to grab the output, or Switch to flip between encode and decode using the current result.
Try next →XML FormatterPaste raw or one-line XML and this tool re-indents it into clean, readable marku

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.