URL Decode

Decode percent-encoded URL strings back to readable text. Free online URL decoder.

Runs locally in your browser
Input1 lines · 37 chars
Loading editor…
Output0 lines · 0 chars
Loading editor…

What is URL Decode?

URL decoding — percent-decoding — reverses the encoding process, converting percent-encoded sequences like %20 and %3F back into their original characters. When you see %20 in a URL, it represents a space; %40 is @, %2F is /, and multi-byte sequences represent Unicode characters encoded in UTF-8.

Developers encounter encoded URLs constantly in server access logs, browser address bars, API callback parameters, OAuth redirect chains, and analytics dashboards. Decoding reveals the actual search terms, user IDs, filter values, and redirect targets hidden behind percent sequences.

Our decoder uses JavaScript's decodeURIComponent function to handle the full range of percent-encoded characters including Unicode. Malformed sequences — incomplete percent triplets, invalid hex digits — produce clear error messages that help identify truncated or corrupted URL data.

Decoding runs entirely in your browser. Encoded URLs from production logs, authentication callbacks, and internal APIs stay on your machine. No server receives your input, which is essential when logs contain user search queries, session tokens, or personally identifiable information.

Decoding pairs with URL Encode for round-trip testing. For JWT parameters embedded in OAuth callbacks, use the JWT Decoder. For Base64-encoded values within URL parameters, chain with Base64 Decode.

When should you use URL Decode?

Inspect query parameters from server access logs and CDN analytics. Decoding reveals the actual search terms, filter values, and pagination parameters that users submitted, helping debug search functionality and track user behavior.

Debug OAuth and SSO redirect chains where authorization codes, state parameters, and error messages arrive percent-encoded in callback URLs. Decoding each parameter reveals whether values match expectations.

Parse API callback URLs during webhook integration testing. Payment processors, email services, and social platforms encode callback data in query strings that must be decoded before JSON parsing.

Recover human-readable text from encoded form submissions captured in proxy tools, browser developer consoles, or application error reports that display raw encoded URLs.

How to Use URL Decode

  1. Paste the percent-encoded string.
  2. Click Decode to convert to readable text.
  3. Copy the decoded output.
  4. Use decoded values for debugging or development.

Features

  • Decode percent-encoded URL strings to readable text instantly
  • Handles full Unicode via UTF-8 multi-byte percent sequences
  • Clear error messages for malformed or incomplete encoding
  • One-click copy of decoded output for further processing
  • Browser-based — no data leaves your device
  • Works with encodeURIComponent-encoded strings
  • Instant decoding with no registration required
  • Perfect for debugging API callbacks and redirect URLs

Example

Each percent-encoded triplet reverts to its original character: %20 becomes a space, %21 an exclamation mark, %3F a question mark, %3D an equals sign, %24 a dollar sign, and %26 an ampersand. The decoded string reveals the original human-readable text with punctuation and special characters restored. This round-trip confirms the encoding was applied correctly.

URL Encoded

Hello%20World%21%20How%20are%20you%3F%20price%3D%2450%26qty%3D2

Decoded Text

Hello World! How are you? price=$50&qty=2

Common Errors

Malformed percent sequences

Percent encoding requires % followed by exactly two hex digits. %2 or %GG are invalid and cause decode errors.

Fix: Verify the encoded string is complete and not truncated; re-encode from the original source if corrupted.

Plus signs not decoded as spaces

decodeURIComponent does not convert + to space. Form-urlencoded data uses + for spaces, but URI encoding uses %20.

Fix: Replace + with %20 before decoding if the source uses form-urlencoded conventions.

Double-decoding produces wrong results

Decoding twice turns originally encoded percent signs (%25) back into %, corrupting the intended output.

Fix: Decode once only; check if output still contains % sequences before decoding again.

Invalid UTF-8 byte sequences

Malformed multi-byte UTF-8 sequences in percent-encoded Unicode produce replacement characters or errors.

Fix: Verify the original encoding used valid UTF-8 before percent-encoding.

Decoding full URLs breaks structure

decodeURIComponent on a complete URL decodes reserved characters in the scheme and path, breaking the link.

Fix: Decode individual query parameter values, not the entire URL including structural characters.

Best Practices

  • Decode parameter values individually rather than entire URLs with structure
  • Handle + as space when decoding application/x-www-form-urlencoded data
  • Decode locally when URLs contain session tokens or user-identifying data
  • Verify round-trip by re-encoding decoded output and comparing to original
  • Chain with JSON formatter when decoded values contain JSON payloads
  • Log decoded values carefully — they may contain PII from user search queries
  • Document encoding conventions your APIs use so consumers decode correctly
  • Test decoding with Unicode, empty values, and edge-case special characters

Related Tools

Frequently Asked Questions

Special characters in URLs are replaced with %XX hex codes where XX is the character's ASCII or UTF-8 byte value. For example, a space becomes %20 and é becomes %C3%A9. This ensures URLs contain only safe ASCII characters.