URL decoder

Decode percent-encoded URLs and query strings back into readable text. Turn %20, %26 and %C3%A9 into normal characters instantly. Free URL decoder.

Read messy, percent-encoded links

Links copied from emails, ads, search results and analytics reports are often full of codes like %20, %3A and %2F. That's URL (percent) encoding, and while browsers understand it, it's hard for humans to read. The URL decoder converts those codes back into the characters they stand for.

For example, https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dcaf%C3%A9 decodes to https://example.com/search?q=café. Now you can see the real destination and parameters.

This is especially useful for tracking links and redirects, where the real destination is often hidden inside a parameter in encoded form.

How to use the url decoder

  1. Paste the encoded URL or text.
  2. Submit to decode it.
  3. Read or copy the decoded result.
  4. If the result still contains % codes, it was encoded twice; decode it again.

Examples

A query string

Input: q%3Dsummer%2Bsale%26page%3D2

Output: q=summer+sale&page=2

One pass decodes the outer layer. The %2B became a literal +, which a server would read as a space in a second pass.

Accents

Input: %C3%B1and%C3%BA

Output: ñandú

Plus signs and symbols

Input: price+%E2%82%AC20

Output: price €20

The + is turned into a space and the three bytes %E2%82%AC become the euro sign.

Double-encoded text

Input: 50%2520off

Output: 50%20off

Still encoded: decode once more to get "50 off".

Common uses

  • Finding the real destination inside a tracking or redirect link.
  • Reading UTM parameters and search terms in analytics reports.
  • Debugging query strings sent to your API or web app.
  • Making encoded links in logs or support tickets readable.
  • Recovering non-English characters from encoded URLs.

Tips and things to know

  • This decoder turns every + into a space, as form submissions expect. A real plus sign must arrive encoded as %2B.
  • Text that shows %25 was double-encoded (%25 is the code for % itself).
  • To break a decoded URL into its parts (scheme, host, path, query), use the URL parser.
  • Before clicking a decoded link from an unknown source, look closely at the domain. The URL parser shows exactly which host it points to.

Edge cases and limitations

  • Broken sequences are left as they are: 100%zz stays 100%zz.
  • C%2B%2B+guide decodes to C++ guide, but a raw C++ guide would come out as C guide, since every bare + is read as a space.
  • Text encoded in old single-byte character sets (like Latin-1 %E9 for é) shows a broken character, because the decoder expects UTF-8.

Frequently asked questions

What does %20 mean in a URL?

%20 is the encoded form of a space character.

Why do some URLs have %2F and %3A?

%2F is a slash (/) and %3A is a colon (:). They appear when a full URL is passed as a parameter inside another URL.

What if decoding gives strange characters?

The text may use a character encoding other than UTF-8, or it may not be URL-encoded at all. It might be Base64 instead; try the Base64 decoder.

Is it safe to decode URLs?

Decoding only changes how the text is displayed. It doesn't open the link, so it's a safe way to inspect suspicious URLs.

Why does my decoded link still contain %?

It was encoded twice. Paste the result back into the decoder and decode again until no %XX sequences are left, as in the 50%2520off example above.

Related tools

Similar tools

URL encoder

URL-encode (percent-encode) any text so it's safe in links, query strings and API requests. Spaces, &, ?, # and accents handled. Free URL encoder.

Popular free tools