URL-decode Text

Paste percent-encoded text and get readable text back instantly.

Options

Mode
The result updates as you type. Ctrl + Enter decodes now.

Decoded text

How to URL-decode text

Paste your percent-encoded text into Your text, or press Load example. Choose URL component or Form encoding mode. The decoded text appears next to it and updates as you type. Copy the result or download it as a .txt file. Everything runs in your browser, so nothing you paste is uploaded.

Examples

InputOutput
hello%20world hello world
a%2Bb%20%26%20c%3Dd a+b & c=d
Hello%20world!%20Caf%C3%A9%20%26%20croissants%3F%20100%25%20%F0%9F%98%80 Hello world! Café & croissants? 100% 😀

Limits and edge cases

  • Plus handling depends on mode: form mode converts every + to a space first, while component mode keeps + as a literal plus.
  • Every % must be followed by exactly two hexadecimal digits; a stray % reports an error with its position.
  • Non-ASCII characters decode as UTF-8, so truncated or malformed byte sequences fail with a clear error instead of garbled output.

Frequently asked questions

How do I decode a URL?

Paste the percent-encoded text into the input box and the readable text appears instantly in the result box. Copy it or download it as a .txt file.

What is the difference between component and form mode?

Component mode treats plus signs as literal plus characters and decodes %20 as space. Form mode first converts every plus sign to a space, matching HTML form encoding.

Why do I see a stray percent error?

Every percent sign must be followed by exactly two hexadecimal digits. A lone percent sign or one followed by non-hex characters is invalid and the tool reports its position.

Why does valid-looking input fail with a UTF-8 error?

Non-ASCII characters are encoded as multi-byte UTF-8 sequences. If the byte sequence is truncated or the continuation bytes are wrong, decoding fails with a malformed UTF-8 error.

Does decoding handle emoji and accented characters?

Yes. Percent-encoded UTF-8 bytes such as %C3%A9 decode back to characters like e with an accent, and multi-byte emoji sequences decode correctly.

Is my text uploaded anywhere?

No. Decoding runs in your browser with JavaScript and nothing is sent to a server. Inputs under 200 KB are kept in your browser's local storage so they are still there when you come back.