URL Encoder & Decoder - Percent-Encoding Made Simple
Spaces, ampersands and non-English letters cannot travel raw inside a URL - they get mangled, break query strings, or change the meaning of the address. Percent-encoding fixes that by replacing each unsafe byte with a % code. This tool does it both ways and shows you exactly what happened to every character.
Per-character breakdown
Encode something and every character of your input is explained here.
How to use the URL Encoder & Decoder
- Paste text or a URL into the box.
- Choose Component mode for a query value, or Full URL mode for a whole address.
- Click Encode or Decode, then copy the result.
How it works
Percent-encoding works on the UTF-8 bytes of a character: the space becomes %20, an ampersand becomes %26, and the letter "é" becomes %C3%A9 - one % code per byte. The two modes differ in what they protect: encodeURIComponent (Component) also encodes characters like / ? : and # because a query value must not contain the URL's own punctuation; encodeURI (Full URL) leaves that punctuation intact because it belongs to the address itself. Choosing the wrong mode is the classic beginner bug - encoding a full URL in Component mode destroys it, and encoding a query value in Full mode leaves & and = free to break your parameters.
Worked example
The search text "loona tools & guides" in Component mode becomes loona%20tools%20%26%20guides - safe to place after ?q= in an address. The same text barely changes in Full URL mode, which is why mode choice matters.
Frequently Asked Questions
Is this URL encoder free?
Yes - free, with no sign-up and no limits.
Which mode should I use?
Component mode for anything that goes inside a URL as a value (search text, names, redirect targets). Full URL mode only when you are encoding an entire address and must keep its : / ? # structure.
Why does one letter sometimes become two % codes?
Non-English characters are stored as several UTF-8 bytes, and each byte gets its own % code - for example é becomes %C3%A9. That is correct and every server understands it.
What does decoding do with a broken % sequence?
It reports an error instead of guessing, because a malformed sequence like %zz has no valid meaning.
Is my text uploaded?
No - encoding and decoding happen entirely in your browser.