How to URL-Decode a Percent-Encoded String
Decode percent-encoded text back to plain text online for free — malformed sequences handled gracefully instead of crashing.
By QR Ivify Team
A query parameter full of %20 and %3D sequences, a URL copied from browser history that's unreadable at a glance, a percent-encoded value from an API — decoding it back to plain text is usually straightforward, except when the input isn't actually valid percent-encoding to begin with.
The Malformed Input Problem
A percent sign in URL-encoded text is always supposed to be followed by exactly two hexadecimal digits — %20, %3F, %C3%A0. If a decoder encounters a bare % not followed by valid hex digits (which happens more often than you'd expect — a literal % in text that wasn't meant to be encoded, or a copy-paste that got cut off), the standard approach throws an error rather than guessing. QR Ivify's URL Decoder catches that and reports it as a clear message instead of the page crashing or silently producing garbled text.
Step by Step
- Open the URL Decoder.
- Paste percent-encoded text into the box.
- Click "Decode."
- Copy the decoded result.
A Worked Example
Input: https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dhello%20world
Output: https://example.com/search?q=hello world
Frequently Asked Questions
What happens with a malformed percent sequence? You'll see a clear error message rather than the tool crashing or silently returning garbled text.
Does this handle Unicode text correctly? Yes — decoded percent-sequences are interpreted as UTF-8, so non-English text decodes correctly.
Does this upload my text anywhere? No. Decoding happens entirely in your browser.
Try It
Need to decode a percent-encoded URL or value? QR Ivify's free URL Decoder handles malformed input gracefully. Need to encode text instead? Try URL Encoder. Decoding something else? See Base64 Decoder.
Related articles
How to Decode Base64 Back to Text
Decode Base64 to text online for free, with correct Unicode handling and a clear error for invalid input instead of garbled output.
How to Base64 Encode Text (Without Breaking Unicode)
Encode text to Base64 online for free, with correct handling of Vietnamese, emoji, and other Unicode text — a common failure point in naive implementations.
How to Compare Two JSON Objects (Structurally, Not as Text)
Compare two JSON values online for free and see exactly what changed — key order and formatting differences are correctly ignored, unlike a plain text diff.