Toolkitbar

URL Decoder — Read a Percent-Encoded String

Turn %E4%B8%AD%E6%96%87 back into something you can read.

Runs on your device What you paste is processed by your own browser. It is never sent to a server, and it is not stored anywhere after you leave the page.

Short answer

A percent-encoded URL or query value can be decoded back to plain text for free in a web browser. Each %XX pair is read as a byte and the resulting sequence is decoded as UTF-8, so multi-byte characters reassemble correctly rather than appearing as three separate symbols. Plus signs are treated as spaces, matching how form-encoded values are written. The decoding happens locally, so a URL carrying session data or personal information is never transmitted.

At a glance

AcceptsPercent-encoded text or URLs
ProducesPlain text (UTF-8)
ProcessingIn your browser
PriceFree, no limits
AccountNot required

Encoded URLs are most often read when something has gone wrong: an analytics parameter that does not match, a redirect that lands in the wrong place, a log line whose query string is unreadable. Decoding it is usually the first step in seeing what was actually sent.

Watch for double encoding. If the result still contains %25 followed by two more characters, the string was encoded twice somewhere in its journey — decode it a second time to reach the original, and treat that as a bug worth fixing upstream.

How to use it

  1. 1

    Paste the encoded text

    A whole URL, a single query value, or anything containing %XX escapes.

  2. 2

    Convert

    The readable text appears below. An incomplete escape is reported rather than guessed at.

  3. 3

    Decode again if needed

    If the output still contains percent escapes, it was double-encoded. Run it through once more.

  4. 4

    Copy the result

    Copy to the clipboard, or download it as a text file.

Frequently asked questions

Why do I get an error on a lone % character?

Because a percent sign starts a two-digit escape. A % that is not followed by two hex digits is not valid percent-encoding, so the decoder stops instead of returning something that is partly right.

Is a plus sign decoded as a space?

Yes. In a form-encoded body a plus means a space, and that is by far the most common source of the strings people decode. A literal plus is written %2B by anything that encoded it properly.

My Chinese text came back as strange symbols. Why?

The bytes were probably encoded in a legacy character set such as GBK rather than UTF-8. This decoder reads UTF-8, which is what the URL standard requires; a string encoded another way cannot be recovered without knowing which.

Is the URL I paste sent anywhere?

No. URLs routinely carry session tokens, email addresses and search history, so the decoding runs entirely in your tab and nothing about it is transmitted or stored.

Related tools

Browse all developer tools