How to use the tsv to csv converter
- Paste your TSV data into the input area.
- Choose whether the first row is a header.
- Select the input delimiter (tab for TSV) and output delimiter (comma for CSV).
- Copy the CSV output or download it.
How the tsv to csv conversion works
The parser reads the input line by line while respecting RFC 4180 quoting rules. A quote only opens a quoted field at the start of a field, so a stray quote inside a plain value stays a literal character. A field wrapped in double quotes may contain the delimiter, literal newlines, or doubled double quotes ("") which represent a single quote character. The parser tracks whether it is inside a quoted field so that newlines inside quotes do not end the record. After parsing, each row is serialized to the chosen output delimiter with minimal quoting: a field is quoted only when it contains the output delimiter, a newline, a double quote, or leading or trailing whitespace. When Quote all fields is enabled, every field is wrapped in double quotes and internal quotes are doubled.
Ragged row handling
Real-world TSV files often have rows with different column counts. When First row is header is checked, the header defines the expected column count; otherwise the widest row does. Any row with a different number of fields is listed in a note under the result, with its row number. Ragged rows are never discarded or padded: they are converted as they are, so the output stays pure CSV with no comment lines mixed into your data.
Common use cases for tsv to csv
Spreadsheet exchange: Export a sheet as TSV from Excel or Google Sheets, then convert to CSV for systems that require comma delimiters. Database imports: Many tools accept CSV but not TSV; this converter bridges the gap. Log processing: Tab-delimited logs with quoted messages containing commas convert cleanly to CSV for analysis in Python, R, or BI tools. Data cleaning: The ragged-row report helps spot missing columns or extra delimiters before loading into a database.
Reference: quoting rules
The table below shows how the converter decides whether to quote a field in the output (with Quote all fields off).
| Field content | Quoted in output? | Example output |
|---|---|---|
| Plain text, no special chars | No | hello |
| Contains output delimiter | Yes | "a,b" |
| Contains newline | Yes | "line1
line2" |
| Contains double quote | Yes | "He said ""Hi""" |
| Leading or trailing space | Yes | " hello" |
| Empty string | No | (empty field) |
Limits and performance
The tool runs entirely in the browser in a single pass over the text, so time grows in step with the input size. It stops at about 3 MB of input or 2 million cells and says so, instead of freezing the page. For larger files use a command line tool such as mlr or csvkit. No data leaves your browser.
Worked examples
| Example | Input | Result |
|---|---|---|
| Simple TSV | TSV input: Name Age City / Alice 30 New York / Bob 25 Los Angeles; First row is header: yes; Input delimiter: tab; Output delimiter: comma; Quote all fields: no | Name,Age,City / Alice,30,New York / Bob,25,Los Angeles |
| Quoted fields with commas | TSV input: Product Price Notes / "Widget, Large" 19.99 "Includes ""premium"" features" / Gadget 9.99 Basic model; First row is header: yes; Input delimiter: tab; Output delimiter: comma; Quote all fields: no | Product,Price,Notes / "Widget, Large",19.99,"Includes ""premium"" features" / Gadget,9.99,Basic model |
| Embedded newlines | TSV input: ID Description / 1 "Line 1 / Line 2" / 2 Single line; First row is header: yes; Input delimiter: tab; Output delimiter: comma; Quote all fields: no | ID,Description / 1,"Line 1 / Line 2" / 2,Single line |
| Ragged rows reported | TSV input: A B C / 1 2 / 3 4 5 6; First row is header: yes; Input delimiter: tab; Output delimiter: comma; Quote all fields: no | A,B,C / 1,2 / 3,4,5,6 |
FAQ
Does this tool upload my data?
No. All parsing and conversion happens in your browser. Nothing is sent to any server.
Can I convert CSV to TSV instead?
Yes. Set the input delimiter to Comma and the output delimiter to Tab. The same quoting rules apply.
What does "Ragged row" mean in the output?
It means a row has a different number of fields than the reference row (the header if the option is on, otherwise the widest row). The row is still converted, and a note under the result lists the row numbers so you can find and fix them.
Why are some fields quoted in the output and others not?
Quoting is minimal by default: only fields that contain the output delimiter, a newline, a double quote, or leading/trailing spaces are quoted. Enable Quote all fields to force quoting everywhere.
Does it handle Windows CRLF line endings?
Yes. Both CRLF and LF are accepted, and so is a bare CR. Output uses CRLF between rows, as RFC 4180 specifies.
Can I use a custom delimiter like semicolon?
Yes. Choose Semicolon for input or output delimiter. The parser treats it the same way as tab or comma.
What if my TSV uses a different escape mechanism?
This converter follows RFC 4180 exclusively: double quotes are escaped by doubling them. Backslash escapes or other schemes are not supported.