Excel to CSV converter
Turn an Excel sheet into a CSV file. Pick the sheet, or save every sheet at once, and your workbook never leaves your browser.
Drop an Excel file here
An .xlsx or .xlsm workbook, up to 100 MB. It stays on your computer.
- No sign-up
- Nothing uploaded
- Every sheet at once
A clean CSV from any sheet in your workbook.
Your workbook stays on your computer
The .xlsx is opened in your browser. Nothing is sent to Mammoth or anyone else.
Every sheet, not only the open one
Excel's Save As writes only the sheet you have open. Here you can pick any sheet, or save them all at once.
Accents and other alphabets survive
The CSV is UTF-8, so Chloé, Zürich and 東京 come out as typed. Excel's plain CSV type uses an older encoding.
How to convert Excel to CSV
The first row of the sheet is the header and each row below it becomes one line. A value with a comma in it is quoted.
- 1
Add your workbook
Drop an .xlsx file on the box or choose one.
- 2
Pick the sheet
Switch sheets from the menu, and choose comma, semicolon or tab.
- 3
Download
Save the CSV, or every sheet as CSV files in one zip.
Other ways to do it
Excel saves a CSV itself, one sheet at a time.
Excel's Save As
One sheet, now and then
- Every sheet at onceNo
- Keeps codes like 02134Yes
- No code or installYes
- Runs on a scheduleNo
Python with pandas
A job you script once
- Every sheet at onceYes
- Keeps codes like 02134Partly
- No code or installNo
- Runs on a scheduleYes
- This page
This converter
Any sheet, no setup
- Every sheet at onceYes
- Keeps codes like 02134Yes
- No code or installYes
- Runs on a scheduleNo
How to save an Excel sheet as CSV
In Excel, Save As writes the sheet you have open as a CSV. Repeat it for each sheet you need. In Python, pandas can save every sheet in three lines.
- 1
Open the workbook and click the tab of the sheet you want.
- 2
Go to File > Save As (Save a Copy in Microsoft 365) and pick a folder.
- 3
Set the file type to CSV UTF-8 (Comma delimited) (*.csv).
- 4
Select Save. If the workbook has more than one sheet, only the one you have open is saved.
import pandas as pd
for name, df in pd.read_excel("orders.xlsx", sheet_name=None).items():
df.to_csv(f"{name}.csv", index=False)Needs the openpyxl package. pandas re-guesses each column, so a code stored as text, 02134, comes out as 2134. Adding dtype=str keeps it, but then every date gains 00:00:00.
Your file stays private
The converter runs inside this page. Your workbook is opened and written out as CSV on your computer, and nothing is sent to Mammoth. That makes it safe for sheets with customer or salary data in them.
Once the page has loaded, it works with your internet switched off.
Getting the same workbook every month?
Mammoth can take it from there. Put each month's workbook in a folder and the rows are added to one table, ready to download as CSV.
Monthly workbooks
| September | Sep 30 | Lisbon | 1,284 | |
| September | Sep 30 | Porto | 962 | |
| October | Oct 31 | Lisbon | 1,310 | |
| October | Oct 31 | Porto | 1,005 | |
| November | Nov 30 | Lisbon | 1,198 |
Illustration. Every new file in the folder is added to the same table.