Spreadsheet Converter

Convert spreadsheets between XLSX, XLS, ODS, CSV and TSV in your browser. Pick a sheet, set delimiter and encoding, and keep leading zeros intact.

The interactive tool loads here when JavaScript runs.

About this tool

What is the Spreadsheet Converter?

The Spreadsheet Converter moves data between Excel workbooks (.xlsx and the older .xls), OpenDocument spreadsheets (.ods) and delimited text (.csv and .tsv), and can also write an HTML table or JSON. It runs in your browser with the SheetJS library, so the file is not uploaded anywhere.

After you choose a file, the tool lists its sheets, shows a preview grid of the first rows and tells you how many rows, columns and formulas the selected sheet has. Delimited files get their own options: the delimiter is detected (comma, semicolon, tab or pipe) and can be overridden, the text encoding is detected from the byte order mark or the bytes themselves, and plain numbers are stored as numbers while values such as 007 or long IDs stay as text.

Each conversion lists what was lost on the way. Going to CSV keeps one sheet, replaces formulas with their last calculated values and drops formatting; going between workbook formats keeps values, formulas, merged cells and sheet names (and number formats for XLSX and XLS), but not fonts, colours or charts.

  • Converts between XLSX, XLS, ODS, CSV and TSV, plus HTML table and JSON output
  • Sheet picker and preview grid for multi-sheet workbooks
  • Delimiter and encoding detection for CSV input, with manual overrides
  • UTF-8 with BOM, UTF-8 or UTF-16 output and CRLF or LF line endings
  • Keeps leading zeros and long numeric IDs as text
  • Lists what each conversion drops; files stay in the browser
Read the guide: XLSX vs XLS vs ODS vs CSV: Choosing and Converting Spreadsheet Formats

How to use the Spreadsheet Converter

  1. Choose or drop a .xlsx, .xls, .ods, .csv or .tsv file of up to 50 MB.
  2. For CSV or TSV input, check the detected delimiter and encoding and change them if the preview columns look wrong.
  3. If the workbook has several sheets, pick the one you want in the sheet list and check the preview grid.
  4. Choose the output format. For CSV, set the delimiter, encoding, line endings and whether numbers are written as displayed or as raw values. For workbooks, choose all sheets or only the selected one.
  5. Click Convert and download, then read the notes under the button for anything that was dropped.

Worked example

European semicolon CSV to XLSX

Input

code;qty;price
007;5;2,50

Output

XLSX with code "007" stored as text, qty as the number 5, and price "2,50" kept as text

The semicolon delimiter is detected. 007 keeps its leading zeros because converting it to a number would lose them, and "2,50" stays text because a comma decimal is not a plain number. Format the column as a number in Excel if you need to calculate with it.

Background and insight

XLSX is the Office Open XML spreadsheet format introduced with Excel 2007: a ZIP of XML parts with room for 1,048,576 rows and 16,384 columns per sheet. XLS is the binary BIFF8 format used by Excel 97 to 2003, limited to 65,536 rows and 256 columns. ODS is the OpenDocument spreadsheet format used by LibreOffice Calc and supported by Excel and Google Sheets. All three hold several sheets, formulas and number formats.

CSV holds none of that. RFC 4180 describes it as records separated by CRLF, fields separated by commas, and fields containing commas, quotes or line breaks wrapped in double quotes with inner quotes doubled. In practice Excel uses the list separator from the operating system region settings, which is a semicolon in much of Europe where the comma is the decimal separator. TSV, registered with IANA as text/tab-separated-values, uses tabs and in its strict form does not allow tabs inside fields.

Encoding is the classic CSV trap. Excel on Windows opens a CSV without a byte order mark using the legacy code page, so UTF-8 text such as "café" shows up as "café". Writing UTF-8 with a BOM (the bytes EF BB BF) makes Excel detect UTF-8, which is why that is the default here. UTF-16 LE with a BOM is an alternative that Excel also recognises, particularly for tab-separated files.

Common use cases

  • Opening a CSV export correctly in Excel

    Convert a UTF-8 CSV from a database or web app to XLSX so accented names and leading zeros survive opening in Excel.

  • Feeding a sheet to a script or importer

    Export one sheet of a workbook as CSV or TSV with a known delimiter, encoding and line ending for a data pipeline or bulk import.

  • Swapping between Excel and LibreOffice

    Turn an .ods from LibreOffice Calc into .xlsx for Excel users, or the reverse, keeping every sheet and its formulas.

  • Rescuing old .xls files

    Convert Excel 97 to 2003 workbooks to .xlsx or CSV when the original application is no longer available.

Tips and limitations

  • CSV and TSV hold one sheet. To export a whole workbook to CSV, convert each sheet in turn.
  • Formulas become their last calculated values in CSV, TSV, HTML, JSON and .xls. The values are those saved in the file; nothing is recalculated.
  • Fonts, fills, borders, conditional formatting, charts, images, comments and data validation are not carried over between workbook formats, and ODS output does not keep number formats such as dates and percentages.
  • Choose "As displayed" to write numbers the way the sheet shows them (12.5%, 1,200.00), or "Raw values" for the underlying numbers. Dates are always written as displayed, because a raw date is only a day count.
  • Excel turns text such as 1-2 or MARCH1 into dates when it opens a CSV. Import through Data > From Text/CSV and set those columns to Text, or convert to XLSX here where they stay text.
  • Password-protected workbooks cannot be read. Remove the password first.

Frequently asked questions

What is lost when converting XLSX to CSV?

Everything except the values of one sheet: other sheets, formulas (replaced by their calculated values), formatting, column widths, merged cells (the value stays in the top-left cell), comments, charts and images.

Why do accented characters look wrong when I open a CSV in Excel?

Excel on Windows reads a CSV without a byte order mark in the legacy code page, so UTF-8 text is misread. Export with UTF-8 with BOM, which is the default here, and Excel detects the encoding correctly.

How do I keep leading zeros in ZIP codes and IDs?

Convert the CSV to XLSX here. Values such as 007 and numbers longer than 15 digits are stored as text cells, so Excel does not turn them into 7 or round them. Opening the CSV directly in Excel strips the zeros.

When should I choose a semicolon delimiter for CSV?

When the file will be opened by Excel in a region that uses a comma as the decimal separator, such as Germany, France or Brazil. Excel there expects semicolons and puts comma-separated data in a single column.

Does converting XLSX to ODS keep formulas?

Yes. Formulas, cell values, merged cells and sheet names are written to ODS. Number formats are not, so dates show as day numbers until you format the column again. Converting to .xls keeps number formats but stores formulas as calculated values.

Can I convert an XLSX with more than 65,536 rows to XLS?

No. The .xls format holds at most 65,536 rows and 256 columns per sheet, so the tool stops with an explanation. Use XLSX or ODS instead.

Is the spreadsheet uploaded to convert it?

No. The file is parsed by SheetJS inside this browser tab and the converted file is created there. Nothing leaves your computer.

Is there an in-depth guide to the Spreadsheet Converter?

Yes. “XLSX vs XLS vs ODS vs CSV: Choosing and Converting Spreadsheet Formats” covers the background, how it works, common pitfalls and worked examples. Read the full guide.