Convert XLSX to CSV

Converting XLSX to CSV pulls the values out of the first sheet and writes them as a UTF-8 file: calculated results rather than formulas, and no formatting, colours or column widths. It runs entirely in your browser, so you need neither Excel installed nor the nerve to upload a customer list.

  • Where it runs In your browser. The file is never uploaded.
  • Rebuilt CSV works differently from an XLSX, so this is not the gradual degradation a lossy codec applies. What CSV can express is reproduced faithfully; what it has no equivalent for does not survive at all.
  • File size limit Up to 100 MB per file, free, without an account.
  • Worth knowing Only the first sheet is read, and only its values. Formulas, formatting, column widths and every sheet after the first are left behind.

Up to 100 files at once. Mixed formats are fine.

Why an import wants CSV rather than XLSX

The reason for doing this is nearly always a system on the other end: a database import, a script, an upload form, a tool that predates Excel formats. CSV is the plainest possible table — values, commas, line breaks — and its plainness is exactly why everything accepts it.

What a spreadsheet loses on the way to CSV

Everything a spreadsheet does beyond holding values. Formatting, colours, column widths, frozen panes and cell comments have nowhere to go. Formulas are resolved to their calculated results, which is what an import wants. Merged cells contribute their value once and leave the remaining positions empty, which is worth checking if your sheet uses them for layout.

Multiple sheets: only the first one converts

This is the limit to know before you start. A CSV holds one table and a workbook can hold twenty, so only the first sheet is converted. There is no honest alternative — concatenating several sheets into one file would produce something that looks like data and is not.

If you need several, save them separately in the spreadsheet first and convert each one. It is two extra minutes and it is the difference between an import that works and one that fails halfway through with a column count error.

Encoding, and the Excel double-click trap

The CSV is written as UTF-8 without a byte-order mark, which is what every modern importer expects. Excel on Windows is the awkward exception: double-clicking a UTF-8 CSV can turn accented characters into mojibake, because Excel guesses the encoding from the system locale rather than reading it.

The fix is to import rather than open — Data → From Text/CSV, then pick UTF-8. Nothing is wrong with the file; Excel is simply reading it with the wrong assumption.

Converting a workbook without uploading it

This runs entirely in your browser. Spreadsheets are frequently the most sensitive files an organisation has — payroll, customer lists, pricing — and there is no reason for one to travel anywhere to have its commas rearranged. It also means no Office installation is required, which is often why the search happened at all.

Dates are the value most likely to surprise you

A spreadsheet does not store a date. It stores a number — days counted from 30 December 1899 — with a display format laid over it, and only the number crosses into the CSV. A cell showing 04/03/2026 is written as 46085. The format that made it look like a date lived in the workbook, and the workbook is what you are leaving behind.

So the surprise is not which way round the day and month are; it is an integer arriving where the import expected a date. There are two ways out and it is worth picking one before converting. Change the column to text in the spreadsheet, so the form you want — usually ISO — is the stored value rather than a costume over a number. Or add the serial to 1899-12-30 on the receiving side, which is what a database import does anyway. Times ride in the fractional part of the same number, so 46085.5 is midday on that day.

Numbers lose their formatting, and that is the point

A cell displaying 1,234.50 with a currency symbol holds the number 1234.5, and the number is what the CSV receives. Symbols, thousands separators and fixed decimal places are display instructions, not data.

This is almost always what an import wants — a parser reading 1,234.50 as a number will either fail or read 1. If a human is going to read the CSV instead, expect it to look plainer than the sheet did, and know that this is correct rather than lost.

Quoting, commas inside cells, and line breaks

A value containing a comma is written inside quotation marks, so an address held in a single cell survives intact rather than splitting into three columns. A value containing a quotation mark has it doubled, which is what the CSV convention specifies and what every real parser expects.

The awkward case is a cell containing a line break — typically the notes column of an exported form. It is quoted and stays one value, but simple tools that split on newlines instead of parsing properly will still get it wrong. If the import is going to be fragile, strip the line breaks in the spreadsheet first.

Empty rows, hidden rows, and where the sheet ends

What converts is the sheet's used range, which is not always what you can see. A row emptied by clearing its contents rather than deleting it still counts, so a file can end with a run of blank lines.

Hidden rows and columns convert as well, because hiding is a display property and not a form of removal. If a sheet has columns hidden because they were not meant to be shared, delete them before converting rather than trusting the hiding.

How to convert an Excel file to CSV without Excel

  1. Drop your XLSX onto this page, or click to choose it.
  2. The first sheet is read and converted in your browser.
  3. Download the CSV.

XLSX vs CSV: a workbook against one plain table

XLSX compared with CSV
XLSXCSV
Full nameExcel WorkbookComma-Separated Values
File extension.xlsx.csv
Media typeapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheettext/csv
First published20071972
Published byMicrosoft
SpecificationECMA-376RFC 4180
LicensingOpen standardOpen standard
Standing todayCurrentCurrent
Opens in a browserNo browserNo browser
Considered insteadODS, ParquetJSON, Parquet

Opening the result

Microsoft Excel and LibreOffice Calc read both XLSX and CSV, so there is a way to check the result against the original without a second tool.

What each format is for

The two are aimed at different work: XLSX at editing, CSV at moving data between programs. That is worth weighing before converting, because the reason one exists is usually the reason the other is awkward.

XLSX is Microsoft's format, published in 2007. The specification is ECMA-376, and it is worth reading if the file has to outlive the tool that wrote it.

CSV dates from 1972, specified as RFC 4180. Microsoft Excel, LibreOffice Calc and pandas all read it.

CSV was published in 1972 and XLSX in 2007. The older one is generally the safer file to hand to somebody; the newer one usually does the job in fewer bytes.

XLSX to CSV: sheets, formulas and encoding

Are my XLSX files uploaded anywhere?

No. This conversion runs entirely inside your browser, so the file never leaves your device. You can confirm it yourself: open the network tab of your browser's developer tools and convert something. You will see the page load, plus the analytics and advertising the site is paid for with — and nothing carrying your file. The engine behind this particular pair is SheetJS, a spreadsheet reader and writer in JavaScript; your browser fetches it once and caches it.

What happens to a workbook with several sheets?

Only the first is converted. A CSV holds one table, so there is no honest way to represent three sheets in one file — and silently concatenating them would corrupt the data rather than lose it. If you need several, save them as separate files in the spreadsheet first.

Are formulas included?

You get the calculated values, not the formulas. That is almost always what an import wants.

What about formatting, colours and merged cells?

All gone. CSV holds values and nothing else — no fonts, no colours, no column widths. A merged cell contributes its value once and leaves the other positions empty, which is worth checking if your sheet uses merges for layout.

What encoding is the CSV written in?

UTF-8, without a byte-order mark. Every modern import expects that. Excel on Windows is the exception: double-clicking a UTF-8 CSV can garble accented characters, so use Data → From Text/CSV and choose UTF-8 rather than opening the file directly.

Do I need Excel installed?

No. The workbook is read by a JavaScript library running in your browser, so this works on a machine that has never had Office on it — which is frequently the reason people are looking for a converter in the first place.

Is the workbook uploaded?

No, it is read entirely in your browser. That matters here more than almost anywhere else: spreadsheets are usually the most sensitive files an organisation has.

Not sure which you need?

This page converts one into the other. If you are choosing rather than converting, XLSX vs CSV answers which to use, for what, and what each is bad at.

More about these formats