URL Decode
Decode percent-encoded URLs and query parameters back to readable text instantly in your browser.
Standards Compliant
Uses the same percent-decoding rules browsers use for URLs.
Clear Error Messages
Flags malformed or incomplete %XX sequences instead of failing silently.
Handles Large Text
Decodes strings up to 50MB without freezing the page.
How to URL-Decode Text
- Paste the percent-encoded text — a query-string value from your logs, a redirect parameter, a tracking URL you’re untangling.
- Click Decode.
- The human-readable original appears in the output pane.
- Malformed sequences (a % not followed by two hex digits) produce a clear error instead of silently wrong output.
Example: Reading an Encoded Parameter Value
Input — percent-encoded
price%3D%E2%82%AC20%20%26%20note%3D50%25%20off
Output — decoded
price=€20 & note=50% off
Multi-byte sequences like %E2%82%AC collapse back into a single character (€) — decoding reassembles UTF-8 bytes, not just one-to-one character swaps.
Decoding may need more than one pass
Values that traveled through several systems are often encoded more than once — %2520 is a percent-encoded %20. If your decoded output still contains %XX sequences, paste it back in and decode again until it reads clean; each pass unwinds one layer.
A debugging staple
The fastest way to understand a gnarly URL from access logs, an OAuth redirect, or an email campaign link is to decode its query values and read them in plain text. Since everything here runs locally in your browser, pasting URLs that contain tokens or internal hostnames doesn’t send them anywhere.
Frequently Asked Questions
It means your input has a % that is not followed by exactly two valid hexadecimal digits — for example a trailing % at the end of the string, or %2 with only one digit. That is a malformed escape sequence and cannot be decoded unambiguously, so the tool reports it rather than guessing.
No — this decodes strict percent-encoding (decodeURIComponent), which treats + as a literal plus character, not a space. The +-means-space convention belongs to application/x-www-form-urlencoded (HTML form submissions), a related but different format. If you're decoding a form-encoded query string where + represents spaces, replace + with %20 before pasting it here.
No. Decoding runs entirely in your browser via decodeURIComponent — nothing you paste here is ever transmitted anywhere.
It passes through unchanged — decoding a string with no %XX sequences is a no-op, so it's safe to paste text you're not sure is encoded and see if anything changes.
Related Tools
URL Encoder
Safely percent-encode text for use in URLs and query strings.
JSON Formatter
Make messy, minified JSON readable with customizable indentation.
JSON Validator
Check JSON validity with precise line/column errors.
Base64 Decoder
Decode Base64 text back to readable Unicode instantly.
JSON to YAML
Convert JSON documents to clean, indented YAML.
JSON to XML
Convert JSON into well-formed XML markup.