URL decode

Decode URL-encoded text in your browser: nothing is uploaded, there is no limit on the length, and you can decode a whole list, one line at a time. Useful for query strings, tracking links and log files.

How it works

  1. Paste your code

    Paste the code in the left box or open a file. No code to hand? Click Example.

  2. Instant result

    The result appears as you type. If there is an error, you see the line and character.

  3. Copy or download

    Copy the result with one click or save it as a file for your editor or project.

Plus sign or space?

In HTML forms and many query strings a space is written as +. With Read + as a space, which is on by default, those become spaces again. Turn it off when a real plus sign may appear in your text, for example in a phone number like %2B44.

Invalid codes

A % must be followed by two hexadecimal characters. Text such as 100% or %G1 gives a message with the position, instead of a garbled result. Bytes that don't form valid UTF-8 are reported too.

To encode text, use URL encode. For whole files, use file to URL encoding.

Tracking links and redirects

Marketing links often carry a long encoded URL as a parameter, such as ?u=https%3A%2F%2Fexample.com%2F…. Decode it to see where a link really goes before you click it. Some links are encoded twice (%253A instead of %3A); if the result still has % codes, decode it once more.

Reading logs

Web server and proxy logs store requested URLs encoded. Decode a line to see the actual search term or path. For lists, one URL per line works: every line is decoded separately.

For files and binary data that were percent-encoded, see URL encoding to file.

Frequently asked questions

Why does my result still contain % codes?

The text was encoded twice. Decode it a second time.

What does the plus option do?

It reads + as a space, as form data does. Switch it off when a plus is a real plus.

Why do I get an error for 100%?

A percent sign must be followed by two hexadecimal digits to be a code. A lone percent sign was never encoded.

Is my text uploaded?

No. Decoding happens in your browser and nothing is sent.