Your data never leaves your device — 100% local processing

Excel (XLSX) → CSV converter

Turn an Excel sheet into CSV. Pick the sheet you need — encoding stays intact.

0 B uploaded — this page has not sent your files anywhere?

Private by design — every conversion runs right inside your browser, so your data is never uploaded anywhere. Safe for customer lists, sales figures and personal data. It even works offline.

Other conversion sites upload your spreadsheet to a server, process it there, and say they delete it after a while. Until that happens, your rows sit on someone else’s server. Here there is no upload step at all. The more sensitive the data — customer lists, payroll, anything with personal identifiers — the more that difference matters. See how to verify it →

More table converters

All-in-one converterCSV → ExcelExcel → CSVJSON → CSVCSV → JSONRepair broken CSVMarkdown table maker

How to export Excel to CSV without mangling text, dates or long numbers

Plenty of places, from online store admin pages to email services, accept CSV but not Excel files. This tool takes one sheet from an XLSX, XLS or ODS file, turns it into comma-separated CSV and adds a UTF-8 BOM on download, so the file reopens in Excel with every character intact. A CSV only holds the text a cell displayed, though, so it pays to know exactly what carries over.

A closer look

A CSV is plain text, and its encoding is the way that text is written as bytes. Most systems today expect UTF-8, but Excel for Windows opens a CSV without a BOM using the computer’s legacy code page, such as Windows-1252 across the Americas and Western Europe, so accented letters and non-Latin text come out garbled. The BOM is three bytes, EF BB BF, at the very start of the file that mark it as UTF-8. sheetmoa adds it when you download the CSV and wraps any cell containing a comma, double quote or line break in double quotes. Text taken with Copy result has no BOM.

Only the values of the selected sheet go into the CSV. Formulas are exported as the result Excel calculated when the file was last saved, a merged cell keeps its value in the top-left cell only, and hidden rows and columns are included. Colors, bold, column widths, comments and images are dropped. Numbers are written the way their format displays them: a ZIP code shown as 01234 through a 00000 format stays 01234, but 1234567.5 in a thousands-separator format goes out rounded as "1,234,568", and 0.125 in a 0% format goes out as 13%. Long numbers left in the General format are the one exception: instead of shortening them to 8.80123E+12 the way Excel’s grid does, every digit is written out, as in 8801234567890.

How to use it

When it helps

Bulk product uploadsExport just the listing sheet from a workbook of product names, prices and stock, then upload it to an online store’s product import.
Email and SMS contact listsTurn a customer sheet into CSV for a sending service’s contact import. The file never leaves your device, so the list is not left on another server.
Database importsFeed spreadsheet data into CSV-based import commands such as MySQL’s LOAD DATA or PostgreSQL’s COPY.
One CSV per sheetFrom a sales workbook split into one sheet per branch, pick each sheet in turn and save it as its own CSV.

Common snags

Dates come out as 1/5/24 instead of 2024-01-05.Excel’s default short date is a format that changes with each viewer’s regional settings, so in the output it is written as month/day/two-digit year. Apply the custom format yyyy-mm-dd to the date column in Excel, save, and convert again to get 2024-01-05.
A 16-digit card or order number ends in 0.Long numbers in the General format are written out in full, never in scientific notation, but Excel only keeps 15 significant digits. Type 1234567890123456 as a number and the file already holds 1234567890123450, so the last digit cannot be recovered. Numbers of 16 digits or more are safe only if they were entered as text in the first place. A column where you chose scientific notation yourself, such as the custom format 0.00E+00, goes out in that form.
Several sheets downloaded with the same file name.The download is named after the original file, not the sheet. Depending on the browser, (1) and (2) are appended or you are asked to overwrite, so rename each file right after you download it.
I get “Could not read the file.”A workbook protected with an opening password cannot be read. Remove the password in Excel, save, and load it again. A damaged file shows the same message.

Tip If the CSV is going to a system that expects plain numbers, set the amount and quantity columns to the General format before exporting; the values then go out without thousands separators or rounding.

Frequently asked questions

What if my workbook has multiple sheets?

A sheet picker appears after you load the file. Select any sheet and download it as its own CSV.

Will the CSV re-open correctly in Excel?

Yes. The CSV includes a UTF-8 BOM so Excel detects the encoding correctly and non-ASCII text is preserved.

My CSV shows garbled characters

sheetmoa reads your file as UTF-8 first. If it finds broken characters (�), it retries only with the Korean legacy encoding EUC-KR (CP949), which Korean Excel uses by default; old .xls files are also read with code page 949. No other legacy encoding is tried. Files saved as UTF-8 (Excel's "CSV UTF-8 (Comma delimited)") open correctly, but a CSV saved in Windows-1252 (what Excel's plain "CSV (Comma delimited)" produces on Western-language Windows) can show broken accents such as "A�o". If that happens, re-save the file in Excel as "CSV UTF-8 (Comma delimited)" and open it again.

Is my data uploaded to a server?

No. Every conversion runs inside your browser and your file is never sent over the network. Safe even for customer lists and confidential spreadsheets.

Is it free?

Completely free — no limits on file count or size, and no sign-up.