Monitoring
Solutions
Resources
Free Tools
Pricing
Free Tools / HTTP & web / URL Encode / Decode

URL Encode / Decode

Encode text so it is safe in a URL, or decode a string full of %20 and %3D back into something readable. Paste a whole URL and its query parameters are laid out in a table.

Runs entirely in your browser — nothing you enter here is sent to a server.

What URL encoding is for

A URL may contain only a limited set of ASCII characters, and several of those have a job: ? starts the query string, & separates parameters, = separates a name from its value, # starts the fragment, / divides the path. If the data itself contains one of them — or a space, or any non-ASCII character — it must be written differently, or the URL will be cut in the wrong place.

Percent-encoding is that different way. Each unsafe byte is replaced by % and two hexadecimal digits: a space becomes %20, & becomes %26, and é — two bytes in UTF-8 — becomes %C3%A9. The receiving server decodes the values after it has split the URL apart, so the reserved characters in your data cannot be mistaken for structure.

Encode a component

For one parameter value or path segment. Encodes everything, including / ? & =. This is encodeURIComponent, and almost always what you want.

Encode a whole URL

Leaves the structural characters alone and fixes only spaces and non-ASCII. Use it on a complete address, never on a value.

+ or %20

HTML forms encode a space as + in the query string. Everywhere else — paths, and most APIs — use %20. A literal plus sign must be %2B.

Double encoding

%2520 is a space encoded twice (% → %25). It means some layer encoded a value that was already encoded.

Common places it goes wrong

A redirect URL passed as a parameter is the classic case: unless the inner URL is fully encoded, its own ? and & are read as part of the outer one and half the parameters disappear. The same happens with email addresses containing + (decoded as a space), search terms containing &, and signatures or Base64 values containing /, + and =. When in doubt, encode every value as a component, and build query strings with your language's URL library rather than by joining strings.

Frequently asked questions

What does %20 mean in a URL?

An encoded space. URLs cannot contain literal spaces, so each one is written as %20 — or as + in the query string of a submitted HTML form.

What is the difference between encodeURI and encodeURIComponent?

encodeURI is for a complete URL and leaves characters such as : / ? & = # untouched. encodeURIComponent is for a single value and encodes those too. Use encodeURIComponent for parameter values.

Why do I see %25 in my URL?

%25 is the encoding of the percent sign itself. Seeing %2520 or %253D means the value was encoded twice; find the extra encoding step and remove it.

Is URL encoding a form of encryption?

No. It is a reversible text transformation that anyone can decode. Never rely on it to hide information — and do not put secrets in URLs at all, since they are stored in logs and browser history.

Related free tools

A calculator answers once. Monitoring answers every minute.

Upzilla checks your sites, servers and APIs around the clock and alerts you the moment something breaks. 10 monitors free, no card required.

Start monitoring free →