Convert Excel to CSV

Drop an Excel file here

.xlsx, .xls, .xlsm, .xlsb or .ods

Output options

Drop an Excel workbook in and get a CSV of each sheet you tick. Excel's own Save As exports only the sheet you are looking at and writes what is on screen: a price shown as 3.14 goes out as 3.14 even when the cell holds 3.14159, and a long ID can go out as 1.23457E+12. This converter writes the value the cell actually stores and turns dates into 2024-03-15. The report lists anything Excel would have handled differently. Nothing is uploaded.

How to convert Excel to CSV

  1. Drop an .xlsx, .xls, .xlsm, .xlsb or .ods file into the box above. It is read in your browser and never uploaded.
  2. Tick the sheets you want. Every visible sheet is ticked to start with, and hidden sheets are listed but left unticked.
  3. Read the report. It names any cell that Excel's own export would have written differently, and any formula with no result to export.
  4. Press Download .csv. With more than one sheet ticked you get a ZIP containing one CSV per sheet.

What Excel's own Save As gets wrong

Save As → CSV exports only the sheet you are looking at. Excel shows a warning about that, and it also means a twelve-sheet workbook takes twelve saves. The bigger problem is quieter: Excel writes each cell as it is displayed, not as it is stored. Anything the cell format hides is lost from the CSV, and nothing on screen tells you that happened.

The cell holdsFormatted asExcel's CSVThis converter
3.14159Two decimals3.143.14159
1234567890123General, normal width1.23457E+121234567890123
1234.5Currency"$1,234.50"1234.5
45366Date3/15/20242024-03-15
721Zero-padded, 000000072100721

The first two rows lose precision permanently. The currency row is still correct, but now it is text with a dollar sign and a thousands separator, which most importers reject. The last row shows the exception: when a number is padded with zeros for display, the padded form is the data. Postcodes and employee numbers are stored this way, so padded values are written as they appear and the report counts them.

If you need the displayed text, for a report that has to match the screen, set Numbers to As shown in Excel. The report then lists the values that were rounded, so the choice is deliberate.

Dates come out as ISO 8601

A date in Excel is the number of days since 31 December 1899. Excel counts one day extra because it keeps a 29 February 1900 that never existed, a bug copied from Lotus 1-2-3 on purpose. Only the cell's format says a number is a date. Converters that ignore formats write 45366. Converters that copy the display write 3/15/24, which a program in another country may read as the 3rd of the 15th month. Here every date-formatted cell becomes 2024-03-15, date-and-time formats become 2024-03-15 12:00:00, and time-only formats become 18:00:00. Durations formatted as [h]:mm, such as 36 hours, are not dates and are written as shown.

Workbooks created in older Mac versions of Excel may use the 1904 date system, which counts from 1 January 1904. The same stored number then means a date four years and one day later. The workbook setting is read and the dates are corrected, and the report says when this happened.

Formulas without a result

A CSV holds values, so each formula is exported as the result Excel saved with the file. Files produced by scripts, database exports and reporting tools often contain formulas that were written but never calculated, so there is no saved result at all. The library underneath this page reports those cells as 0, and we measured it doing so. A 0 in a total column looks like real data. These cells are left empty instead and the report names each one. Open the file in Excel, save it, and convert again to get the calculated values.

Merged cells, hidden rows and hidden sheets

A merged area stores its value in the top-left cell only, so the default export matches Excel: one value and some empty cells. For data you will filter or import, tick Fill merged cells to repeat the value across the merge so every row is complete. Hidden rows and columns are exported unless you tick the option to leave them out, and the report says how many there were either way. Hidden sheets appear in the sheet list unticked. Workbooks often keep lookup tables or old data in hidden sheets, and exporting them by accident is how data leaks.

The CSV file itself

The output is UTF-8, so “Çağla”, “Zoë” and Japanese text survive. Excel's plain CSV (Comma delimited) option uses the Windows code page instead and replaces characters it cannot encode with question marks. Fields containing the delimiter, a quote or a line break are quoted as RFC 4180 requires, so a multi-line address stays one cell. Every row has the same number of fields, which keeps importers from shifting columns. Choose a semicolon for European Excel, tab for TSV, and LF line endings for Unix tools. The byte order mark is off by default. Excel needs it to recognise UTF-8, but many importers read it as part of the first column name.

Next steps

Excel to JSON turns a sheet into typed objects for code. CSV to Excel goes back the other way without losing leading zeros. A large export can be broken up with split CSV, and CSV to JSON converts the result onward. All of them are on the data tools page.

Frequently asked questions

Why are my numbers rounded when Excel saves a CSV?

Excel's CSV export writes each cell as it is displayed, not as it is stored. A cell formatted to two decimals that holds 3.14159 is written as 3.14, and a 13-digit number in a narrow column can be written as 1.23457E+12. That precision is gone from the CSV for good. This converter writes the stored value and lists the cells where the screen showed something shorter, so you can see exactly what Excel would have lost.

Why do dates become numbers like 45366?

Excel stores a date as the number of days since 1900, and the cell's format is the only thing that says it is a date. Tools that ignore the format write the raw number. Here every cell with a date format is written as an ISO date such as 2024-03-15, with the time added when the format shows one. ISO dates sort correctly and every database reads them. Workbooks that use the old Mac 1904 date system are detected and corrected, because the same number means a date four years and a day later.

Can I convert every sheet at once?

Yes. Excel's Save As exports only the active sheet, and many online converters do the same. Every sheet in your workbook is listed with its row and column count. Tick the ones you want: one sheet downloads as a single CSV, several download together as a ZIP with one CSV per sheet. Hidden sheets are listed too, unticked, so nothing is exported by surprise.

What happens to formulas?

Each formula is written as the result Excel saved with the file. Some files, especially ones generated by scripts and reporting tools, contain formulas that were never calculated and have no saved result. Some converters write 0 for those, which looks like real data. This page leaves them empty and names the cells, so you can open the file in Excel, let it calculate, and convert again.

Will leading zeros survive?

Yes, in both forms. A value typed as text, such as '00721, is written exactly as it is. A number shown with a zero-padding format, such as 721 displayed as 00721, is written as 00721, because in that case the padded form is the real data. The report counts how many padded values it kept.

What about merged cells and hidden rows?

A merged area stores its value only in the top-left cell, so by default the other cells come out empty, just as Excel exports them. You can fill the value into every cell of the merge instead, which keeps each row complete when you filter or import. Hidden rows and columns are included by default and counted in the report. You can leave them out.

Which delimiter and encoding does the CSV use?

UTF-8, so accented letters and non-Latin scripts survive, with a comma by default. Excel's plain CSV option uses the Windows code page and turns those letters into question marks. Choose a semicolon if the file is headed for Excel in a country that uses decimal commas, or a tab for a TSV. Turn on the byte order mark only if the CSV will be opened in Excel again. Many import tools read it as part of the first column name.

Is my workbook uploaded?

No. The file is read inside your browser tab, and the spreadsheet reader is downloaded the first time you drop a file in. Payroll, customer and finance workbooks never leave your device.