Excel to CSV converter (XLSX to CSV)
Any sheet of an .xlsx file as a CSV, in your browser. Nothing is uploaded.
Open an Excel workbook to convert it to CSV
Drop it here or choose a file. Pick a sheet, then download it as a CSV.
The sample: three sheets of made-up UK weather, with dates, formulas and a percentage column.
Tip: drop several files to compare them.
Your file never leaves your device. It is read and charted by your browser. Nothing is uploaded.
Opens on the table, one sheet at a time
- View
- The table, every row of the sheet; the chart is one click away (Split or Chart).
- Sheet
- The first visible sheet that has data; every other sheet from the menu in the top bar.
- Download
- “Download as CSV” over the table: every column and every row of the sheet shown.
- Digits
- 15 significant digits; “Full precision (17 digits)” under “Do more” writes every digit.
At a glance
- Opens
- .xlsx and .xlsm workbooks, every sheet (hidden ones too), up to Excel’s 1,048,576 rows per sheet. Macros never run.
- Not read
- Old .xls files (Excel 97–2003), binary .xlsb workbooks and password-protected ones: save them as .xlsx in Excel first.
- One sheet at a time
- The CSV holds the sheet shown. Pick another sheet from the menu in the top bar and download again.
- Formulas
- Their saved results, never the formulas themselves.
- Numbers
- As stored, not as the cell’s format rounds them, with 15 significant digits, as Excel writes them (every digit on request).
- Dates and times
- As 2025-01-31 and 2025-01-31 09:30, whatever format the cell shows.
- Percentages
- A column formatted as percentages is written as its percentages: 90 % becomes 90.
- Text and blanks
- Text as it is (in quotes when it holds a comma), TRUE and FALSE as they are, empty cells empty.
- The file
- Comma-separated with a header row, UTF-8, every row of the sheet.
- Processing
- Converted in your browser. Your workbook is never uploaded.
- Price
- Free. No account or sign-up.
How to convert Excel to CSV
- Open your workbook. Choose an .xlsx or .xlsm file, or drop it on the tool at the top of this page. It opens on the table, on its first sheet. No workbook to hand? Click “Try a sample workbook”.
- Pick the sheet. The menu in the top bar lists every sheet, hidden ones too. Pick the one you need: the table shows it at once, with each column’s type.
- Download the CSV. Click “Download as CSV” over the table (or “Download all columns (CSV)” under “Do more”). The CSV holds every row and column of the sheet shown; for another sheet, pick it and download again.
A worked example you can check
“Try a sample workbook” opens a made-up workbook of UK weather with three sheets:
- Daily (31 rows, 8 columns): January 2025 in London: dates, temperatures, a mean worked out by a formula, humidity as a percentage, rainfall with two days missing, frost (TRUE or FALSE) and the conditions.
- Monthly (12 rows, 5 columns): rainfall per month in London, Leeds and Glasgow, the total a SUM formula, the months shown as “Jan 2025”.
- Stations (5 rows, 6 columns): five stations with their position to five decimals, the date their records start and the time of the last update.
It opens on Daily. Click Download as CSV, and the CSV starts like this:
Date,London_Max_Temp,London_Min_Temp,London_Mean_Temp,London_Humidity,London_Rainfall,Frost,Conditions
2025-01-01,10.4,5,7.7,90,0,FALSE,"Overcast, drizzle"
2025-01-02,8.8,2.9,5.85,82,7.1,FALSE,Light rain
2025-01-03,10.6,4.8,7.7,72,0,FALSE,Heavy showersCell by cell, this is what the workbook holds, what Excel shows and what the CSV gets:
| Cell | Saved in the file | Excel shows | In the CSV |
|---|---|---|---|
| Daily D3, =AVERAGE(B3:C3) | 5.8500000000000005 | 5.9 | 5.85 |
| Daily E2, format 0 % | 0.9 | 90% | 90 |
| Monthly A2, format mmm yyyy | 45658 (a date) | Jan 2025 | 2025-01-01 |
| Stations F2, a date and time | 45689.395833… | 2025-02-01 09:30 | 2025-02-01 09:30 |
| Daily G2, a TRUE/FALSE cell | FALSE | FALSE | FALSE |
| Daily H2, text with a comma | Overcast, drizzle | Overcast, drizzle | "Overcast, drizzle" |
Pick Monthly or Stations in the top bar and download again for theirs. A test opens the sample on every change to the site and compares each sheet’s CSV with the file we expect, byte for byte. Download the sample workbook (.xlsx, 6 KB) to try it in Excel too, or more sample CSV and Excel files.
What the CSV keeps, exactly
Values, not formulas
A CSV file holds values only. Each formula cell gives the result the workbook saved with it, as Excel saves it after every calculation. A workbook written by a program that never calculated its formulas has no saved results, and those cells come out empty.
Numbers as they are stored
A cell’s number format changes what Excel shows, not what it stores. The CSV writes the stored value with 15 significant digits, the precision Excel itself writes: a cell formatted to one decimal that shows 5.9 but holds 5.85 gives 5.85, and the tiny binary remainder of a calculation (5.8500000000000005) is dropped. For every digit, tick Full precision (17 digits) under “Do more”.
Dates and times
Excel stores a date as a number of days and shows it through its format. The CSV writes it in one unambiguous form, 2025-01-31, with the time when the column holds times (2025-01-31 09:30), whatever the format: Jan 2025, 31/01/2025 or 1-31-25 all come out the same way.
Percentages
A column formatted as percentages is read as percentages: a cell that holds 0.9 and shows 90 % is written 90. The column’s name stays as it is, so add “%” to it in Excel first if the reader of the CSV needs to know.
Text, TRUE/FALSE and empty cells
Text is written as it is, in double quotes when it holds a comma, a quote or a line break, as CSV readers expect. TRUE and FALSE stay TRUE and FALSE. An empty cell, or an error such as #DIV/0!, gives an empty field, and a note says how many errors there were. In a column of numbers, a cell that says the value is missing (n/a, NA, #N/A, null or a dash) gives an empty field too; any other text in it, such as a comment, is kept as it is.
One sheet at a time
A CSV file is one table, so each sheet is its own CSV. Title rows above the header are left out (a note says so), and so are empty rows and columns with neither a name nor values. Charts, colours, comments and merged-cell layout are not data and do not come along.
Old .xls and .xlsb files
MegaRows reads .xlsx and .xlsm workbooks, the format of every Excel since 2007. It does not read the older binary .xls format (Excel 97–2003) or the binary .xlsb workbook, and it says so plainly if you open one. Open the file in Excel or LibreOffice Calc, choose Save As and Excel Workbook (.xlsx), and convert the new file here. A password-protected workbook needs its password removed in Excel first.
Other ways to convert Excel to CSV
- In Excel: File › Save As › CSV UTF-8 (Comma delimited) saves the sheet that is open, as its cells are displayed, so a number formatted to one decimal keeps one decimal. Repeat for each sheet.
- In LibreOffice Calc: Save As › Text CSV, where the option “Save cell content as shown” decides between displayed and stored values.
- In Python: pandas reads a sheet with
read_excel(with the openpyxl package installed) and writes it withto_csv.
The tool on this page needs none of them, and keeps the stored values. For a workbook going to MATLAB rather than to a CSV, convert it to a .mat file instead.
Private by design: nothing is uploaded
Workbooks often hold figures that must not leave the company. This tool reads your workbook and writes the CSV in your browser, so the file and its name never leave your device, and macros in an .xlsm file never run. It handles big sheets too, up to Excel’s 1,048,576 rows: the practical limit is your device’s memory.
Next steps with your data
- JSON to CSVJSON and JSON Lines records as a table, then as a CSV.
- Excel to MATThe same workbook as a MATLAB .mat file, a field per column.
- Large CSV viewerScroll, sort and filter the CSV, millions of rows too.
- CSV statisticsMean, standard deviation, min and max of any column.
- CSV plotterChart any column of the workbook, with zoom.
Frequently asked questions
How do I convert an Excel file to CSV without Excel?
Open the .xlsx file in the tool at the top of this page, pick the sheet in the top bar and click “Download as CSV”. Your browser reads the workbook on your own device and saves the CSV; there is nothing to install and no account.
Does it convert every sheet at once?
No: one sheet at a time, like a CSV file itself, which holds one table. Pick a sheet from the menu in the top bar, download it, then pick the next one. Hidden sheets are in the menu too.
Are formulas kept?
The CSV holds each formula’s result as the workbook saved it, never the formula itself: a CSV file has no formulas. A workbook saved by Excel stores those results; a formula Excel never calculated has none, and its cell comes out empty.
Why does the CSV have more decimals than Excel shows?
Excel rounds what it shows to the cell’s number format, but keeps the full value. The CSV writes the value with 15 significant digits, as Excel writes numbers: a cell showing 5.9 that holds 5.85 gives 5.85. Tick “Full precision (17 digits)” under “Do more” for every digit.
Can I convert .xls or .xlsb files?
Not yet. Old .xls files (Excel 97–2003) and binary .xlsb workbooks use formats MegaRows does not read, and the tool says so when you open one. Open the file in Excel or LibreOffice, save it as Excel Workbook (.xlsx), and open the new file here. Password-protected workbooks need their password removed first.
How are dates written?
As year-month-day, 2025-01-31, and with the time when the column holds times, 2025-01-31 09:30, whatever format the cell uses: a month shown as “Jan 2025” is written 2025-01-01. Excel and other programs read this form without mixing up days and months.
Is my workbook uploaded?
No. The workbook is read and the CSV is made by your browser, on your own device. Neither the file nor its name is sent anywhere; you can check it in the Network tab of your browser’s developer tools. Macros in an .xlsm file never run.
Related tools and guides
- CSV plotterOpen a CSV, Excel, TXT, JSON, MATLAB, Parquet, HDF5 or LabVIEW TDMS file with millions of rows and plot it in several linked charts, with zoom and statistics. Works today.
- Large CSV viewerOpen a CSV with millions of rows in your browser: scroll every row, see each column’s type and statistics, chart any column. Works today.
- MATLAB .mat file viewerOpen v4 to v7.3 .mat files without MATLAB and plot any signal. Works today.
- Parquet viewerOpen large .parquet files, see the schema at once and plot millions of rows, without Python. Works today.
- TDMS viewerOpen .tdms files from LabVIEW, DIAdem and DAQmx loggers: every group, channel and property, each channel plotted against its time. Works today.
- HDF5 viewerOpen .h5, .hdf5 and NetCDF-4 .nc files: every group, dataset and attribute, each group’s datasets plotted against their time. Works today.
- MAT to CSVConvert the signals of a .mat file, v4 to v7.3, to a CSV for Excel or Python, without MATLAB. Works today.
- Parquet to CSVConvert a .parquet file to CSV in your browser, with the columns you pick. Works today.
- TDMS to CSVConvert the channels of a .tdms file to CSV, a group at a time, with its time column, without LabVIEW or Excel add-ins. Works today.
- HDF5 to CSVConvert the datasets of an .h5 or NetCDF-4 file to CSV, a table at a time, with its time column, without Python. Works today.
- JSON to CSVConvert JSON and JSON Lines files to CSV: nested fields become columns named by their path, arrays stay as JSON text. Works today.
- CSV to MATConvert a CSV, Excel, JSON or Parquet file to a MATLAB .mat file: a field per column, with names and units, every row. Works today.
- Merge CSV filesAppend many CSV files into one, even with different columns or separators. Works today.
- Split CSV filesSplit a CSV too big for Excel into parts of 1,000,000 rows, parts of a size you choose, or one file per value of a column. Works today.
- CSV row counterCount the lines in a CSV, TSV or TXT file of any size. Works today.
- CSV statisticsCount, missing values, min, max, mean, standard deviation, RMS and peak to peak of each number column, for the whole file or the rows you zoom into. Works today.
- CSV histogramA histogram of any number column, with automatic bins or 10 to 200 of them, and each bin’s count as a table. Works today.
- CSV too large for Excel?Open every row of a CSV beyond Excel’s 1,048,576-row limit, or work around the limit in six other ways.
- FFT and PSD from a CSVTurn a signal column into an FFT spectrum or a PSD with Grms, with results checked against SciPy. Works today.
- PSD calculatorTurn a vibration column into a power spectral density (Welch) in g²/Hz, with the Grms of any band and a dB view. Works today.
- Spectrogram from CSVSee how the frequencies of a measured signal change over time, as a heat map in dB, with the window and range you choose. Works today.
- FRF and coherencePick an input and an output column and get the frequency response (H1, H2, magnitude and phase) and their coherence. Works today.
- The MegaRows toolboxWhat works today and what is coming next, and why nothing is ever uploaded.
Coming soon to MegaRows: CSV to Excel and PDF reports · Compare CSV versions.
MegaRows processes files locally in your browser. Nothing is uploaded, not even the file name.