Decode percent escapes one intentional pass at a time
The decoder converts valid percent-encoded UTF-8 sequences back to text. Multi-level decoding applies separate passes so you can stop before a payload is decoded further than intended.
Example input
caf%25C3%25A9%2520menu
Expected output
After two passes: café menu
Behavior
- Decodes multibyte UTF-8 sequences correctly.
- Can treat plus signs as spaces for form-style input.
- Reports malformed percent escapes instead of silently dropping bytes.
Limits and edge cases
- A literal plus sign is ambiguous when form decoding is enabled.
- Decoded output can contain control or markup characters; treat it as untrusted.
- Not every percent-encoded byte sequence is valid UTF-8.
Processing note: tool input stays in the browser. Readme.now analytics records page usage, not the payload you paste or the generated output.
Authoritative reference: WHATWG URL Standard