URL Encode and Decode

Turn the %20 and %3A in a link back into something readable — or the other way round. Query parameters are broken out one by one.

Direction
Scope

Plain text

Encoded result

The encoded result will appear here

Enter a URL or upload a file

How URL encoding works

A URL may only contain a limited set of characters. Everything else is written as a percent sign followed by two hex digits: a space becomes %20, and a Cyrillic letter becomes several bytes. What matters is which characters form the structure and therefore must be left alone.

Value (encodeURIComponent)

For a single parameter value or path segment. The separators — : / ? # & = — are encoded too, because here they are text rather than structure. It is the form-data standard, so a space may also appear as +.

hello world → hello%20world

Whole URL (encodeURI)

For a complete address. The characters that make up the structure stay put and only illegal ones — a space, for instance — are encoded. This is what you want when fixing a space in your link.

https://a.uz/q?s=hello world → https://a.uz/q?s=hello%20world

Which character changes when

CharacterAs a valueAs a whole URL
space%20%20
:%3A:
/%2F/
?%3F?
#%23#
&%26&
=%3D=
+%2B+
@%40@

The difference is exactly this table: value mode encodes the separators, whole-URL mode preserves them. Running value encoding over a complete link therefore breaks it — the result is only correct when that link is being embedded inside another URL.

Frequently asked questions

What is the difference between Value and Whole URL?

They are two different standards. Value mode (encodeURIComponent) also encodes : / ? # & =, which is right for a single parameter value or path segment. Whole-URL mode (encodeURI) preserves them and encodes only illegal characters. Apply value encoding to a complete link and https://… becomes https%3A%2F%2F… — a string that no longer works as a link, and is only meaningful when embedded as a value inside another URL.

Why does + sometimes become a space?

Form data (application/x-www-form-urlencoded) writes a space as +. So in Value mode decoding turns + into a space — which is exactly what query strings copied out of a browser address bar need. A literal plus is encoded as %2B. In Whole-URL mode + is left alone, because in a path it is an ordinary character.

When do I need URL encoding?

Whenever a value goes inside a URL: a search query, an email address, another link, anything a user typed. An unencoded & or = breaks the parameter boundaries, and a space truncates the link in some places. This is not encryption — it hides nothing; it only separates text from URL structure.

Is my data sent to a server?

No. Encoding, decoding and the URL breakdown all happen in your browser. After the page has loaded this tool makes no network requests at all, so it is safe to use with links that carry a token.