SuperSheet

CSV vs XLSX: Which File to Send and Which to Keep

By Mark Fulton · 2026-10-01 · 11 min read

CSV vs XLSX: Which File to Send and Which to Keep

Send a CSV to software and an .xlsx to a person. A CSV is plain text: rows of values separated by commas, with no formatting, no formulas, no colours and exactly one sheet. An .xlsx is a workbook that carries all of that. The practical rule is to keep the .xlsx as your master copy, export a CSV only when a system asks for one, and never email a CSV to someone who has to read it. The costly mistake is saving over your workbook as CSV, clicking through the warning, and discovering later that the formatting went with it and does not come back when you reopen the file.

Most comparisons of these two formats read like spec sheets: CSV is smaller, XLSX is richer, CSV is universal. All true, and none of it helps at the moment you are standing in front of the Save As dialog with a file due. The useful question is not what each format is. It is what you lose when you move from one to the other, and whether you can get it back. So that is what this post covers, with a table of twelve things a workbook can hold and what happens to each.

What does a CSV file actually contain?

Open a CSV in Notepad and you see everything it has. Each line is a row. Within a line, values are separated by a delimiter, usually a comma. That is the whole format. RFC 4180, the document that describes the common CSV layout, says records are separated by line breaks, that a header line naming the fields is optional, and that fields containing commas or line breaks get wrapped in double quotes. Nothing in it describes fonts, widths, number formats or tabs, because there is nowhere in a text line to put them.

Two consequences follow. First, a CSV stores what a cell shows or holds as a value, not how it is dressed. A date is just characters. A percentage is just characters. Second, the file has no idea what type any column is. The program that opens it guesses. That guess is where most "my CSV looks broken" stories start, and it is the subject of a separate repair guide, CSV opens wrong in Excel? Fix the columns. This post is about the choice. That one is about the cleanup.

An .xlsx is the opposite design. It is a zipped package of structured files that describe the cells, the styles applied to them, the formulas, the sheets and the settings of the workbook. It is built to carry presentation along with data, which is why it can hold everything on the list below.

What do you lose when you save an .xlsx as CSV?

Excel is upfront about it, in two stages. Microsoft's guide to importing or exporting text and CSV files describes the dialogs: one reminds you that only the current worksheet will be saved, and a second warns that the worksheet may contain features that text file formats do not support. Many people click Yes on both without reading, because the file they wanted is right there.

Here is what each of those warnings is about, walked through twelve things a workbook can contain. The first column is what happens at the moment of Save As CSV. The second is what you get if you then reopen that CSV in Excel.

What the workbook has Survives Save As CSV? Survives reopening the CSV?
Cell values (text, numbers) Yes, as text characters Yes, but retyped by Excel's guess at each column
Formulas No. The current result is written, the formula is not No. You get static values
Number formats (currency, percent, decimals) Mostly no. Values are written as displayed or as raw numbers, depending on the cell No. Reopened cells are General unless Excel guesses
Dates Written as text in a regional pattern Re-guessed. Can flip day and month on another machine
Leading zeros (ZIP codes, IDs) Kept in the file if the cell was Text Lost on a plain open, because Excel reads the column as a number
Fonts, fills, borders No No
Column widths and row heights No No. Everything returns to default width
Frozen header row No No
Conditional formatting No No
Merged cells No. Only the top-left value is kept, the rest become empty fields No. They stay unmerged and empty
Other sheets No. Only the active sheet is written Not applicable. The file has one sheet
Charts, images, comments and notes No No

Read the third column carefully, because it is the one that surprises people. Even a perfect export does not give you a way back. Reopening a CSV does not restore your formatting, because the formatting was never in the file. It builds a fresh, unstyled workbook from text.

One detail worth checking on your own file before you trust the table: a number format does not always change what lands in the CSV. A cell holding 1234.5 formatted as currency may be written as $1,234.50 or as 1234.5, depending on the version and the format. If the exact text in the file matters to whoever receives it, open the CSV in a plain text editor and look.

Why does reopening a CSV change your data?

Because opening a CSV is an interpretation step, not a load step. Excel's own guide notes that when it opens a .csv file it uses the current default data format settings to decide how to read each column, and that you can run the import wizard when you need more control, for example to keep leading zeros by treating a column as text.

That is why the round trip is the dangerous path, not the one-way export. Take a workbook with a ZIP code column, a part number like 00417, and a date column. Save As CSV: the file is fine. Double-click it on a colleague's laptop: the ZIP code becomes a number and loses its zero, the part number becomes 417, and the dates are read using that machine's regional order. No warning appears at any step. Then someone saves that workbook, and the damage is now in a file with the right name and the wrong contents.

Three habits prevent most of this:

  • Treat the CSV as an export artifact, not a working file. Never edit it and save over it.
  • If you must open a CSV, import it through the data import route so you can set column types, rather than double-clicking.
  • If the data is going to a person, do not use CSV at all. See the next section.

For date columns specifically, the format collision between regional settings is its own problem, covered in Fix inconsistent date formats in Excel.

Which format should go to a person, and which to a system?

The rule is simple enough to put on a sticky note: CSV for systems, XLSX for people.

