URL Encoder / Decoder
Percent-encoding both ways, with the encodeURIComponent and encodeURI difference shown.
Where the two scopes differ
How to use
- Paste the text or the URL. The result appears as you type.
- Encode or decode with the toggle; the arrow button moves the result back into the input.
- Component escapes a single value. Full URL leaves / ? & = # alone, for a whole address.
Examples
A Korean search term in a query string
Encoding 한글 gives %ED%95%9C%EA%B8%80 — three bytes per character, because the text becomes UTF-8 first and each byte is then written as %XX.
A link that breaks
A value containing & splits the query string in two. Component mode escapes it to %26 and the link survives; Full URL mode leaves it as a separator.
A pasted address full of %20
Decode turns it back into readable text. If the paste was cut mid-sequence the tool says so instead of showing a mangled result.
Romanising a name is a different job
Percent-encoding keeps the Korean as Korean; it does not turn 홍길동 into Hong Gildong. Korean Romanizer
FAQ
encodeURIComponent or encodeURI?
Component for one piece going into a URL — a query value, a path segment, a hash. Full URL for an address you have already assembled, because it leaves alone the reserved characters / ? & = # : that hold a URL together.
Is my text sent anywhere?
No. Encoding and decoding both run in your browser; nothing is uploaded or logged.
Why does one Korean character become nine?
A URL may only carry ASCII, so the text is encoded as UTF-8 and every byte is written as %XX. Most Hangul syllables are three bytes, which is three %XX groups.
Decoding failed — what does that mean?
The input is not valid percent-encoding: a stray %, a pair like %ZZ, or a multi-byte sequence cut short by a truncated copy-paste. Check the end of the string first.
What about the plus signs in a form URL?
In form submissions a plus means a space, but in a path it means a plus. Tick the option when you are decoding a query string.
Is this Base64?
No. Percent-encoding makes text safe inside a URL and keeps it readable; Base64 rewrites bytes into a different alphabet. Different purpose, different output.