DevTilt

URL Decoder

Decode a URI-component-encoded string back to readable text. Malformed % sequences show a position when possible.

Result

Paste an encoded string to decode.

How to decode a URL string

  1. Paste a percent-encoded string.
  2. Click Decode.
  3. Valid sequences become readable text.
  4. Incomplete %HH sequences show an error with a position when possible. + is not treated as a space.

What is URL Decoder?

Percent-encoded strings like %20 and %C3%A9 are unreadable in logs and error messages. Paste an encoded component here to recover the original text — useful when debugging redirect chains, OAuth callbacks, or query parameters copied from a browser address bar.

Why use DevTilt's URL Decoder?

  • decodeURIComponent semantics
  • Position hints for malformed % sequences
  • Preserves + as literal plus (not space)
  • Handles multi-byte UTF-8 percent sequences

Common use cases

  • Reading an encoded redirect URL from server access logs
  • Decoding OAuth callback parameters for debugging
  • Recovering a search query from an encoded query string
  • Inspecting percent-encoded filenames in download URLs

FAQ

Every % must be followed by two hex digits (0-9, A-F). Truncated sequences like %2 or non-hex like %ZZ fail with a position hint.
No. This decoder uses decodeURIComponent, so + stays as +. Use %20 for spaces, or convert + to %20 first if you have form-urlencoded data.
No. Decoding runs entirely in your browser.
Paste a percent-encoded component or substring. A complete https:// URL often decodes fine, but this tool uses decodeURIComponent semantics — reserved characters in the path may need component-level decoding instead.
JavaScript decodeURIComponent expects %HH hex pairs, not legacy %u Unicode escapes. Convert %uXXXX to UTF-8 percent encoding first, or paste standard %HH sequences.