URL Encode and Decode Free
Encodes text or a URL into percent-encoded form, or decodes it back to the original text.
About this tool
Non-ASCII characters, such as accented letters and emoji, are converted to UTF-8 bytes and each byte is percent-encoded.
Decoding also converts + back to a space, matching the form query-string format.
This tool runs entirely in your browser. Nothing you enter is sent to our server.
When to use it
Useful when building a URL by hand, debugging a query string that contains special characters, or checking what a particular character encodes to.
How the encoding works
Letters, numbers and - _ . are left unchanged, and a space becomes +. Every other character is first converted to UTF-8 bytes, and each byte becomes % followed by two hexadecimal digits, so é becomes %C3%A9. This matches PHP's urlencode, which also encodes * and ~, rather than the %20-for-space style used elsewhere.
FAQ
- Will decoded non-English text ever come out garbled?
- No, as long as the input is a correctly percent-encoded UTF-8 string — it's decoded as UTF-8 before being shown.
- What happens to a + sign when decoding?
- It's converted back to a space, matching the form query-string format.