URL Decoder
Turn a percent-encoded complete URL back into readable Unicode text while preserving its scheme and structural separators. Paste a URL containing sequences such as %20 or %C4%83 and receive the decoded form immediately. Decoding happens locally and does not test or open the URL.
Runs locally — files stay on your deviceWhat does URL decoding do?
It converts valid percent triplets back to readable characters without opening or requesting the URL.
What URL decoding does
Percent decoding converts valid %XX byte triplets back to characters. For non-ASCII text, consecutive bytes are interpreted as UTF-8. Reserved separators must be parsed in context because decoding one can change the meaning of a URL.
How it works
The tool uses decodeURI, which reverses full-URI encoding but leaves encoded reserved delimiters protected where decoding them would alter structure. Invalid percent sequences produce an error instead of a partial result.
When to use it
- Read a URL copied from logs or analytics.
- Inspect international text represented by UTF-8 percent triplets.
- Compare a browser-visible URL with its encoded request form.
When not to use it
- Do not decode untrusted data and then execute it without validation.
- Do not expect it to decrypt hidden information.
- Do not use it for application/x-www-form-urlencoded plus signs.
Worked examples
Readable path
- Input
https://example.com/summer%20sale- Expected output
https://example.com/summer sale
%20 becomes a space.
UTF-8 text
- Input
https://example.com/c%C4%83utare- Expected output
https://example.com/căutare
Two encoded bytes reconstruct ă.
Protected delimiter
- Input
https://example.com/a%2Fb- Expected output
https://example.com/a%2Fb
decodeURI protects an encoded slash because decoding it would change path segmentation.
Common mistakes
Expecting plus to become a space
decodeURI does not apply HTML form decoding rules. Correction: Handle form-urlencoded query data with the appropriate parser.
Decoding malformed triplets
A percent sign without two valid hexadecimal digits is invalid. Correction: Fix or remove the malformed sequence first.
Using decoded output without validation
Decoded delimiters or control data can affect downstream parsing. Correction: Validate each component before reuse.
Related operations and differences
URI Component Decoder
It decodes an isolated component, including escapes that a full-URI decoder may preserve.
URL Encoder
It performs the reverse transformation for complete URLs.
Limitations and privacy
- It does not validate reachability, DNS, or HTTP status.
- It follows decodeURI behavior, not form-urlencoded rules.
Processing uses browser APIs on this device; the entered content is not sent to the Toolbox server.
Frequently asked questions
Why was %2F not changed to a slash?
A slash is a reserved delimiter; full-URI decoding preserves escapes that would change URL structure.
Does decoding visit the URL?
No. It transforms only the pasted string.
Why does malformed input fail?
Every percent sign must begin a valid two-digit hexadecimal byte sequence.
Will plus signs become spaces?
No. That behavior belongs to form query encoding, not general URI decoding.
References
- RFC 3986: URI Generic Syntax — RFC Editor
- encodeURI() — MDN