A system (an importer, a database loader, an accounting tool's bulk upload, a script) wants predictable, unadorned rows. It does not care about colour, and it can be thrown off by anything that looks like decoration, such as a title row above the headers or a totals line at the bottom. A person wants the opposite. They need readable column widths, a frozen header so they know what they are looking at on row 400, numbers that look like numbers, and a totals row that is visibly a totals row.

Situation Send Why
Uploading contacts, products or transactions to another app CSV The importer wants plain rows and a single header line
Emailing a report to a manager or client XLSX They need to read it without repairing it first
Handing a dataset to a developer or analyst for scripting CSV Smaller, text-diffable, any tool can read it
Archiving the working version of anything XLSX It keeps formulas, formatting and every sheet
Sharing a file for review with comments XLSX Comments and notes cannot live in a CSV
Moving data between two spreadsheet apps XLSX Keeps more than CSV does, though some formatting still differs between apps
Data a person must read and a system must also read Both One of each, labelled clearly

The last row is the honest answer to the case people avoid. If both audiences exist, make both files. A single compromise file serves neither.

The cost of sending the wrong one is lopsided. Send an .xlsx to a system that wanted a CSV and it gets rejected with an error you can see. Send a CSV to a person who wanted a readable file and they open it, find a wall of default-width columns with dates showing as number strings, and either spend ten minutes fixing it or conclude you do not take the work seriously. If your formatting choices are what make a sheet look credible, the checklist in How to make an Excel spreadsheet look professional is the place to start.

Is CSV UTF-8 different from plain CSV?

Yes, and it matters the moment your data contains anything outside basic English letters: accented names, currency symbols, non-Latin scripts. Plain text files need an agreed character encoding to be read back correctly, and a CSV does not say which one it used. Excel's Save As type list offers more than one CSV entry, and the entries differ in how the text is encoded. The one marked UTF-8 is the one to choose when the file contains accented or non-Latin characters, and when the receiving system asks for UTF-8.

A caution on menu wording: the exact names of the entries in the Save as type list, and whether the UTF-8 entry appears at all, vary by Excel version and between Windows, Mac and the web app. Open the list on your own copy and read the labels instead of trusting any screenshot, including one from a tutorial. If you are unsure which a receiving system wants, ask what encoding it expects. "UTF-8" is the common answer.

The separator can also change. Microsoft's import and export guide notes that the character separating fields is tied to your regional list separator setting, which is why a file saved on a machine set to a European region may use semicolons instead of commas. If a system you are uploading to splits everything into one column, open the file in a text editor and look at the separator before anything else.

How do you turn a CSV back into a readable workbook?

You cannot restore what was never saved, but you can build a readable workbook out of a CSV deliberately, and it only takes a few steps:

  1. Import the CSV so you control column types, instead of double-clicking it. Set ID and ZIP columns to text before they load.
  2. Save it immediately as .xlsx, so you stop working in the CSV.
  3. Set number formats on the money and percentage columns, and a real date format on date columns.
  4. Widen the columns to fit their content, and freeze the header row.
  5. Add a totals row that is visibly separate from the data.
  6. Check the file in a plain print preview before you send it.

That is about ten minutes by hand on a small sheet, and it is the same ten minutes every time. SuperSheet's CSV to Excel converter does those steps in your browser: drop in the CSV, review the plan of changes, approve what you want, and download a formatted .xlsx. Nothing is uploaded to a server. It deliberately does not guess at restructuring: it will not unmerge cells or rework a sheet with several tables on one tab, so a CSV that needs that kind of surgery still needs you.

Frequently asked questions

Does CSV keep formatting? No. A CSV holds values as text and nothing else. Fonts, fills, borders, column widths, frozen panes, conditional formatting and number formats are not part of the format, and they are not stored anywhere in the file. Excel warns you about this when you save, and reopening the CSV does not bring any of it back.

Can a CSV file have multiple sheets? No. A CSV is a single table. When you save a multi-sheet workbook as CSV, Excel writes only the active sheet and tells you so. To export every sheet you have to save each one separately, or keep the workbook as .xlsx.

Why is my CSV smaller than the .xlsx? Because it contains less. A CSV is only the text of your values, while an .xlsx also carries the styles, formulas, sheet structure and settings for the workbook. It also stores them inside a compressed package, so the size difference depends on the file. Do not use file size as a measure of how much data you have. A formatted .xlsx and a CSV of the same data can be quite different in size in either direction depending on how much formatting there is.

Is .xlsx or CSV better for importing into other software? Check what the software asks for, and when it accepts both, lean on CSV for imports. A CSV is a plain table with no hidden formatting, which makes it predictable for an importer to read. The tradeoff is that you take on responsibility for encoding, separators, dates and leading zeros, which is why the settings in the UTF-8 section above matter. If the importer reads .xlsx well, you may avoid some of those problems, but you also lose the simplicity.

Should I save as CSV or XLSX when I am not sure? Save as .xlsx. You can always export a CSV from a workbook, but you cannot rebuild a workbook from a CSV. Keep the .xlsx as the original and treat any CSV as a disposable copy.

Got a CSV a person has to read? Convert it to a formatted .xlsx in your browser, free.


SuperSheet is a free set of spreadsheet formatting, CSV conversion, and cleanup tools. Your file never leaves the browser.