Skip to content

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.

.csvData Files

CSV at a glance#

Full nameComma-Separated Values
File extension.csv
CategoryData Files
MIME typestext/csv
CompressionUncompressed
SpecificationRFC 4180
FileFlip supportFileFlip 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 readableYes
CommentsNo
Schema or validationNo

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.

PlatformPrograms that open it
WindowsMicrosoft Excel, Notepad++, Google Sheets
macOSNumbers, Microsoft Excel, Google Sheets
LinuxLibreOffice Calc, Google Sheets
WebFileFlip, 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#

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.