creatorvalet

XLSX to CSV

Every sheet in the workbook, converted here in the tab — with the separator, the encoding and the date format decided before anything is downloaded.

Runs in your browser0 bytes uploaded

Drop an .xlsx workbook here

Nothing is uploaded. The archive is unpacked and read in this tab.

Copy a range in Excel, Numbers or Google Sheets and paste anywhere on this page — the grid comes across whole, including any cell with a line break inside it. The box above is for text you already have.

XLSX to CSV, one sheet or all of them

A workbook is a stack of sheets. A comma-separated file is one flat grid. Every conversion between the two has to answer the question of which sheet you meant, and the usual answer is to quietly take whichever one was in front. That is what Save As does, and it warns you about it in a dialog most people dismiss without reading. A quarterly file with a tab per month therefore costs twelve trips through the same menu.

Here the sheets are listed the moment the file is read, each with its row and column count, and you tick whichever ones you want. One ticked gives you a plain download. Several ticked gives you an archive holding a separate file per sheet, named after the workbook and the tab so you can tell them apart a week later. Nothing is chosen for you and nothing is hidden.

How to change Excel to CSV without opening the file

Google asks this on your behalf, in the questions underneath the results, and it is a fair thing to want. Launching a spreadsheet application to export one table is slow, it needs a license you may not have on this machine, and on a locked-down laptop it may simply not be an option.

An .xlsx is a zip archive with XML inside it, which means reading one takes no spreadsheet at all — just something that can unzip and parse. Your browser can do both. Drop the file above and it is unpacked in the page, so the workbook is never opened in the sense the question means, and never handed to anyone either. The other suggestion you will see, importing the thing into Google Sheets, does work — at the cost of putting the file on someone else's servers, which is the exact trade this site exists to avoid.

The separator is not always a comma

Send one of these files to a colleague in Stockholm, Berlin or Madrid and there is a good chance every row arrives crammed into column A. Their copy of the spreadsheet reads the semicolon as the field separator, because in those languages the comma is the decimal point and cannot do both jobs at once. Nothing is broken; the two machines simply disagree about what the punctuation means.

So the separator is a choice here rather than a consequence of your system settings, with comma, semicolon, tab and pipe available and a line under each saying who wants which. A tab is the quiet favorite when you control both ends, since tabs almost never turn up inside a value and therefore never need escaping. Whatever you pick, values containing the separator are wrapped in quotes and internal quotes are doubled, so an address with a comma in it stays one field.

Accented characters, and the three bytes that save them

The second thing that goes wrong is names. Åsa, José and 张伟 survive the conversion perfectly well — the trouble comes later, when a spreadsheet on Windows guesses at the encoding and guesses wrong, turning them into Ã…sa and José. The fix is a byte order mark: three invisible bytes at the front declaring the file to be UTF-8, ticked by default above and explained at length in what a byte order mark is.

Untick it when the file is going somewhere else. Command-line tools, database loaders and a good number of scripts read those bytes as ordinary characters and end up with a first column whose name has invisible junk glued to the front — a bug that takes an afternoon to find because the name looks correct everywhere you inspect it.

Dates are numbers, and formulas are answers

Inside the archive a date is stored as a count of days since the beginning of 1900. What makes 46036 mean the fourteenth of January is a formatting rule kept in an entirely separate part of the file. Converters that skip that part hand you a column of five-digit numbers, which is the single most common way this job goes wrong. Those rules are read here, dates come out in ISO order by default, and you can switch to the American or European arrangement if the recipient expects one. Only the columns the workbook genuinely formats as dates are touched — a text cell that happens to read like one is left alone.

Formulas resolve to their results: a cell holding a sum arrives as the number. This is not a shortcut but the only honest option, since the format has no way to store a formula and recalculating a workbook would need the whole function library the spreadsheet has and we do not. The number written is the one the spreadsheet itself worked out and saved. Files generated by scripts sometimes carry formulas that were never calculated at all; those cells come out empty, and the receipt counts them for you rather than leaving you to wonder.

