URL Decoder
A preset of URL Encoder & Decoder
Turn a percent-encoded URL back into readable text. Useful for reading tracking links, decoding a redirect parameter, or working out what a logged URL actually pointed at.
- Files never leave your device
- Free, no signup
- No watermarks
- Works offline once loaded
How to url encoder & decoder
- 1
Choose a direction
Encode text for a URL, or decode an encoded URL back to text.
- 2
Pick the mode
Component mode escapes everything; full-URL mode preserves the structure.
- 3
Copy the result
Results update as you type.
What a decoded URL parameter actually reveals
A marketing tracking link, a redirect parameter, or a URL captured from a server log commonly arrives as a long string of percent-escapes that is unreadable at a glance — decoding it reveals the actual destination, search term, or data the link is carrying, which is often the fastest way to understand what a suspicious or unfamiliar link actually does before clicking it, or to reconstruct what a user searched for from a logged request URL.
Reading multi-byte Unicode escapes correctly
A single accented character or emoji encoded into a URL frequently produces several consecutive percent-escapes rather than one — é becomes `%C3%A9`, two escaped bytes representing its UTF-8 encoding, and an emoji can produce four. Decoding correctly means recombining those multi-byte UTF-8 sequences back into the single character they represent, rather than naively converting each `%XX` escape into its own separate character, which would produce mangled, unreadable output for anything outside the basic ASCII range.
Handling both space conventions when decoding
Because a real URL captured from a log, an email link, or a browser address bar might use either the standard `%20` or the older form-encoding `+` to represent a space, this tool checks for and correctly converts both back into a literal space rather than only recognising one — pasting a query string that used `+` separators does not require converting it to `%20` first just to get a readable result.
Frequently asked questions
What is the difference between component and full-URL mode?
Component mode (`encodeURIComponent`) escapes everything including / ? & = #, which is what you want for a single query-parameter value. Full-URL mode (`encodeURI`) leaves those structural characters intact so an entire address stays usable. Using the wrong one is the most common URL-encoding bug.
Why did my URL break when I encoded the whole thing?
You almost certainly used component mode on a complete URL, which escaped the `://` and the `&` separators. Encode each parameter *value* individually, then assemble the URL — do not encode the assembled result.
Why does a space sometimes become %20 and sometimes +?
Percent-encoding uses %20. The `+` form comes from the older HTML form encoding (`application/x-www-form-urlencoded`) and is only valid in a query string, never in a path. This tool produces %20, and decodes both.
How are emoji and non-English characters handled?
They are encoded as UTF-8 bytes, so é becomes %C3%A9 and an emoji becomes four percent-escapes. That is the correct behaviour and round-trips exactly.
You might also need
Base64 Encoder & Decoder
Encode and decode Base64 and Base64URL
JSON Formatter
Format, validate and minify JSON instantly
Hash Generator
MD5, SHA-1, SHA-256, SHA-384 and SHA-512
CSS Formatter
Beautify or minify stylesheets
CSS Minifier
Shrink stylesheets with a real CSS-aware minifier
HTML Formatter
Beautify and indent HTML properly
JavaScript Formatter
Format JS and TypeScript with a real parser
JS Minifier
Shrink JavaScript with real minification, not regex