URL Encode and Decode

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.

Scroll to Top