URL Encoder and Decoder
Convert text to percent-encoded form for safe use in a URL, or decode an encoded address back into something readable.
Use component when the text goes inside a query parameter, so that slashes and ampersands are escaped. Use full URL when encoding a whole address, so the structure survives.
How to use
- 1Choose Encode or Decode.
- 2Paste your text or URL into the box.
- 3Pick whether to encode a full URL — which keeps the structure intact — or a single component.
- 4Copy the result.
Frequently Asked Questions
What is the difference between the two modes?
Component encoding escapes everything that has meaning in a URL, including / ? & = and :, so it suits values going inside a query parameter. Full-URL encoding leaves those characters alone so a complete address stays functional.
Why do spaces become %20 sometimes and + at other times?
Percent encoding uses %20. The plus sign comes from the older form-encoding rules used for application/x-www-form-urlencoded bodies. Both appear in the wild, so check which your server expects.
Why does decoding sometimes fail?
Because a % must be followed by two valid hex digits. A stray percent sign — common in text that was never encoded in the first place — makes the whole string invalid.
Do non-English characters work?
Yes. Characters outside ASCII are first converted to UTF-8 bytes, then each byte becomes a percent escape. Hindi, Tamil and emoji all encode and decode correctly here.
Which characters actually need encoding?
Anything outside letters, digits and a handful of safe symbols: spaces, &, ?, =, #, /, + and every non-ASCII character. Encoding more than necessary is harmless; encoding less breaks the URL.
Why does my encoded URL break when I paste it somewhere?
Usually double encoding — running an already-encoded URL through again turns each % into %25. If you see %2520 in a link, that is what happened; decode it once to recover.