Excel to CSV Converter Free | Convert XLSX to CSV Online

📄 File & Document Free Forever

Excel to CSV Converter: Convert XLSX to CSV Online

Convert Excel spreadsheets to CSV right in your browser. Preview every sheet, choose your delimiter, and export one sheet or all of them at once.

Drop a spreadsheet here or click to browse
.xlsx, .xls, .xlsm · nothing is uploaded to any server
About This Tool

How this Excel to CSV converter reads spreadsheets entirely in your browser

Opening an .xlsx file is not as simple as reading text. It is a zipped bundle of XML parts describing sheets, styles, shared strings and cell references. This tool hands that parsing job to SheetJS, a JavaScript spreadsheet library, which reads the binary file with the browser’s FileReader API and builds an in-memory workbook object. No file is ever sent anywhere. The parsing, the sheet preview and the CSV export all happen on your device.

From upload to downloadable CSV

Step 1 Read as bytes The file is read with FileReader.readAsArrayBuffer(), giving raw binary data rather than text, since .xlsx is a compressed archive, not plain text.
Step 2 Parse with SheetJS XLSX.read(data, { type: 'array' }) unzips the archive and parses every worksheet into a workbook object keyed by sheet name.
Step 3 Render a live preview XLSX.utils.sheet_to_json(ws, { header: 1 }) converts the active sheet into an array of arrays, which the tool renders as an HTML table, capped at the first 15 data rows so huge sheets stay responsive.
Step 4 Export to CSV XLSX.utils.sheet_to_csv(ws, { FS: delimiter }) serializes the chosen sheet using your selected field separator, and the result is downloaded as a Blob.
// core parse and export calls, from the tool source var data = new Uint8Array(e.target.result); workbook = XLSX.read(data, { type: ‘array’ }); // … var csv = XLSX.utils.sheet_to_csv(workbook.Sheets[currentSheet], { FS: delimChar() }); var blob = new Blob([‘’ + csv], { type: ‘text/csv;charset=utf-8’ });

That leading  character written into the blob is a UTF-8 byte order mark. Excel on Windows does not reliably detect UTF-8 encoding in a plain CSV without it, so without the BOM, accented characters and non-Latin text can render as garbled symbols when the CSV is reopened in Excel, even though the data itself is correct.

Delimiter choice and why it matters

DelimiterCharacterWhen to use it
Comma,The RFC 4180 standard, works with almost every tool
Semicolon;Needed in regions where Excel’s default list separator is a comma-decimal locale
Tab\tAvoids delimiter collisions when your data itself contains commas
Multi-sheet workbooks export as a ZIP, not one CSV. CSV has no concept of multiple sheets, it is a flat table format. When a workbook has more than one sheet, the “Download All” button switches to building a JSZip archive containing one .csv file per sheet, rather than trying to merge everything into a single file. Downloading a single selected sheet skips the ZIP step entirely and saves just that one CSV.

What gets preserved and what does not

Preserved

Cell text values, sheet structure, and row and column order. Values are read with raw: false, so numbers and dates come through formatted the way they display in the sheet.

Not preserved

Cell colors, fonts, borders, merged cells, formulas (only their computed results), charts and embedded images. CSV is a plain text format with no styling model.

.xlsx / .xls / .xlsm input Comma, semicolon or tab output Multi-sheet ZIP export UTF-8 BOM for Excel compatibility

Spreadsheet and CSV specifications

  • SheetJS documentation covers the XLSX.read and sheet_to_csv APIs this tool calls directly.
  • RFC 4180 is the closest thing CSV has to a formal specification, defining comma delimiting and quoting rules.
  • MDN FileReader documents the API used to read the uploaded file into memory.
  • ECMA-376 is the Office Open XML standard that defines the .xlsx format itself.

Why people flatten spreadsheets

Preparing data exports for import into databases or analytics tools that only accept CSV, stripping formatting cruft from a report before feeding it into a script, converting a finance team’s spreadsheet into a format a Python pandas pipeline can read, or splitting a multi tab workbook into separate flat files for a data warehouse loader.

Common Questions

FAQ: Excel to CSV Converter

No, the entire file is parsed and converted locally in your browser using the SheetJS library loaded once from a CDN, your actual spreadsheet content is never transmitted to any server. This makes the tool suitable for spreadsheets containing sensitive business or personal data.

Comma-delimited is the most common CSV convention and the default expected by most software, but in regions where a comma is used as the decimal separator (much of Europe and Latin America), semicolon-delimited CSV is often used instead so that decimal numbers like 3,14 aren’t mistaken for two separate fields. Tab-delimited files (sometimes called TSV) avoid delimiter conflicts entirely when your data itself contains commas or semicolons within a cell’s text.

The CSV format only supports a single flat, two-dimensional table, it has no concept of multiple sheets or tabs the way a native spreadsheet file does. If your workbook has multiple sheets and you need all of them in CSV form, use the Download All Sheets as ZIP button, which converts every sheet to its own separate CSV file, rather than trying to combine them into one file.

This tool exports the calculated (displayed) values of formula cells, not the formula text itself, since CSV has no way to represent a formula, only static text and numbers. If a formula hasn’t been recalculated recently in the original file (for example, if automatic calculation was turned off), the exported CSV will reflect whatever value was last stored in the file.

CSV is a plain text format with no support for formatting at all, so colors, fonts, borders, conditional formatting, and merged cells are all lost in the conversion, only the raw text or numeric value of each cell is preserved. Merged cells typically have their value appear only in the top-left cell of the merged range, with the other cells in that range appearing empty in the CSV.

By default, this tool preserves the text as displayed by the spreadsheet where possible, but very large numbers, scientific notation, or numbers with specific custom formatting (like currency symbols or percentage signs) can sometimes render differently once stripped of their original cell formatting. If you notice unexpected number formatting, check the original cell format in Excel before converting.

No, password-protected or encrypted spreadsheet files can’t be read by the browser-based parsing library. You’ll need to remove the password protection in Excel (File > Info > Protect Workbook > Encrypt with Password, then clear the password) before uploading the file here.

There’s no hard limit built into the tool itself, since everything processes locally in your browser’s memory rather than through a server upload quota, but extremely large spreadsheets (hundreds of thousands of rows or many sheets) may take longer to parse and could strain memory on lower-powered devices.

Privacy Overview

Cookies let this site remember your preferences and show us which tools people actually use. Full detail sits in our Privacy Policy.