URL-decode a TSV
Decode percent-encoded text back to a TSV. %09 becomes a tab, %0A a newline, and multi-byte UTF-8 sequences like %C3%BC resolve to their characters. Useful for reading a data blob out of a URL, a log line, or a request body that someone captured verbatim.
How to use
- Paste the encoded text.
- Check the decoded output — the status line reports the character counts before and after.
- Copy or download as a
.tsvfile.
Common decode failures
"Invalid percent-encoded input" means a% that isn't followed by two hex digits, or a broken UTF-8 sequence. Usually the string was truncated, or a literal percent sign in the original data was never encoded — the fix is at the producing end.
Plus signs where spaces should be means the string was form-encoded rather than URL-encoded. Replace + with %20 first, or with spaces directly if you're confident no literal plus signs are present.
Text that's still encoded after decoding means it was double-encoded — %2520 is an encoded %20. Run the tool again; each pass peels one layer.
After decoding
The result is whatever text was encoded, which isn't guaranteed to be a well-formed TSV. The validator checks the column counts and the viewer shows it as a table.
FAQ
Does it handle + as a space?
No — + is left as a literal plus, because that's what it means in a URL path. If your input is form-encoded, replace plus signs with %20 before decoding.
Can it decode double-encoded text?
One layer per pass. Run it twice for %2520-style input; the intermediate result makes it obvious whether another pass is needed.
Are HTML entities decoded too?
No — & is a different encoding scheme and passes through unchanged. Only percent-encoding is handled.
Is my data uploaded?
No. Decoding happens in your browser, which matters given how often URL-encoded strings contain tokens and session data.
Privacy
100% client-side. No upload. See the privacy policy.