Skip to content

URL Decoder

Decode percent-encoded URLs and query strings to readable text

0 characters 0 encoded sequences

Decode Mode

Options

Quick Examples

Decoding Reference

Encoded Decoded Description
%20 (space) Space character
+ (space) Space in form data
%26 & Ampersand
%3D = Equals sign
%3F ? Question mark
%2F / Forward slash
%23 # Hash/pound
%25 % Percent sign

Mode Comparison

Input URI Component Full URI Form Data
a%3Db%26c%3Dd a=b&c=d a%3Db%26c%3Dd a=b&c=d
hello+world hello+world hello+world hello world
http%3A%2F%2Fx.com http://x.com http%3A%2F%2Fx.com http://x.com

Professional URL Decoder for Debugging and Data Analysis

URL decoding reverses percent-encoding to reveal the original text hidden within encoded URLs and query strings. Our free online URL decoder handles all decoding scenarios from simple space characters to complex UTF-8 sequences, making encoded URLs human-readable for debugging, analysis, and data extraction. Whether examining API responses, parsing log files, or troubleshooting web applications, instant URL decoding accelerates development workflows.

Understanding Percent-Encoded URLs

Percent encoding converts characters into hexadecimal byte representations prefixed with % symbols. The sequence %20 represents a space (hex 20 = decimal 32 = ASCII space). Multi-byte UTF-8 characters produce longer sequences: a Chinese character might become %E4%B8%AD (three bytes). Decoding reverses this process, converting hexadecimal sequences back to their original characters for human readability.

Selecting the Appropriate Decode Mode

Different encoding contexts require different decoding approaches. URI Component mode (decodeURIComponent) decodes all percent sequences, appropriate for individual parameter values extracted from URLs. Full URI mode (decodeURI) preserves encoded reserved characters that maintain URL structure, preventing accidental URL breakage. Form Data mode additionally converts plus signs to spaces, matching the application/x-www-form-urlencoded format used by HTML forms and many APIs.

Handling Double-Encoded URLs

Double encoding occurs when already-encoded URLs get encoded again, turning %20 into %2520. This frequently happens in complex systems where data passes through multiple encoding layers. The double decode option runs decoding twice to fully resolve such URLs. Recognizing double encoding helps diagnose integration issues where encoding functions are applied multiple times unintentionally.

Debugging API Requests and Responses

API developers regularly encounter encoded URLs in request logs, error messages, and debugging tools. Network inspection panels show encoded query parameters that require decoding to understand. Error messages containing encoded characters become readable after decoding. Webhook payloads and callback URLs often arrive encoded, requiring decoding before processing or validation.

Working with International Characters

URLs containing non-ASCII characters like Chinese, Arabic, or emoji use UTF-8 encoding converted to percent sequences. A single emoji might produce twelve or more characters of encoding. The decoder reassembles these byte sequences into proper Unicode characters, revealing the original multilingual content. Proper UTF-8 handling ensures accurate decoding of international text from any language.

Handling Malformed Encoded Strings

Invalid encoding sequences occasionally appear in URLs due to corruption, truncation, or manual editing. Sequences like %ZZ (invalid hex) or standalone % characters cannot decode properly. The skip invalid option preserves these sequences unchanged rather than throwing errors, allowing partial decoding of otherwise valid content. This tolerance proves essential when working with real-world data that may contain imperfections.

$ faq

What does the URL decoder do?
The URL decoder converts percent-encoded characters back to their original form. Sequences like %20 become spaces, %26 becomes &, and multi-byte sequences like %E4%B8%AD become Unicode characters. This reverses URL encoding to reveal the original readable text hidden in encoded URLs and query strings.
Why do I need to decode URLs?
Encoded URLs are difficult for humans to read. When debugging API calls, analyzing web traffic, or extracting data from URLs, decoding reveals the actual parameter values and text content. Developers frequently decode URLs to understand query strings, troubleshoot encoding issues, and verify data being transmitted between systems.
What is the difference between decodeURI and decodeURIComponent?
decodeURI decodes a complete URL while preserving encoded characters that have special URL meanings (like %2F for /). decodeURIComponent decodes everything including reserved URL characters. Use decodeURI for complete URLs and decodeURIComponent for individual parameter values to avoid breaking URL structure.
How does the decoder handle plus signs?
In form data encoding (application/x-www-form-urlencoded), plus signs (+) represent spaces. The Form Data decode mode converts + to spaces before decoding percent sequences. Other modes treat + as a literal plus sign. Choose the appropriate mode based on where your encoded text originated.
What happens with invalid encoded sequences?
Invalid sequences like %ZZ or incomplete sequences like %2 cannot be decoded properly. The decoder offers options to either skip invalid sequences (leaving them unchanged) or attempt partial decoding. Malformed URLs from copy-paste errors or data corruption may contain such sequences.
Can the decoder handle Unicode and emoji?
Yes, the decoder properly handles UTF-8 encoded Unicode characters. Multi-byte sequences like %E4%B8%AD decode to Chinese characters, and longer sequences decode to emoji and other Unicode symbols. The decoder reassembles UTF-8 byte sequences into their original characters automatically.
Is my URL data kept private?
Yes, all URL decoding happens entirely in your browser using JavaScript. Your URLs and encoded text are never uploaded to any server, stored, or transmitted externally. This ensures complete privacy for sensitive data like API keys, tokens, or personal information that may be embedded in URLs.