URL encoding to file decoder

Decode percent-encoded text in your browser: nothing is uploaded, there is no limit on how much you decode, and you can choose whether a plus sign means a space. Get the result as a preview or as a file.

How it works

  1. Paste the text

    Paste the URL-codering text, or choose a .txt file that contains it.

  2. Checked instantly

    You see at once whether the text is valid and what kind of file is in it.

  3. Download the file

    The file automatically gets the right extension.

What it does

Every %XX code becomes the byte it stands for. Other characters are kept as they are. A % that isn't followed by two hexadecimal digits is reported with its position.

Reading encoded addresses

Copy a long URL from a log or an email and it is full of %20, %3D and %C3%A9. Paste it here to see the readable text. This also helps when you debug a link that does not work, because you can see exactly which parameter is sent.

The plus sign

In a normal URL path, + is a plus. In form data and many query strings it stands for a space. Tick + means a space when you decode form data such as q=hello+world, and leave it off for everything else, where a + is a real plus, as in a phone number.

Invalid codes

A % that is not followed by two hexadecimal digits cannot be decoded, and the tool reports where it is. This is common in pasted text where a literal percentage sign (100%) was never encoded.

Binary data

When the result is not text, for example a file that was percent-encoded, you can download it. The first bytes are used to recognise the file type, so you get a sensible extension.

To encode again, use file to URL encoder. For a quick snippet, URL decode is faster.

Private by design

Decoding happens in your browser; nothing is sent anywhere.

Frequently asked questions

Should I tick the plus-as-space option?

Tick it for form data and query strings like q=hello+world. Leave it off if the plus signs are real plus signs.

Why does the tool refuse my text?

A % that is not followed by two hexadecimal digits is not valid. It is reported with its position.

Can the result be a file?

Yes. Any decoded bytes can be downloaded, and text is previewed first.

Is my text uploaded?

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