XLSX is an Excel workbook with several sheets, formulas and cell formats. ODS is an OpenDocument workbook, the native format of LibreOffice Calc. LibreOffice sits between the two, and this page says exactly what happens to an XLSX file on the way to becoming an ODS one.
What runs when an XLSX file becomes ODS
LibreOffice 24.2, on a machine we rent and watch. Your XLSX file is uploaded once, LibreOffice runs once, the ODS comes back, and neither file is kept. XLSX to ODS is one of the 3649 pairs that engine was probed on with a real file, which is why it has a page here and why the pairs the probe could not prove do not.
What survives from the XLSX into the ODS
An ODS you can still edit. This pair swaps the container, not the content: what comes back opens in a spreadsheet application and takes changes, which is the whole reason to do it rather than print to PDF.
Heading styles, still recognisable as headings. The ODS carries a heading level, not just larger text, which is what lets a table of contents rebuild itself and a screen reader skip around.
Tables, as tables. Rows and cells are re-described in the ODS table model rather than flattened into lines, so they stay sortable and editable.
Character formatting: bold, and the run structure that carries it.
The formulas themselves, not their answers. A SUM in your XLSX file arrives in the ODS as a SUM: change a number and the total still recalculates. This is the single thing a PDF export cannot do, and it was measured on this pair rather than assumed.
What XLSX to ODS costs you
Exact pagination. XLSX and ODS compute line breaks and page breaks with different engines, so a document that filled four pages can come back filling five. Nothing is missing; it sits elsewhere.
Macros, and anything an application kept to itself. VBA does not cross into ODF and ODF Basic does not cross into OOXML, so an XLSX file that automates itself arrives in the ODS as one that does not.
Pivot tables, charts and conditional formatting rules can arrive simplified: the values behind them are exact, the interactive object around them is rebuilt in the ODS model and does not always survive the trip whole.
Where XLSX and ODS files come from
XLSX. Excel writes it, and so does nearly everything with an export to Excel button: Google Sheets, Salesforce, a bank statement download. It holds 1,048,576 rows and 16,384 columns, which is why it replaced the older binary.
ODS. LibreOffice Calc and OpenOffice write it natively. It is ISO/IEC 26300, which is why several public administrations ask for it by name in procurement, and why a file that arrives as ODS often arrives from one of them.
If a model is going to read the ODS
Structure is what survives from the XLSX file, and structure is what a model needs. XLSX in, ODS out, with the heading tree intact instead of flattened into one long paragraph.
XLSX to ODS, measured rather than promised
Running XLSX to ODS against the real engine with a real file, LibreOffice wrote 12,517 bytes of ODS in 1.2 seconds, machine otherwise idle. That is one XLSX file on one day and not an average, which is why the number is given together with the file that produced it.
The XLSX to ODS verdict was reached by reading the internal type and finding a witness word, meaning the output was read back and recognised. Which check was used matters, because they do not all prove the same thing, and a status code of 200 proves nothing whatsoever about whether the ODS file has anything inside it.
The same XLSX file, sent somewhere else
Other outputs the probe measured out of an XLSX file, so the cost of choosing ODS can be read against something. Sizes do not compare across engines, because each family was probed with its own XLSX witness file.
XLSX to PDF: 18,965 bytes in 1.1 seconds, verified by a format signature.
XLSX to HTML: 2,269 bytes in 1.1 seconds, verified by reading the internal type and finding a witness word.
Other ways into ODS, and what they measured
Among the published routes into ODS, XLSX is the first largest output of the 3 measured. The witness files differ, so this ranks the probe run and not your document.
CSV to ODS: 10,944 bytes in 1.1 seconds.
XLS to ODS: 12,285 bytes in 1.1 seconds.
What we will not pretend about XLSX to ODS
An XLSX file over 25 MB is refused before the upload finishes rather than after it, so you do not wait for a rejection.
An XLSX to ODS run that passes 90 seconds is killed, and the LibreOffice process is killed with it. A run left behind would sit on one of the machine's two cores until somebody noticed.
LibreOffice is serialised on purpose, one document at a time per worker, because each soffice instance takes 150 to 300 MB on a machine with 3.8 GB. Measured ceiling: 23 XLSX conversions in flight and roughly 0.9 a second sustained. Past that the queue answers 429 rather than falling over, which was tested at 32 at once.
Two thirds of the pairs you could imagine in this family do not exist, and it is worth knowing why before you go looking for one. LibreOffice converts inside whichever application opened your file: from a spreadsheet it writes spreadsheets, flat text, HTML and PDF, and it will not write a .docx no matter how it is asked. It returns nothing at all rather than something wrong. Of 113 combinations probed on this engine, 64 came back with a real file and the rest were refused outright.
This pair is one of the 64. It was proved by sending a real XLSX file through the live route and reading the ODS that came back: not its extension, its internals, plus a marker word planted in the source and found again in the output. The traits named further up this page come from a second probe that looks for each of them one by one.
One XLSX file at a time, chosen in the browser. There is nothing else to set up and nothing else on offer.
XLSX to ODS: what people ask
What actually converts my XLSX file to ODS?
LibreOffice does it, 24.2, on a machine we rent and watch. Not a browser trick and not somebody else service: the XLSX file is uploaded once, LibreOffice runs once, the ODS comes back, and neither file is kept afterwards.
How long does XLSX to ODS take?
On the file the probe used, LibreOffice took 1.2 seconds and wrote 12,517 bytes of ODS. That is one real measurement on one real XLSX file, not an average and not a promise about yours: a larger XLSX takes longer, and past 90 seconds the run is stopped.
What do I lose going from XLSX to ODS?
The one to know about first: Exact pagination. XLSX and ODS compute line breaks and page breaks with different engines, so a document that filled four pages can come back filling five. Nothing is missing; it sits elsewhere.
Can I still edit the ODS?
Yes, and that is the point of this pair rather than a PDF export. What comes back is a working ODS: open it, change it, save it. Formulas came across as formulas, so a total still recalculates when you change a number under it.
Will it look identical?
Close, not identical, and the difference is honest. XLSX and ODS lay text out with different engines, so line and page breaks can fall elsewhere and a four page document can come back at five. Nothing is missing when that happens; it sits in a different place. If you need the layout frozen exactly, convert to PDF instead, and accept that you can no longer edit it.
Is XLSX to ODS free?
There is a free allowance every month, and one XLSX to ODS conversion costs half a credit against it. When the allowance runs out the tool says so and stops, rather than quietly handing you a worse ODS.