This URL encoder and decoder converts text to percent-encoding for use in web addresses and decodes it back. It can encode a single query value or a full URL, handles spaces as %20 or +, and breaks any URL into its protocol, host, path and parameters.
What is URL encoding?
URLs can only contain a limited set of characters. Others, such as spaces, accented letters and symbols like & or ?, are replaced with a % followed by two hexadecimal digits for each UTF-8 byte. This is called percent-encoding.
Common encodings
| Character | Encoded |
|---|---|
| Space | %20 (or + in form data) |
| & | %26 |
| = | %3D |
| ? | %3F |
| / | %2F |
| # | %23 |
| é | %C3%A9 |
Value mode vs full-URL mode
Use value mode for text that goes inside a parameter, such as a search term; it encodes characters like & and = so they do not break the URL. Use full-URL mode for a whole address; it keeps the characters that give a URL its structure.
Example
café & crème encodes to caf%C3%A9%20%26%20cr%C3%A8me.
Frequently asked questions
Should spaces be %20 or +?
Use %20 in paths and most URLs. The + sign means a space only in form-encoded query strings (application/x-www-form-urlencoded).
Why is my URL double encoded?
If a URL is encoded twice, % becomes %25, giving sequences like %2520. Decode it twice, or make sure your code encodes only once.
Which characters do not need encoding?
Letters, digits and – _ . ~ never need encoding. Others depend on where in the URL they appear.
Is my data sent to a server?
No. Encoding and decoding run in your browser.
Related calculators
Sources
Last reviewed: October 2026. For information only; results are estimates; check important figures with a professional.