Skip to content

Convert Excel to CSV and CSV to Excel

Open an Excel workbook as CSV or JSON, or turn a CSV file into a real XLSX workbook. The file is read and written in your browser, so your spreadsheet is not uploaded.

XLSXCSVProcessed in your browser
The tool loads in your browser…

Features

  • Every sheet becomes a file

    A workbook with several sheets is split into one CSV or JSON file per sheet, named after the sheet. Hidden sheets are skipped.

  • Values, not formulas

    The result of each formula is written, as Excel last calculated and stored it. Dates and times are written as readable text such as 2026-03-05.

  • CSV to a real workbook

    Create an XLSX file from a CSV with numbers stored as numbers, text as text, and sensible column widths. Text that starts with = stays text, never a formula.

  • Separator detection

    Comma, semicolon and tab separated CSV files are recognised automatically, and quoted fields with separators or line breaks are handled.

  • Bengali and other non-English text

    CSV files can be written with a UTF-8 byte-order mark so that Excel shows Bengali and other scripts correctly when it opens them.

How to use Excel ⇄ CSV Converter

  1. Choose XLSX or CSV files, or drop them onto the page.
  2. Choose the options that appear for the files you added.
  3. Select Convert.
  4. Download the results, or all of them as a ZIP.

Supported formats

AcceptsXLSX, CSV
ProducesCSV, JSON, XLSX

The direction follows the file: XLSX files become CSV or JSON, CSV files become XLSX. The old XLS format is not supported.

Limits and things to know

  • Only .xlsx workbooks are read. The older .xls and the .xlsm, .ods and .numbers formats are not supported, and password-protected workbooks cannot be opened.
  • Formatting, formulas, charts, images, comments, merged cells and styles are not carried over. Only cell values are.
  • Up to 20 files, 50 MB each and 200 MB in total, and at most 20 million cells per workbook.
  • Dates are recognised from the number format of the cell. Excel’s 1900 date system treats 1900 as a leap year, so serial numbers before March 1900 are off by one day.
  • CSV to Excel writes one sheet named after the file, with at most 1,048,576 rows and 16,384 columns, and cell text is cut at Excel’s 32,767 character limit.

Privacy and processing

The XLSX file is a ZIP of XML files that your browser unpacks and reads in a Web Worker. Nothing is sent to FilesKit, which has no server that receives your spreadsheets.

Common uses

  • Move data between systems

    Export a workbook to CSV for a database import, an accounting tool or a script.

  • Open API or CSV data in Excel

    Turn a CSV export into a workbook with proper numbers, ready for formulas and charts.

  • Get Excel data into code

    Convert a sheet to JSON, with the first row as property names, for a web page or an app.

  • Split a workbook

    Create one CSV per sheet so each can be shared, reviewed or imported on its own.

How this differs from other approaches

Online spreadsheet converters upload your workbook, which is a risk for payroll, customer or financial data. FilesKit converts on your device. Excel, LibreOffice and Google Sheets can do this too and keep much more, such as formatting and formulas, when you save as CSV or XLSX yourself.

Frequently asked questions

Is my spreadsheet uploaded?

No. The conversion runs in your browser and FilesKit has no server that receives your files.

What happens to formulas?

You get the value of each formula as it was last calculated and saved in the file. The formula itself is not kept.

Why does Excel show strange characters in my CSV?

Excel needs a byte-order mark to recognise UTF-8. Keep the Excel-friendly option on when converting to CSV and Bengali text will display correctly.

Can it read old .xls files?

No. Open the file in Excel or LibreOffice and save it as .xlsx first, then convert it here.

Why is a number in my CSV shown as text in Excel?

Turn on the option to store numbers as numbers when converting CSV to Excel. Values with leading zeros, such as 007, stay text on purpose so that they are not changed.