URL-encode a TSV
Percent-encode a TSV so it can travel inside a URL, a query string, or an application/x-www-form-urlencoded body. Tabs become %09 and newlines %0A, which is what makes the file survive a channel that would otherwise treat them as structure. Decode with URL decode.
How to use
- Paste or drop the file.
- Tick strict to also encode the reserved characters
!'()*— needed for RFC 3986 conformance and for some stricter servers. - Copy or download.
Standard versus strict
The default follows JavaScript's encodeURIComponent, which leaves A–Z a–z 0–9 - _ . ! ~ * ' ( ) unencoded. Strict mode additionally encodes ! ' ( ) *, matching RFC 3986's definition of unreserved characters. Most servers accept either; strict is the safer choice when a signature or a hash is computed over the encoded string, because both sides must agree exactly on what was encoded.
Note that a space becomes %20, not +. The plus-sign convention belongs to form encoding specifically, and mixing the two is a common source of values arriving with stray plus signs.
Size is the practical limit
Percent-encoding roughly triples the length of a tab-heavy file, and browsers and servers cap URL length — 2,000 characters is the safe ceiling, 8,000 is where most servers stop. So this works for a handful of rows in a query string and not for a file. For anything larger, Base64 is more compact, or send the data in a POST body where the limits are far higher.
FAQ
Should spaces be %20 or +?
%20 in a URL path or query, + only in form-encoded bodies. This page always writes %20, which is valid in both contexts for most parsers.
Does it encode the whole file or each cell?
The whole text as one string. For encoding a single column's values, find and replace won't do it — you'd need a script.
Is UTF-8 handled?
Yes. Non-ASCII characters are encoded as their UTF-8 bytes, so ü becomes %C3%BC — the correct form for a URL.
What about the reverse?
URL decode, which reverses both standard and strict output.
Privacy
100% client-side. No upload. See the privacy policy.