URL Encoder/Decoder
Encode and decode URLs with percent encoding
How to use
- Enter your URL or encoded string
- Choose encode or decode operation
- Copy the result
Use cases
- Web development
- API integration
- Link sharing
- Data processing
About the URL Encoder / Decoder
URL encoding (also called percent-encoding) replaces unsafe or reserved characters with %HH sequences so a URL can travel through HTTP intact. Different contexts need different levels of encoding: query parameters need aggressive escaping, while a full URL needs structural characters preserved. This tool exposes both variants and handles Unicode correctly so you don't have to reason about UTF-8 byte order manually.
Features
- Toggle between Component mode (encodeURIComponent) and Full URL mode (encodeURI)
- Handles Unicode, emoji, and reserved characters correctly
- Catches and explains malformed percent sequences
- Copy result with one click
- Works offline — no network call
How it works
- Paste the text or URL you want to encode or decode.
- Pick Encode or Decode mode.
- Choose Component (for a single param) or Full URL (for the whole address).
- Copy the result.
Frequently asked questions
When should I use Component vs Full URL mode?
+
Use Component mode for a single query parameter value — it escapes slashes, colons, and question marks. Use Full URL mode when encoding an entire URL, so structural characters like :// and / stay intact.
Why does my URL fail to decode?
+
A malformed percent sequence like %ZZ (non-hex digits) is invalid UTF-8 and throws. Double-check that every % is followed by exactly two hex digits.
Is this the same as URL encoding?
+
Yes. RFC 3986 calls it percent-encoding; most tooling calls it URL encoding. They're the same thing.
Does it handle emoji?
+
Yes — Unicode characters are UTF-8 encoded first, then percent-encoded per the spec.
Why are spaces encoded as %20 and not +?
+
%20 is correct per RFC 3986. The + shorthand is only valid for application/x-www-form-urlencoded bodies, not URLs.