Paste data or upload a file to switch between tab-separated and comma-separated text. Delimiters are detected for you, quotes and line endings are handled, and you can save UTF-8 with a BOM so Excel shows accented characters correctly.
This tool runs entirely in your browser. What you enter is never sent anywhere.Your input is never sent anywhere.
DetailsConversion mode
Your input looks TSV (tab-separated).
Output options
Output format(auto: tab becomes comma, anything else becomes tab)
Double quotes
Clean up
Line endings
Download encoding
Input
Encoding of uploaded files
108 characters / 4 lines
Result
Format: Comma (CSV) / Extension: .csv / With BOM
Rows
4
Max columns
4
Output characters
110
Table preview
| Name | Age | City | Notes |
| John Smith | 28 | New York | New |
| Maria Garcia | 34 | Austin, TX | Returning |
| David Lee | 45 | Seattle | VIP |
TSV vs. CSV: what's the difference?
CSV (comma-separated values) and TSV (tab-separated values) both store a table as plain text, one row per line. The only structural difference is the separator: a comma or a tab character. That one character changes how a file behaves in Excel, in a database import, or when you paste it into a spreadsheet.
Tab-separated text is what you get when you copy cells from Excel or Google Sheets, which is why pasted data splits neatly into columns. Many import forms and APIs only accept CSV, so you end up converting back and forth. This tool converts in both directions, adds or removes quotes where needed, and lets you choose line endings and file encoding.
It also reads Excel's UTF-16 "Unicode Text" files, writes UTF-8 with a BOM to avoid garbled characters in Excel, and exports Markdown tables and JSON. Everything runs in your browser.
When you need to switch between tabs and commas
Turn copied spreadsheet cells into a CSV file
Copy a range from Excel or Google Sheets, paste it in, and get comma-separated text for any importer that only takes CSV.
Paste a CSV export into Excel or Google Sheets
Convert a comma-separated export to tabs with "Copy for Excel & Sheets" so each value lands in its own cell instead of one long column.
Fix garbled characters in a CSV opened in Excel
Load the file, then download it as UTF-8 with a BOM. Names like José or Zoë show up correctly when you double-click the file in Excel.
Keep commas inside addresses and notes intact
Values such as "Austin, TX" are wrapped in double quotes on output, so they stay in one column when the CSV is imported.
Match the line endings your importer expects
Choose LF for macOS and Linux tools or CRLF for Windows software before you download the file.
Export a table as Markdown or JSON
Turn a pasted table into a Markdown table for a README or an array of JSON objects for test data and scripts.
Convert a file in four steps
- Paste your data into the Input box, or upload or drop a CSV, TSV, or TXT file.
- Pick a mode: Auto-detect, TSV → CSV, or CSV → TSV. Auto-detect checks for tab, comma, semicolon, and pipe delimiters.
- Adjust the output format, quoting, whitespace trimming, line endings, and BOM. If an uploaded file shows garbled text, change its encoding to UTF-8, UTF-16, or Windows-1252.
- Copy the result or download it. To paste into Excel or Google Sheets, use "Copy for Excel & Sheets".
Note: The conversion runs in your browser. Your pasted text and files are not sent to a server.
Limits and behavior to know
- Encoding detection applies only to uploaded files. Auto-detect checks for a UTF-16 byte order mark, then UTF-16 patterns, then strict UTF-8, and falls back to Windows-1252. Switch the encoding by hand if the text looks wrong.
- Downloads are always saved as UTF-8. The BOM option applies to CSV, TSV, semicolon, and pipe output, not to Markdown or JSON. Saving as Windows-1252 or UTF-16 isn't supported.
- Auto-detect compares how consistently each delimiter splits the first 30 non-blank rows. Single-column data falls back to comma. If the guess is wrong, choose TSV → CSV or CSV → TSV manually.
- In Auto-detect mode, tab-separated input becomes CSV and anything else becomes TSV. Pick an output format to override that.
- A double quote only starts a quoted value at the beginning of a field. A quote in the middle of a value is kept as a normal character.
- There is no row limit, but the whole file is processed in memory, so very large files can slow your browser. The preview shows the first 12 rows.
CSV vs. TSV comparison table
Use this to decide which format fits where the file is going.
| Feature | CSV (comma) | TSV (tab) |
|---|---|---|
| Separator | Comma ( , ) | Tab character |
| Common extensions | .csv | .tsv, .tab, .txt |
| Values containing the separator | Must be wrapped in double quotes | Usually need no quotes, since tabs rarely appear in text |
| Opening in Excel | .csv files open on double-click | Depends on the file type; .txt and .tsv files are often opened with Data > From Text/CSV |
| Pasting into Excel or Sheets | Usually lands in a single column | Splits into separate cells |
| Reading it by eye | Columns don't line up | Columns tend to line up in a text editor |
| Typical use | Exports, imports, and data exchange between systems | Copying between spreadsheets and text-based data dumps |
How delimiters, quoting, and encodings work
The details behind the most common problems with delimited text files.
Quoting: how a comma inside a value stays in one column
If a value contains the delimiter, the standard fix (described in RFC 4180) is to wrap it in double quotes and write any quote inside it twice. Austin, TX becomes "Austin, TX". This tool reads values that way and, by default, adds quotes on output only where they are needed.
Spreadsheet clipboard data is tab-separated
When you copy a range of cells from Excel or Google Sheets, the clipboard text uses tabs between cells and line breaks between rows. That is why TSV pastes cleanly into a sheet, and why pasted spreadsheet data needs a TSV to CSV conversion before it goes into a system that only accepts CSV.
UTF-8 BOM: why Excel garbles accented characters
Excel on Windows opens a CSV that has no byte order mark with the legacy ANSI encoding, so UTF-8 text such as é shows up as é. A CSV saved as UTF-8 with a BOM opens correctly. The catch is that some programs read the BOM as part of the first column name, so turn it off for databases and scripts.
Excel Unicode Text, UTF-16, and Windows-1252
Excel's Unicode Text save option produces a tab-delimited file in UTF-16, which many tools misread as garbage. This converter detects UTF-16 on upload. Older exports labeled ANSI usually use Windows-1252, which you can select by hand if auto-detection doesn't catch it.
Semicolon-delimited CSV and Excel's list separator
Excel uses the list separator from your Windows regional settings to split CSV files. It is a comma in the US and UK and a semicolon in many European settings. That is why a comma-delimited file can land in a single column on one computer and open fine on another. Choose Semicolon as the output format to match a semicolon locale.
Line endings: CRLF vs. LF
Windows traditionally ends lines with CRLF and macOS and Linux with LF. Most modern tools accept either, but some strict importers don't. The line ending option sets which one the output uses.
Why your CSV import breaks: common causes
Addresses split into extra columns
A value like Austin, TX is split on its comma, so every row after it shifts one column to the right.
💡 See the solution▼
Pasted spreadsheet data saved as .csv, but it's still tab-separated
Cells copied from Excel or Sheets are separated by tabs. Saving that text as a .csv file without converting it leaves the tabs in place, and the importer sees one big column.
💡 See the solution▼
Accented characters turn into gibberish in Excel
A UTF-8 CSV with no BOM is opened by Excel on Windows with the ANSI encoding, so é becomes é and curly quotes become strange symbols.
💡 See the solution▼
The whole CSV lands in column A in Excel
Excel splits on the list separator from your regional settings. A comma-delimited file opened where the separator is a semicolon stays in a single column.
💡 See the solution▼
The importer rejects the file because of line endings
Some importers treat the carriage return (CR) in a Windows CRLF file as part of the last value on each line, which breaks exact matches and validation.
💡 See the solution▼
A hand-edited quote breaks the file
A quote inside a quoted value must be written twice. Forgetting that when editing by hand leaves a stray quote that can swallow the rest of the row.
💡 See the solution▼
TSV and CSV conversion FAQ
Q.What is the difference between CSV and TSV?
A. Both store a table as plain text with one row per line. CSV separates values with commas and TSV separates them with tab characters. Because commas show up in names, addresses, and notes, CSV has to wrap those values in double quotes. Tabs rarely appear inside text, so TSV usually needs no quoting.
Q.How do I convert TSV to CSV?
A. Paste your tab-separated data into the input box, or upload a .tsv or .txt file. In Auto-detect mode, tab-separated input is converted to CSV right away. You can also pick TSV → CSV to force the direction, then copy the result or download it as a .csv file.
Q.How are commas, quotes, and line breaks inside a value handled?
A. When reading, a value that starts with a double quote is treated as quoted, so commas, tabs, and line breaks inside it stay part of the value, and a doubled quote ("") becomes one quote character. A quote in the middle of a value, like 5" pipe, is kept as plain text. When writing, the default setting adds quotes only around values that contain the output delimiter, a double quote, or a line break, and doubles any quote inside them. You can also choose to quote every value or to add no quotes at all.
Q.Should I use CSV or TSV to paste into Excel or Google Sheets?
A. Use tab-separated text. Pasted tabs split into cells, while pasted commas usually end up in a single column. The "Copy for Excel & Sheets" button always copies tab-separated text, whatever output format is selected, and quotes only the values that need it.
Q.Why does my CSV show garbled characters like "é" in Excel?
A. Excel on Windows opens a CSV without a byte order mark (BOM) using the system's legacy ANSI encoding, so UTF-8 characters such as é or ñ come out as gibberish. Microsoft notes that a CSV saved as UTF-8 with a BOM opens normally. Keep "UTF-8 with BOM (for Excel)" selected before you download. If the file is headed for a database or script that treats the BOM as part of the first column name, choose "UTF-8 (no BOM)" instead.
Q.Can I convert a file saved as "Unicode Text" from Excel?
A. Yes. Excel's Unicode Text format is a tab-delimited file encoded as UTF-16. When you upload a file, this tool checks for a UTF-16 byte order mark (and for the zero bytes typical of UTF-16 text), so those files load correctly and can be converted to CSV.
Q.Why does Excel put my whole CSV in column A?
A. Excel splits CSV files using the list separator from your computer's regional settings. That is a comma in the US and UK, but in many European regional settings it is a semicolon. If your file doesn't match, the whole row lands in one cell. Set the output format to Semicolon to match a semicolon locale, or import the file with Data > From Text/CSV and pick the delimiter yourself.
Q.Does it support semicolon or pipe-delimited data?
A. Yes. Auto-detect tries tab, comma, semicolon, and pipe on the first 30 non-blank rows and picks the one that splits those rows into a consistent number of columns. If none gives two or more columns, it falls back to comma. In Auto-detect mode, tab-separated input becomes CSV and everything else becomes TSV, unless you choose an output format yourself.
Q.Which file encodings can I upload?
A. UTF-8, UTF-16 (little- and big-endian), and Windows-1252, which is the legacy ANSI encoding for Western European languages on Windows. Auto-detect checks for a UTF-16 byte order mark first, then for UTF-16 patterns, then tries strict UTF-8, and falls back to Windows-1252. If the text still looks wrong, pick the encoding by hand and the file is read again. Pasted text isn't affected, because your browser has already decoded it.
Q.Can I export the data as JSON or a Markdown table?
A. Yes. With "First row is a header" on, JSON is an array of objects keyed by the header names. Empty headers become "Column 1", "Column 2", and so on, and repeated names get a number suffix such as _2. With it off, JSON is an array of arrays. Every value is exported as a string, so numbers are not converted. Markdown output escapes pipe characters and turns line breaks inside a cell into <br>.
Q.Is there a size limit, and is my data uploaded anywhere?
A. The tool sets no row limit, but very large files can slow your browser because everything is processed in memory, and the preview shows only the first 12 rows. The conversion code runs in your browser and the tool doesn't send your pasted text or files to a server.
Q.Which line endings does it use, and what is the downloaded file called?
A. Input with CRLF, LF, or CR line endings is read correctly. For the output you choose LF (macOS, Linux) or CRLF (Windows). Downloads are named after your original file with _converted added, such as orders_converted.csv, or converted.csv if you pasted text. The extension is .csv, .tsv, .md, or .json depending on the output format.
Your feedback
makes this tool better.
Tell us which features you'd like, what should be fixed, or which new tool you'd like to see. An engineer reads every submission and uses it to guide development.