How to Use This Tool
Add Your TSV Data
Type or paste tab-separated text directly into the Input textarea, click Upload to pick a .tsv, .txt, or .csv file, drag and drop a file onto the input area, or click URL Import and enter an HTTP(S) URL to fetch a TSV from a remote endpoint. The file is loaded locally - nothing leaves your browser.
Pick the Output Delimiter
From the Output dropdown next to the Convert button, choose comma (universal CSV), semicolon (European convention used when commas are decimal separators), or pipe (handy when your data already contains both commas and semicolons). Comma is the default.
Convert
Click Convert to CSV. The tool parses every tab-separated row using a full RFC 4180 parser that respects quoted cells, embedded tabs, embedded newlines, and escaped double quotes, then re-serializes each row with your chosen delimiter and applies safe quoting to any cell that contains the delimiter, a double quote, or a newline.
Copy or Download
Click Copy CSV to copy the entire output to your clipboard (the button briefly shows "Copied!"), or Download CSV to save it as a converted.csv file you can open in Excel, Google Sheets, LibreOffice Calc, or any data tool. Click Clear to wipe the input, output, and previews in one action.
Frequently Asked Questions
Is my TSV uploaded to a server?
▼
No. Your TSV is never sent to our servers - all parsing, conversion, escaping, copy, and download happen directly in your browser on your device using JavaScript. The only network request the tool ever makes is the one you trigger explicitly with URL Import, which goes from your browser to the URL you enter.
What output delimiters are supported?
▼
Three: comma (the universal CSV default), semicolon (the European convention used when commas are decimal separators), and pipe (useful when your data contains both commas and semicolons). Pick from the Output dropdown next to the Convert button. The full RFC 4180 escaping rules are applied for whichever delimiter you choose.
Does it handle quoted TSV cells with literal tabs?
▼
Yes. The parser is full RFC 4180-style: a cell wrapped in double quotes can contain literal tabs, newlines, and embedded double quotes (escaped by doubling them). Spreadsheets like Excel and Google Sheets occasionally produce such cells when copying multiline content - the tool reads them correctly without splitting on the embedded tab.
How are special characters in cells handled in the output CSV?
▼
Cell text is wrapped in double quotes whenever it contains the chosen output delimiter, a double quote, or a newline character. Embedded double quotes are escaped by doubling (""). Cells without those characters are written bare. This follows RFC 4180 so the output opens correctly in Excel, Google Sheets, LibreOffice Calc, Python's csv module, and any other CSV reader.
What input file types can I load?
▼
The Upload picker accepts .tsv, .txt, and .csv files. Drag-and-drop accepts the same. URL Import calls fetch() directly from your browser to the target URL - the URL must allow cross-origin requests via CORS headers. You can also type or paste TSV directly into the textarea.
Will my work be lost if I refresh the page?
▼
Your settings (output delimiter) are saved to your browser's local storage under the key "tsv-to-csv-converter" and restored on the next visit. Your TSV input and generated CSV output are not saved - storing large files on every keystroke would slow the tool down. Re-paste, re-upload, or re-fetch your TSV after a refresh.
What happens with very large TSV files?
▼
The tool is optimized for big files. The full CSV output is always generated and available via Copy and Download, but the on-screen displays are capped: the input textarea is limited to the first 500 lines and the CSV output preview is also limited to the first 500 lines. The full content is still in memory and used during conversion - the caps are display safeguards that keep the page responsive.
Can I convert CSV to a different delimiter?
▼
Yes, indirectly. Although the tool is named TSV to CSV, the parser is delimiter-aware enough that you can also paste regular CSV - the parser handles tabs and quoted cells. The output uses the delimiter you select. So pasting a comma-separated input and selecting Semicolon will give you a semicolon-separated output.
Does the tool change my data?
▼
No. Cell values are written exactly as they appear in your input, with only the standard RFC 4180 quoting applied for safety. Empty cells stay empty, leading and trailing whitespace inside cells is preserved, and the row/column order matches the input. Short rows are not padded - the resulting CSV is exactly as wide as your widest row.
Convert TSV to CSV Online Free - No Upload Required
Convert tab-separated data into proper CSV online for free with this browser-based TSV to CSV converter. Paste a TSV, upload .tsv / .txt / .csv files, drag and drop, or fetch directly from a URL - the tool parses your data with a full RFC 4180 parser that handles quoted cells with embedded tabs and newlines, then serializes the result with your choice of delimiter (comma, semicolon, or pipe) and safe escaping. Your TSV is never sent to our servers. No registration or software installation required.
This online TSV to CSV converter supports three output delimiters (comma, semicolon, pipe), full RFC 4180 quoting and double-quote escaping, paste and Upload and drag-and-drop and URL Import, an Input preview limited to the first 500 lines for responsiveness on huge files, an Output preview also limited to the first 500 lines, row and column count statistics after conversion, Copy CSV with feedback, Download CSV as a complete .csv file, and a one-click Clear that wipes everything immediately. Works on huge TSV files without freezing the browser. No registration needed to start converting instantly.
Features Explained
Full RFC 4180 Parser
▼
The TSV parser is hand-written and respects the RFC 4180 quoting rules. A cell wrapped in double quotes can contain literal tabs, embedded newlines, and escaped double quotes (doubled). CRLF and LF row terminators are both handled. This is a real parser, not a naive split('\t') - it correctly reads complex TSV exports from spreadsheets and databases.
Three Output Delimiters
▼
Pick the output delimiter from the Output dropdown next to the Convert button. Comma is the universal CSV default and the most widely supported. Semicolon is the European convention used in locales where commas are decimal separators (e.g., 3,14 instead of 3.14). Pipe is useful when your data already contains both commas and semicolons and you need a third option that won't collide.
RFC 4180 Output Quoting
▼
Cell values are wrapped in double quotes whenever they contain the chosen output delimiter, a double quote, or a newline. Embedded double quotes are escaped by doubling (""). Cells without those characters are written bare. The output opens cleanly in Excel, Google Sheets, LibreOffice Calc, Python's csv module, and any other CSV reader.
Paste, Upload, Drag-and-Drop & URL Import
▼
Four ways to load TSV data: type or paste straight into the textarea, click Upload to pick a .tsv / .txt / .csv file, drag a file onto the Input area, or click URL Import to reveal a URL field that calls fetch() directly from your browser to the target endpoint with no proxy. URL Import requires the target server to allow cross-origin requests via CORS headers.
Input Preview (limited to 500 lines)
▼
When you load a large TSV file, only the first 500 lines are written to the input textarea. The full file is still stored in memory and used during conversion - the cap is purely a display safeguard to keep the page responsive when the source is multi-megabyte. A notice next to the Input label tells you when the preview is limited.
CSV Output Preview (limited to 500 lines)
▼
The output panel shows the generated CSV in a read-only text area so you can read and inspect the data. For huge tables the displayed text is limited to the first 500 lines and a notice next to the Output label tells you the preview is limited. Copy and Download always work on the full output - the cap is purely a display safeguard to keep the page responsive when the generated CSV is megabytes long.
Row & Column Statistics
▼
After conversion, a status line in the output toolbar shows the exact number of rows and columns extracted from the TSV. This is useful for sanity-checking before you copy or download - if the count looks wrong, the source file may be malformed or you may have selected the wrong delimiter.
Loading Spinner Overlays
▼
When you load a file or fetch a URL, a spinner overlay appears over the Input area with a status message. When you click Convert to CSV, a spinner overlay appears over the Output area until the conversion finishes. This makes it obvious when the tool is working on something rather than appearing frozen.
Copy CSV with Feedback
▼
Click Copy CSV to copy the entire generated output to your clipboard via navigator.clipboard.writeText(). The button label briefly changes to "Copied!" for 1.5 seconds as confirmation, then reverts.
Download as .csv File
▼
Click Download CSV to save the output as a converted.csv file. The blob is created locally on your device and the temporary object URL is released after the download is triggered.
Settings Saved Automatically
▼
Your output delimiter setting is saved to your browser's localStorage under the key "tsv-to-csv-converter" and restored on the next visit. Your TSV input and generated CSV output are intentionally not saved - they can be very large, and persisting them on every keystroke would slow the tool down. Re-paste, re-upload, or re-fetch your TSV after a refresh.
One-Click Clear
▼
Click Clear to wipe the input textarea, the generated CSV, the row stats, the URL Import bar, and any error message in a single action. Your saved settings are kept so you do not have to reconfigure the output delimiter when starting a new conversion.
Who Is This Tool For?
Data Analysts
Convert TSV exports from databases, BI tools, and analytics platforms into CSV for loading into Excel, Google Sheets, Pandas, R, or any data analysis tool.
Data Scientists
Turn tab-separated dataset dumps from research repositories or data warehouses into proper CSV for import into notebooks - faster than wiring up a custom loader.
Database Administrators
Convert TSV database dumps and query results into CSV for import into other database systems, reporting tools, or warehouse pipelines.
ETL Developers
Quickly convert TSV files between delimiter formats when one stage of an ETL pipeline outputs tab-separated and the next stage expects CSV.
Backend Developers
Transform tab-separated log files, debug exports, and configuration data into CSV for processing with standard csv libraries and tools.
Frontend Developers
Pull tabular data from a TSV-format API or scraped page and convert it to CSV for use in test fixtures, sample data, or visualizations.
BI Analysts
Convert data warehouse exports that come out as TSV (common with Hadoop, Hive, BigQuery, Snowflake) into CSV for downstream tools that prefer commas.
Researchers & Academics
Convert tab-delimited datasets from scientific instruments, statistical software (R, SPSS, Stata), or public data repositories into universal CSV for sharing and analysis.
Genomics Researchers
TSV is the dominant format in bioinformatics (BED, VCF-derived, GTF). Convert these exports to CSV for use in spreadsheets, R, or generic data tools.
Statisticians
Convert TSV exports from R, SAS, or statistical packages into CSV for clients, reports, or downstream pipelines that expect comma-separated input.
Spreadsheet Users
When you copy cells from Excel, Google Sheets, or Numbers, the clipboard contains tab-separated text. Paste it here and convert to a proper .csv file in one click.
Excel Users
Save Excel data as tab-delimited (Excel's default text export) and convert it here to comma-delimited CSV with safe quoting for cells that contain commas.
Google Sheets Users
Copy a range from Sheets, paste it into the input area (it's tab-separated by default), and download as CSV without going through Sheets' File > Download menu.
Content Writers
Convert tab-separated comparison tables, pricing matrices, and survey results into CSV for import into CMS systems, blog tools, and analytics platforms.
Project Managers
Turn exported project reports from project management tools (Jira, Asana, Linear) that come out as TSV into CSV for sharing in spreadsheets and stakeholder updates.
QA Engineers
Convert TSV test result exports from test runners and bug trackers into CSV for tracking, regression analysis, and report generation.
DevOps Engineers
Convert tab-separated metrics dumps, log slices, and inventory exports into CSV for parsing and import into monitoring or config databases.
Tech Support Staff
Convert customer-supplied TSV exports into CSV for ticket replies and triage when the customer's tool exports tabs but yours expects commas.
Marketing Teams
Convert TSV exports from analytics, advertising platforms, and CRM tools into CSV for processing in Excel, Google Sheets, and marketing automation systems.
SEO Specialists
Convert TSV keyword exports, ranking reports, and SERP data from SEO tools into CSV for analysis in spreadsheets and BI tools.
Open Source Maintainers
Convert tab-separated benchmark output, test fixtures, and dependency lists into CSV for graphs, dashboards, and project documentation.
Educators & Trainers
Demonstrate the difference between TSV and CSV formats, how delimiter choice affects parsing, and how RFC 4180 quoting works in data and web classes.
Students
Convert tab-separated lab data, homework datasets, and exported survey results into CSV for use in spreadsheets, Python notebooks, and statistical software.
Anyone with TSV who needs CSV
Whenever you have a tab-separated file or pasted spreadsheet content and the next tool in your workflow expects comma-separated CSV, this is the fastest way to get there.
Tips for Generating CSV from TSV
Copy from Excel or Google Sheets directly
When you copy cells from Excel, Google Sheets, or Numbers, the clipboard data is tab-separated by default - the same format this tool expects. Paste it straight into the input area for instant conversion to CSV.
Use semicolons for European locales
If your data contains decimal commas (e.g., 3,14 instead of 3.14), use semicolon as the output delimiter. Otherwise the data commas would collide with the CSV delimiter and require extensive quoting that's harder to read.
Use pipes when your data has both commas and semicolons
Some data contains both commas and semicolons (mixed-language text, code snippets, etc.). The pipe character almost never appears in normal data, so it's a safe third-choice delimiter that avoids quoting noise.
Verify the row and column count after conversion
After clicking Convert, check the bold row/column count line in the output toolbar. If the column count looks wrong (way too few columns), your input may be using a different delimiter than tab - inspect the raw text and adjust.
Trust the RFC 4180 parser
The parser handles quoted cells with embedded tabs, embedded newlines, and escaped double quotes correctly. You don't need to clean these up before pasting - just feed the raw TSV in and let the parser do its job.
Use URL Import for hosted TSV files
If your TSV is hosted online (GitHub, S3, a public dataset), use URL Import to fetch it directly from your browser instead of downloading and re-uploading. The fetch() call respects CORS, so the target site must allow cross-origin requests.
Use Download for huge outputs
If your CSV is tens of thousands of lines, the on-screen text preview is limited to the first 500 lines. The Download CSV button always saves the full unfiltered output, so use it when you need every row.
Save Excel as Tab-Delimited Text
Excel's File > Save As > Text (Tab delimited) (*.txt) export gives you a perfect TSV file you can drop into this tool. The .txt extension is supported by the Upload picker.
Re-paste after a page refresh
This tool does not save your TSV input or output to localStorage - that decision keeps the tool fast on huge files, but it means a refresh wipes everything. Your output delimiter setting IS preserved.
Open the CSV in Excel or Google Sheets to verify
After downloading, double-click the converted.csv file to open it in Excel, LibreOffice Calc, or Google Sheets. RFC 4180 quoting handles commas, quotes, and newlines inside cells correctly across all major spreadsheet tools.
Watch for inconsistent column counts
If different rows in your TSV have different numbers of tabs (a malformed file), the resulting CSV will have rows of different widths. Most CSV tools tolerate this, but it's worth fixing in the source if possible.
Use Clear before loading a new file
Click Clear to wipe the input, output, row stats, and any error message before loading a different TSV. This prevents leftover state from confusing the next conversion.
Supported Input Formats
The Input textarea accepts tab-separated text. The parser is delimiter-aware enough that you can also paste regular CSV - it will be re-serialized with your chosen output delimiter.
| Format | Delimiter | Common Extensions | Notes |
|---|---|---|---|
| TSV | \t (tab) | .tsv, .txt | Primary input format - the parser splits on tabs |
| CSV | , (comma) | .csv | Also accepted; the parser handles commas in quoted cells |
You can get TSV text into the textarea four ways:
- Type or paste directly into the Input textarea. Copying from Excel or Google Sheets puts tab-separated text on the clipboard automatically.
- Upload button - opens a file picker scoped to
.tsv,.txt, and.csv. The file is read locally withFileReader.readAsText(). - Drag and drop - drop a TSV file onto the Input area.
- URL Import - reveals a URL field, then calls
fetch()directly from your browser. The target URL must allow cross-origin requests via CORS headers.
CSV Output Format
The output follows the standard RFC 4180 CSV rules so it opens cleanly in any spreadsheet program or CSV parser:
- Cells are separated by your chosen output delimiter (
,,;, or|). - Rows are separated by newline (
\n). - Cells containing the delimiter,
", or a newline are wrapped in double quotes. - Embedded double quotes inside a quoted cell are escaped by doubling them (
"").
Privacy & Security
This free TSV to CSV converter runs entirely in your browser. Your TSV, generated CSV, and settings are never sent to our servers - all parsing, RFC 4180 escaping, copy, and download happen on your device using JavaScript. The only network request the tool ever makes is the one you trigger explicitly with URL Import, which goes directly from your browser to the URL you enter.
Only your output delimiter setting is stored in your browser's localStorage under the key tsv-to-csv-converter so it persists across page refreshes. Your TSV input and generated CSV output are intentionally not saved - this keeps the tool fast even when you work with very large files. Click Clear to wipe the input, output, and stats immediately. We have no logs, no analytics on your data content, no tracking, and no database.