Free CSV Editor
See a CSV as a table, find the exact row that breaks it, and save it with commas, semicolons or tabs.
What is a CSV Editor?
A CSV editor reads comma-separated values, the plain-text table format that spreadsheets and databases export, and shows the rows as a grid you can check. This one also finds the row that breaks a file and writes the table back out with the delimiter you choose.
Parsing follows RFC 4180 and is done by Papa Parse, a widely used open-source CSV library. The tool works out whether a file uses commas, semicolons, tabs or pipes, drops the byte order mark Excel adds, and quotes a field only when it holds a delimiter, a quote or a line break.
Key Features
Delimiter Detected for You
Paste a file from German Excel, a TSV export or a pipe-delimited feed and the separator is worked out for you. The Delimiter stat shows what was found, so a misread file is obvious.
The Broken Row, by Number
An unclosed quote, a stray quote or a row with too few fields stops the parse and names the row. You fix one line instead of scrolling through a whole export.
Convert Comma, Semicolon and Tab
Pick the output delimiter and the table is rewritten with it, re-quoting fields as needed. A semicolon file full of decimal commas becomes a comma file without merging columns.
Formula Cells Counted
Cells that begin with = or @, or with + or - before text, run as formulas when the file opens in Excel or Google Sheets. The Formula cells stat counts them before you share the file.
Files Stay on Your Computer
Opening a .csv reads it inside the browser tab and no row is uploaded. Customer lists, payroll exports and order data stay private, up to 1,000,000 characters per table.
Perfect for everyone
- Analysts cleaning spreadsheet exports
- Developers checking import files
- Operations teams moving data between systems
- Anyone whose CSV Excel keeps mangling
How to Use the CSV Editor
Paste or open a CSV, check the table, and save it with the delimiter you need.
Paste the Table or Open a File
Paste CSV text into the source box, or open a .csv, .tsv or .txt file from your computer. The first row is read as the header, and blank lines are skipped.
Read the Table and the Stats
The preview lays the rows out as a grid with the header on top. Rows, Columns, Delimiter and Formula cells underneath tell you whether the file was read the way you expected.
Fix the Row the Error Names
When parsing stops, the error gives the row number and the cause: an unclosed quote, a stray quote, or the wrong number of fields. Edit that row in the source box and the table redraws as you type.
Choose a Delimiter and Download
Pick Comma, Semicolon or Tab for the output, then copy the text or download it as a file. Fields get quotes only where the new delimiter makes them necessary.
Real Tables Through the Editor
We pasted each of these tables into the editor with the output delimiter on its chip, then copied what came back, errors included. Guess the result before you reveal it.
“name,email,plan Ada Lovelace,ada@example.com,Pro Grace Hopper,grace@example.com,Free”
“Produkt;Preis;Menge Kaffee;4,50;2 Tee;3,20;1”
“id note 1 Ships Monday, not Friday 2 Says "fragile"”
“sku|qty A-100|4 B-200|12”
“name,address Ada,"12 Main St Apt 4"”
“name,note Ada,say "hi" twice”
“city, country Paris, France”
“name,note Ada,"open quote Grace,ok”
“name,note Ada,"say "hi""”
“name,email,plan Ada,ada@example.com Grace,grace@example.com,Free”
The Rules a CSV File Follows
CSV looks simple until a field holds a comma or a line break. These are the rules from RFC 4180, plus the habits of real exports, that decide how a table survives the trip.
Commas Inside a Field Need Quotes
A field containing the delimiter must be wrapped in double quotes, or it splits into two columns. The note Ships Monday, not Friday stays whole only when it’s quoted.
“How is a field with a comma written?”
Quotes Inside a Field Are Doubled
Within a quoted field, each literal double quote is written twice. A single quote mark there ends the field early, which is the usual cause of a stray quote error.
“How is Says "fragile" stored?”
Line Breaks Are Allowed in Quotes
A quoted field may span several lines, which is how addresses and comments survive an export. Line-based tools such as grep and wc -l then miscount the rows.
“Can a field contain a line break?”
The First Row Names the Columns
RFC 4180 makes the header optional, but nearly every export includes one. This editor always reads row 1 as the column names.
“Which row holds the column names?”
Every Row Has the Same Width
Each record should carry as many fields as the header. A short row usually means a missing delimiter, or an unquoted comma that shifted the columns.
“Can rows have different lengths?”
Spaces Are Part of the Field
RFC 4180 counts spaces as data, so in city, country the second header is “ country” with a leading space. Many importers then fail to match that column by name.
“Is the space after a comma ignored?”
Line Endings Can Be CRLF or LF
The RFC specifies CRLF, the Windows line ending, while most Unix tools write LF. Both are read the same way here, and the output uses LF.
“Which line ending does the output use?”
Semicolons Where Commas Are Decimals
In Germany, France and much of Europe, Excel saves CSV with semicolons because the comma is the decimal mark. A price written 4,50 is one field there, not two.
“Why does my CSV use semicolons?”
Tabs Make TSV
Tab-separated values follow the same idea with a tab between fields. Data rarely contains tabs, so much less quoting is needed.
“What reaches the clipboard when you copy spreadsheet cells?”
A Byte Order Mark Can Hide in Row 1
Excel’s CSV UTF-8 format starts the file with an invisible U+FEFF character. Left in place, it turns the first header into a name your import script can’t match.
“What is the hidden character before the first header?”
CSV Dialects You’ll Run Into
Every program writes CSV a little differently. Knowing where a file came from tells you which delimiter and encoding to expect.
Excel in a Decimal-Point Region
Writes comma-delimited files in the system code page unless you choose CSV UTF-8, which adds a byte order mark. Accented names can arrive garbled from the older option.
Excel in a Decimal-Comma Region
Uses the semicolon as its delimiter and writes four and a half as 4,50. Convert to Comma here before importing into a system that expects US-style CSV.
Google Sheets
Download as CSV gives comma-delimited UTF-8 with no byte order mark, one sheet at a time. Formulas are exported as their calculated values.
Database Exports
PostgreSQL’s COPY with the CSV option writes RFC-style quoting with commas. MySQL’s SELECT INTO OUTFILE defaults to tabs and backslash escapes, which isn’t RFC 4180, so set its FIELDS options explicitly.
TSV From Copy and Paste
Cells copied out of Excel, Sheets or Numbers reach the clipboard as tab-separated text. Paste them here and choose Comma to get a CSV file.
Pipe-Delimited Feeds
Older banking, healthcare and mainframe systems often use the pipe character because it rarely appears in names or addresses. The pipe is detected here, and you can rewrite the file with any of the three outputs.
CSV Mistakes That Corrupt Data
Most damage happens after export, when a spreadsheet or a quick script reads the file.
Leading Zeros Vanish in Excel
Double-clicking a CSV makes Excel read 00742 as the number 742, so ZIP codes and product codes lose digits. Import through Data, From Text/CSV and set those columns to Text.
Long Numbers Lose Their Last Digits
Excel keeps 15 significant digits, so a 16-digit order or account number ends in 0 once the file opens. Keep identifiers as text from the start.
Values Get Turned Into Dates
Entries like 3-4 or MARCH1 become dates when a spreadsheet opens the file, which is why several human gene symbols were renamed in 2020. Check the table here before Excel touches it.
Formula Cells Run on Open
A cell starting with =, @, + or - can execute when someone opens the export, a risk called CSV injection. If Formula cells is above zero for user-supplied data, prefix those cells with an apostrophe before sharing.
Splitting on Commas Breaks Quoted Fields
A script that splits each line at every comma falls apart on “Ships Monday, not Friday”. Use a real parser, such as Python’s csv module or Papa Parse in JavaScript.
Counting Lines Isn’t Counting Rows
A quoted address with a line break spans two lines but is one record. The Rows stat counts records, which is what an importer will see.
Encoding Mismatches Garble Accents
Zoë showing up as Zoë means a UTF-8 file was read as Windows-1252. Save as CSV UTF-8 at the source, or reopen the file with UTF-8 selected.
Trailing Delimiters Add Empty Columns
Some exports end every line with a comma, which adds a nameless last column. The widths still match, so the file parses, but that empty column will appear in every import.
When People Reach for a CSV Editor
Usually right before an import, or right after one fails.
Checking an Import Before Upload
CRMs, email platforms and online stores often reject a whole file over one bad row. Run it here first and fix the row the error names.
Converting a European Excel File
A semicolon file from a colleague in Germany or France opens as one long column in US Excel. Convert it to Comma and every value lands in its own column.
Turning Spreadsheet Cells Into CSV
Copy a range from Sheets, paste the tab-separated text, and download a comma file. That beats exporting a whole workbook to get twelve rows.
Reading an Export Without Excel
Open a bank, analytics or database export to see its columns before Excel rewrites dates and strips leading zeros. The table shows each value exactly as stored.
Debugging a Failed Data Load
When pandas, BigQuery or a COPY command fails on a CSV with a field count error, paste the file here to find the offending record by number.
Screening User-Submitted Files
Before passing a customer-supplied spreadsheet to finance, check the Formula cells count. Anything above zero deserves a look for injected formulas.
Writing Test Fixtures
Draft small CSV fixtures by hand, confirm they parse at the width you expect, and copy them into a test suite with the quoting already right.