CSV File Format (.csv)
A CSV file holds a table as one line of text per row, with values on each line separated by commas, and no single formal specification that every producer of the format agrees on.
CSV at a glance#
| Full name | Comma-Separated Values |
|---|---|
| File extension | .csv |
| Category | Data Files |
| MIME types | text/csv |
| Compression | Uncompressed |
| Specification | RFC 4180 |
| FileFlip support | FileFlip reads and writes this format |
What a .csv file can hold#
These are the things a CSV file either supports or does not, and they are what decides whether a conversion keeps everything or quietly drops something.
| Human readable | Yes |
|---|---|
| Comments | No |
| Schema or validation | No |
Strengths and limitations of CSV#
What CSV does well
- Opens correctly in every spreadsheet application without a plugin
- A single row can be read or appended by a program without parsing the whole file
- Diffs cleanly in version control, since one row is one line
Where CSV falls short
- RFC 4180 describes common practice rather than a rule every producer follows, so real CSV files disagree on quoting, line endings and escaping
- No character encoding declaration, which is why a CSV opened in the wrong tool turns accented characters into mangled text
- No type system, so a spreadsheet doesn't know a column of ZIP codes shouldn't have its leading zero stripped as a number
- A comma or newline inside a value has to be wrapped in double quotes, and a naive line-by-line reader breaks on it
Use CSV to move a flat table between spreadsheets, databases and scripts, where every consuming tool already knows how to read it.
Convert CSV to JSON when the data needs to travel into an API or a program expecting typed, nested structures instead of a flat table of strings.
How to open a .csv file#
A .csv file opens in the programs below, grouped by the platform you are on. If you would rather not install anything, FileFlip converts CSV into a format your machine already opens, and it does it in the browser tab rather than on a server.
| Platform | Programs that open it |
|---|---|
| Windows | Microsoft Excel, Notepad++, Google Sheets |
| macOS | Numbers, Microsoft Excel, Google Sheets |
| Linux | LibreOffice Calc, Google Sheets |
| Web | FileFlip, Google Sheets |
CSV questions people ask#
Is there an official CSV specification?
Not one that every CSV file actually follows. RFC 4180, published in 2005, documents common conventions, like wrapping a value in double quotes when it contains a comma, but it describes existing practice rather than binding every tool that writes CSV. Delimiter, quoting and line-ending choices still vary enough between spreadsheet programs and databases that CSV is really a family of similar formats, not one format.
Why does opening a CSV in Excel mangle special characters?
CSV has no way to declare its character encoding inside the file itself, and Excel's CSV import on Windows has historically guessed the system's default encoding instead of UTF-8. A file saved as UTF-8 with accented characters or emoji then displays as garbled text until it's reopened with the encoding specified explicitly.
Why did Excel strip the leading zeros from my ZIP codes?
CSV has no type system, so every value is just text until the program reading it decides otherwise. Excel guesses that a column of digits is a number, and a number can't have a leading zero, so 01234 becomes 1234 the moment the file is opened, unless the column is reformatted as text first.
What happens to a nested JSON object when converting it to CSV?
CSV can only represent a flat table, so a JSON object nested inside a field has to be flattened, typically into several columns named with a dot, like address.city and address.zip, or serialized to a JSON string inside a single cell. Which approach a converter uses isn't standardized, so the same nested JSON can produce different CSV layouts depending on the tool.
Converting CSV files#
Convert CSV to another format
Convert another format to CSV
Every conversion runs inside your browser. The file is read from your disk, the work happens on your own machine, and nothing is uploaded. How FileFlip works names the engine behind each family and how to verify that for yourself.