URL Decode Online

Decode URL-encoded strings, query parameters, and percent-encoded text

Decode URL-encoded strings back to their original format. Converts %XX sequences back to their original characters.

What is URL Decoder?

URL decoding reverses URL encoding (percent encoding), converting %XX sequences back to original characters. URLs can only contain a limited set of ASCII characters safely, so any character outside that set — spaces, special symbols, non-ASCII text — is encoded as % followed by two hexadecimal digits. Decoding is essential when receiving URL-encoded data: query parameters from APIs, form submissions (application/x-www-form-urlencoded), URL path segments, encoded strings in data files, and debugging web application routing issues. This tool uses decodeURIComponent, which decodes all percent-encoded characters including those that are part of URL structure (/, ?, &, =).

How to Use

  1. Paste URL-encoded text (containing %XX sequences) in the input field.
  2. Click 'Decode' to convert to the original human-readable format.
  3. Review the decoded output — if it still contains % sequences, it may be double-encoded.
  4. Copy decoded text for further processing using the Copy button.
  5. Use 'Load Sample' to see an example of URL decoding.

Why Use This Tool?

Reveal original text from encoded URLs — understand what data is actually being passed
Decode query parameters and form data for debugging API requests and webhooks
Understand encoded API responses — many APIs return URL-encoded values in headers and payloads
Debug URL encoding issues — find missing or incorrect encoding in your application
Handle multi-byte UTF-8 decoding — international text (Chinese, Arabic, emojis) decodes correctly
Works entirely in your browser — your data never leaves your device

Tips & Best Practices

  • %20 represents a space character — modern URL encoding uses %20 instead of the older + convention.
  • %26 represents an ampersand (&) — critical in query strings where & separates parameters.
  • %3D represents an equals sign (=) — used in parameter values where = would be misinterpreted as a key-value separator.
  • Double-encoded strings need two decode passes — look for %25 (an encoded %) to identify double encoding.

Frequently Asked Questions

When do I need URL decoding?

When receiving encoded data: query parameters from web requests, API responses with encoded values, URL-encoded JSON in data files, or debugging encoding issues. Any data that passed through URL encoding needs decoding before use. This includes webhook payloads, redirect URLs, and form submissions.

When should I NOT use URL decoding?

Do not URL-decode when: you are constructing a URL and the encoding is intentional; you need to preserve URL structure characters (/, ?, &, =) — use decodeURI instead of decodeURIComponent; you are processing data that was not URL-encoded (applying decoding to plain text will corrupt it); or you are validating URL format (decoding changes the string).

What happens if decoding fails?

Invalid % sequences (like %XY where XY aren't valid hex, or incomplete %X) cause errors. The decoder rejects malformed input. Double-check the encoded string — it may have been corrupted or truncated during transmission. Common issues include missing the second hex digit or using lowercase hex where uppercase is expected.

Can strings be double-encoded?

Yes — sometimes strings get encoded twice (e.g., %2520 for originally %20). Double-encoded strings need two decode passes. Look for patterns like %25 (encoded %) to identify double encoding. Decode once, then check if the result still has % sequences — if so, decode again.

What about plus signs?

In old URL encoding standards (application/x-www-form-urlencoded), + represented spaces. Modern encoding uses %20 for spaces. This tool uses decodeURIComponent which handles %20, not + as space. If your data uses + for spaces (common in form submissions), replace + with %20 before decoding.

How are non-ASCII characters decoded?

Multi-byte UTF-8 sequences decode correctly. café encoded as caf%C3%A9 decodes back to café. Chinese characters, emojis, accented letters all work. The decoder handles UTF-8 automatically — no manual byte handling needed.

Real-world Examples

Decoding API query parameters

API requests often encode special characters in query strings. Decode them to see the actual parameter values being sent.

Input
search?q=hello%20world%21&sort%3Ddesc&filter%3Dprice%3E100
Output
search?q=hello world!&sort=desc&filter=price>100

Decoding a URL-encoded redirect URL

OAuth and SSO flows often pass redirect URLs as encoded query parameters. Decode to see the actual destination URL.

Input
redirect_uri=https%3A%2F%2Fexample.com%2Fcallback%3Fcode%3Dabc123
Output
redirect_uri=https://example.com/callback?code=abc123

Related Tools