CSV vs Excel (.xlsx): What’s the Difference?

Updated July 2026 · By the CSVUndo team · 6 min read

The quick answer: a CSV is a plain-text file that holds one table of raw values — no data types, no formatting, no formulas, no extra sheets and no charts. An XLSX is a zipped bundle of XML that stores all of those things. So the rule of thumb is simple: use CSV to import, export and exchange data between systems; use XLSX for the file you actually work in. Saving an XLSX as CSV keeps only the values of the active sheet and throws the rest away — which is exactly why your formatting, formulas and leading zeros vanish. Here is the full comparison, and how to move between the two without losing anything you can’t get back.

CSV vs XLSX at a glance

The two look alike in a spreadsheet window but are worlds apart on disk. CSV is the lowest common denominator — readable almost everywhere precisely because it stores almost nothing — while XLSX carries everything on screen at the cost of portability. The practical differences:

FeatureCSVXLSX
File typePlain textZipped XML
Data typesNone — everything is textYes (numbers, dates, text)
Formatting & coloursNoYes
FormulasNoYes
Multiple sheetsNoYes
Charts & imagesNoYes
Typical file sizeTinyLarger
Universally importableYesNo
Safe for codes like ZIP/UPCOnly if imported as textYes, when typed correctly

What a CSV really is

A CSV (“comma-separated values”) is a plain-text file — the kind you could open in Notepad. Each line is a row, and commas separate the columns. That is the whole format. There are no cell colours, no bold, no formulas, no second sheet, and crucially no data types: the file cannot mark a column as “these are codes, not quantities.” A ZIP code and a price look identical in a CSV, because both are just characters between commas.

That minimalism is a feature: CSV files are tiny and almost every database, shop platform and analytics tool can read them, which is why they are the default for imports and exports. The catch is there is no single strict standard. RFC 4180 is a widely-cited guideline, but real files vary — the separator may be a comma or a semicolon, the encoding UTF-8 or legacy ANSI, and quoting rules differ between programs. That is exactly why CSV imports break: a semicolon file read as comma-separated dumps every row into one column, and the wrong encoding turns accents into garbled symbols.

What an XLSX really is

An XLSX is not one file at all — it is a ZIP archive of XML documents (the Office Open XML format). Rename one to .zip, open it, and you will find separate parts for the cells, the styles and each worksheet. That structure lets XLSX remember everything a CSV cannot: the difference between the number 501 and the text code 00501, formatting and colours, live formulas, several worksheets, plus charts and images.

That makes XLSX a working format, not an interchange format — it is where you build, calculate and present. The trade-off is portability: an older or foreign tool may not read XLSX at all, whereas it will almost always accept a CSV. Think of XLSX as your workshop and CSV as the shipping box.

Why saving as CSV loses your work

When you take a rich XLSX and choose Save As → CSV, Excel writes out only the plain-text values of the currently active sheet and discards everything the CSV format cannot hold: formatting, colours, formulas (only their last calculated result is kept), and every other worksheet. Nothing is hidden or corrupted — those things simply have nowhere to go in a text file, so they are not written at all. This is expected behaviour, and Microsoft documents it in their own import and export guide.

There is a second, sneakier loss. Once your data is a CSV, re-opening it by double-clicking re-triggers Excel’s type-guessing: it sees a column of digits, decides it is a number, and strips leading zeros or collapses a long barcode into 1.2E+11. The CSV itself may be fine — the damage happens on the way back in. We cover the safe path in the guides on stopping scientific notation and why leading zeros disappear. One honest caveat: if a 16-digit account number was already rounded to 15 significant digits, those digits are gone for good and must be re-exported from the source — no format change brings them back.

Convert XLSX to CSV safely

You can move from XLSX to CSV without regret if you treat the CSV as an export, never as your master copy. Follow these steps in order:

  1. Keep the .xlsx as your master. Do all editing, formulas and formatting there, and never overwrite it with the CSV — the CSV cannot carry any of that back.
  2. Use File → Save As and choose “CSV UTF-8 (Comma delimited)”. The UTF-8 variant preserves accented and non-English characters that plain CSV can mangle.
  3. Generate the CSV last. Make it the final export step, right before you hand the data to the other system, so a throwaway text file never becomes the thing you work in.
  4. Re-import as text, don’t double-click. When you need to read the CSV back into Excel, use Data → From Text/CSV and set any code column to Text.

Already opened a CSV and it got mangled?

If a round-trip through CSV stripped your leading zeros or turned codes into scientific notation, you don’t have to retype anything. Our free browser tools re-pad zeros and expand notation back to full digits — all locally, nothing uploaded.

Open the free CSV repair tools →

Which one should you use?

Match the format to the job. If the file is going somewhere — an import into a shop platform, a data feed, a system-to-system handoff — use CSV, because everything can read it. If the file is where you do the thinking — formulas, pivot tables, formatted reports, several sheets — keep it as XLSX and only spin off a CSV when something asks for one.

The mistake that costs people hours is using a CSV as their everyday working file: every open-and-save cycle risks another round of type-guessing, and every save silently drops the structure you added. Work in the XLSX, export the CSV last, and you get both a rich file you control and a portable one other systems accept. To go deeper on the failure modes, browse all our CSV guides.

Frequently asked questions

Is CSV better than Excel?

Neither is better — they do different jobs. CSV is a tiny, universal plain-text format for moving one table of values between systems. XLSX is a rich working format that stores data types, formatting, formulas, multiple sheets and charts. Use CSV to import, export and exchange; use XLSX for the file you actually work in.

Why does saving as CSV remove my formatting and formulas?

A CSV can only hold plain-text values, so it has nowhere to record colours, fonts, number formats, formulas, extra sheets or charts. When Excel saves an XLSX as CSV it keeps only the calculated values of the active sheet and discards everything else. Nothing is corrupted — those parts are simply not written to a text file.

Can Excel open a CSV file?

Yes. Excel opens CSV files directly, but double-clicking one lets Excel guess the type of every column, which strips leading zeros and turns long codes into scientific notation. To open a CSV without damage, use Data → From Text/CSV and set identifier columns to Text before loading.

Does CSV support multiple sheets or colors?

No. A CSV is a single table of plain text with no styling. It cannot store more than one sheet, and it has no concept of colours, fonts, borders or charts. If you need any of those, keep the file as XLSX and only export a CSV when another system asks for one.

Sources: the CSV format guideline is RFC 4180; Excel’s save-as and import behaviour is documented in Microsoft’s import or export text files guide.