What this page will not do

It will not read .xls, the format from before 2007. That is a binary document with nothing structurally in common with the modern one, and supporting it would mean a second reader for a format Microsoft itself has been retiring for fifteen years. Open such a file anywhere and save it again in the current format first.

Colors, column widths, merged cells, charts and validation rules all disappear, because the target format has no concept of any of them — that loss is inherent to the destination, not a shortcoming of the conversion. Going back the other way, from a flat table to a real workbook, is a genuinely different job, and it has its own page:CSV to Excel writes proper .xlsx output rather than a renamed text file, and lets you fix the separator and the column types before the file exists instead of arguing with an import wizard afterwards. (SQL to Excel is the same destination from a query result.) If you only want to read what you were sent, theCSV viewer lays a file out as a sortable grid, andExcel to SQL takes the same workbook straight to insert statements when a database is where it is headed.

Nothing leaves this tab

Several of the results above this page charge for the privilege of receiving your file — one desktop product on the first page of Google asks $49.90 — and all of them need a copy of it to do the work. Here the unpacking, the parsing and the download are assembled by your own browser. Open the network panel before you hand the file over and you can watch it stay empty.

That matters more than it might for other formats. A workbook heading for conversion is usually a customer list, a payroll run or a set of accounts, and posting it to a stranger in return for a text file is a poor bargain. Large files are not refused either: you are told what your own machine is in for and the work then goes ahead, because a ceiling on a job that runs on your hardware would be an arbitrary limit rather than a real one.

Questions

How do I convert an XLSX to a CSV?

Drop the workbook on the box above and it opens here in the tab, sheet by sheet. Tick the sheets you want, glance at the table that appears, and take the download. Nothing is uploaded and no account is asked for, so the whole thing takes about as long as finding the file did.

How do I change Excel to CSV without opening the file?

That is what this page does. The workbook is unpacked and read by JavaScript in your browser — a .xlsx is a zip archive of XML parts, and reading it needs no spreadsheet application at all. You never open Excel, you never install anything, and you never hand the file to a server. It also means the job works on a machine with no Excel license on it.

Does it convert every sheet or just the active one?

Every sheet, if you want them. This is the one thing Excel's own Save As will not do: it exports the sheet you are looking at and warns you in a dialog most people click straight past, so a workbook with twelve tabs means twelve manual saves. Here all the sheets are listed with their row counts, you tick the ones you want, and picking more than one gives you a zip with a separate CSV inside for each.

Why do people use CSV instead of Excel?

Because everything reads it. A CSV is a text file, so a database importer, a Python script, an accounting package and a colleague on a Mac all handle it identically, while .xlsx needs a library that understands zip archives and XML. The trade is real, though: a CSV holds no formatting, no formulas, no column types and no second sheet — which is precisely why this page asks which sheet you meant.

What happens to my formulas?

You get the value, not the formula — a cell holding =SUM(B2:B4) comes out as 96. That is the same choice Excel makes when it exports, and for the same reason: a CSV has no way to store a formula. The value written is the one the spreadsheet itself last calculated and saved alongside the formula. If a file was produced by a script that wrote formulas without ever calculating them, those cells arrive empty, and the receipt says so rather than inventing a number.

Will accented characters survive in Excel?

Yes, as long as the byte order mark stays ticked, which it is by default. Those three invisible bytes are the only way an Excel on Windows knows the file is UTF-8; without them Åsa opens as Ã…sa. Untick it if the file is heading for a script or a database importer instead, because a few of those read the mark as part of the first column name.

Is my spreadsheet uploaded anywhere?

No. The archive is unzipped and the XML parsed in this tab using the browser's own decompression, and the download is assembled locally too. Open the Network panel before you drop the file and you will watch nothing go out. It matters here more than for most formats — a workbook on its way to CSV is usually a customer list, a payroll export or somebody's accounts.