URL Decoder
Decode URL-encoded text online by converting percent-encoded characters back to readable text. Free URL decoder for web developers.
About URL Decoding
URL decoding converts percent-encoded characters back to their original form. This is useful when you need to read or modify URL parameters that contain encoded characters.
Example:
How to Use URL Decoder
Paste URL-encoded text
Paste a percent-encoded URL or query parameter value into the input field. The tool accepts both %20 (standard) and '+' (form-urlencoded) for spaces.
View decoded output
Decoding happens instantly. Special characters and Unicode are restored to their original form. Multiple decodes might be needed for nested encoding.
Detect encoding errors
Invalid percent sequences (e.g., %ZZ) cause errors with location info. Common issues: lone % characters not followed by hex digits, malformed UTF-8 byte sequences.
Copy the result
Click Copy to use the decoded text elsewhere. Useful for inspecting query parameters, parsing referrer URLs, or debugging API requests.
When to Use URL Decoder
Inspecting server logs and analytics URLs
Server access logs, analytics platforms, and security tools record URLs in their encoded form. To analyze user search queries, referrer paths, or campaign UTM parameters, decode the URLs first. Reveals what users actually typed, which campaigns drove traffic, and what content they engaged with.
Debugging API requests
When an API call returns unexpected results, look at the request URL or query string in DevTools or proxy tools (Charles, Wireshark). The URL is often percent-encoded; decoding makes it readable to spot bugs like double-encoded values, missing parameters, or wrong escape sequences.
Processing OAuth callback URLs
OAuth and OpenID Connect callbacks pass authorization codes, state parameters, and error messages as URL-encoded values. Decode to extract the values for processing — especially state parameters that may contain JSON or nested data that's been URL-encoded.
Parsing referrer URLs
When tracking where traffic comes from, the Referrer header contains the previous page's URL — often URL-encoded. Decoding reveals the actual referring page (including query parameters), which helps with attribution, fraud detection, and understanding user journeys.
URL Decoder Examples
Decoding a query parameter
q=Hello%2C%20World%21q=Hello, World!%2C decodes to ',', %20 to ' ', %21 to '!'. The output reveals the user's actual search query 'Hello, World!' — useful for analyzing what users searched for in your application.
Decoding Unicode
%E4%B8%AD%E6%96%87中文Three bytes per character (UTF-8 for these CJK characters) are percent-encoded individually. Decoding reverses this: %E4%B8%AD → bytes 0xE4 0xB8 0xAD → UTF-8 → '中', similarly for '文'. The decoder handles UTF-8 byte sequences automatically.
Decoding form-urlencoded (uses + for space)
name=John+Doe&role=admin%20username=John Doe&role=admin userBoth '+' and %20 represent spaces — '+' is the form-urlencoded convention (used by HTML form submissions), %20 is the URL-encoding convention (used in URL paths). A proper decoder handles both, restoring spaces in either format. The output is now ready for parsing as 'name=John Doe' and 'role=admin user'.
Tips & Best Practices for URL Decoder
- 1.Use decodeURIComponent for parameter values; use decodeURI for whole URLs where you want to preserve structure characters. They differ in handling reserved characters: decodeURIComponent decodes everything, decodeURI preserves ':', '/', '?', '#'.
- 2.Watch for double-encoded URLs. If you see %25 followed by other characters, that's a literal '%' that was itself encoded. To fully decode, run the decoder twice — but be careful, decoding too many times can corrupt legitimate %XX sequences in your data.
- 3.When decoding fails with 'malformed URI sequence', check for lone '%' characters not followed by two hex digits (often from broken truncation), %00 null bytes (which some decoders reject), or invalid UTF-8 byte sequences (incomplete multi-byte chars).
- 4.Form data uses '+' for space, URL paths use %20 — both decode to the same thing. If you're parsing form-encoded data, replace '+' with ' ' before percent-decoding (or use a form-urlencoded parser like URLSearchParams).
- 5.For analyzing decoded URLs at scale (thousands of log lines), use command-line tools: `python -c "import urllib.parse; print(urllib.parse.unquote(line))"` or perl's URI::Escape. They're faster than copying line-by-line into a web tool.
- 6.Decoding is sometimes unnecessary in practice — most server frameworks (Express, Django, Spring) decode query parameters automatically before exposing them to your code. Use this tool when you have a raw encoded URL string outside of a framework context.
Frequently Asked Questions
Related Tools
URL Encoder
Encode text for URLs online with percent-encoding. Free URL encoder for safely escaping special characters in query strings and paths.
HTML Entity Decoder
Decode HTML entities back to readable characters online. Free HTML entity decoder for converting ampersand codes to plain text.
HTML Entity Encoder
Encode HTML entities online to safely display special characters in web pages. Free HTML entity encoder for angle brackets and quotes.
Base64 Decoder
Decode Base64 strings back to readable text online instantly. Free Base64 decoder for converting encoded data and content safely.
JWT Decoder
Decode and inspect JSON Web Tokens online. Free JWT decoder that reveals header, payload, claims, and expiration details instantly.
Hex to Text
Convert hexadecimal values to readable text online. Free hex to text decoder for parsing hex-encoded strings and binary data.