ODS to Excel Converter
Convert OpenDocument Spreadsheets from LibreOffice or OpenOffice to Excel (.xlsx) - free, instant, and entirely in your browser.
Drop your files here or click to upload
Supports .ods, .fods · up to 50MB · or paste a file from your clipboard
How to Convert ODS to Excel
- Drop in your .ods or .fods file - one at a time, or several to convert as a batch.
- Let it parse - the OpenDocument XML is read and a standard .xlsx workbook is built in the page.
- Download - the output keeps the original name with an .xlsx extension.
About the ODS format
OpenDocument Spreadsheet is the native format of LibreOffice Calc, Apache OpenOffice and Collabora, and it is an ISO standard (ISO/IEC 26300). A .ods file is a ZIP holding content.xml - the sheets and cells - styles.xml, and a manifest. The flat variant, .fods, is the same document as a single uncompressed XML file. Both are read here.
Converting is a rewrite rather than a rename: each cell's value type is read from its office:value-type attribute and mapped onto the equivalent Excel cell.
How each cell type is mapped
| OpenDocument type | In the .xlsx |
|---|---|
float, number | Number |
date | A real Excel date - serial number with an m/d/yy format |
time | A fraction of a day with an HH:MM:SS format |
percentage | The underlying number: 15% becomes 0.15, unformatted |
currency | The number without its symbol: 1234.5 |
boolean | TRUE / FALSE |
string | Text, with leading zeros intact |
table:formula | The formula, translated from OpenFormula to Excel syntax |
Structure that survives
- Every sheet, with its name and its position in the workbook.
- Merged cells.OpenDocument records a merge as a span on the top-left cell plus "covered" placeholders for the rest; the span becomes an Excel merged range.
- Repeated cells and rows. LibreOffice compresses runs of identical or empty cells with a repeat count rather than writing each one, and those runs are expanded back out, so the sheet has the shape you saw in Calc.
- Hyperlinkswritten on a cell's text.
- Array formulas, with the range they spill across.
Edge cases
- Styling does not cross. Fonts, fills, borders, alignment, conditional formatting, column widths and row heights are not written into the .xlsx. Expect the data, not the design.
- Charts, images, DataPilot tables and Basic macros are not carried over. A pivot built in Calc has no equivalent in the output; rebuild it from the converted data.
- Defined names are dropped, so a formula referring to a named range by name will not resolve. Convert those to cell references in Calc first.
- LibreOffice-only functions become #NAME?. The function name is carried across as written, so anything Excel does not implement fails there rather than being silently altered.
- An encrypted .ods cannot be read and fails with a conversion error, because there is nothing to parse until it is decrypted.
- Cell comments do carry across- a Calc annotation becomes an Excel cell comment - but the note's own formatting and position do not.
- Everything runs in the browser tab, which is what keeps the file private and also what caps how large a spreadsheet is practical to convert.
When to use a different tool
- Going the other way, for a LibreOffice or public-sector workflow: Excel to ODS.
- You need the numbers rather than a workbook: Excel to CSV - or export CSV from Calc directly and use CSV to Excel.
- The source is an old Excel binary rather than OpenDocument: XLS to XLSX or XLSB to XLSX.
- You want to read the file rather than convert it: Excel Viewer opens the converted .xlsx.
- The formatting is what matters, not the data: Excel to PDFfrom Calc's own PDF export will preserve the layout far better than any format conversion.
Frequently Asked Questions
Yes, as formulas rather than frozen values. OpenDocument writes them in its own syntax - of:=[.A1]*2 - and each one is translated into the Excel form, A1*2, including references to other sheets. Array formulas keep their range. The exception is a function LibreOffice has and Excel does not, such as STYLE or CURRENT: the name is carried across unchanged, so Excel shows #NAME? in that cell.
OpenDocument stores those as a plain value plus a display style, and the style does not cross. A percentage cell holding 15% is the number 0.15 underneath and arrives as 0.15; a currency cell arrives as 1234.5 with no symbol. Select the column in Excel and apply a Percentage or Currency format and it reads correctly again - the numbers themselves are exact.
Dates and times are the one kind of formatting that does cross. An ODS date cell becomes a real Excel date - the serial number plus an m/d/yy format - and a time cell becomes a serial fraction with an HH:MM:SS format. Note that the format applied is m/d/yy whatever the ODS was displaying, so a European d/m/yyyy layout will need reformatting, and the value is not misread, only redisplayed.
Yes. A .fods is the same document written as one flat XML file rather than as a ZIP, which LibreOffice offers as 'ODF Spreadsheet (Flat XML)'. Both are accepted here, and both convert to .xlsx.
No - it will hold the same data, unstyled. Cell fonts, fills, borders, alignment, conditional formatting, column widths and row heights are not carried across, and neither are charts, images, DataPilot (pivot) tables or Basic macros. What crosses is every sheet with its name and order, the cell values, the formulas, merged ranges and hyperlinks.
Yes. Drop multiple files to convert them as a batch and download all the results as one ZIP. Each file converts on its own - sheets are never merged across workbooks.