ODT is OpenDocument text, the native format of LibreOffice Writer. DOCX is Word in the OOXML format, with headings, tables and named styles. LibreOffice sits between the two, and this page says exactly what happens to an ODT file on the way to becoming a DOCX one.
What runs when an ODT file becomes DOCX
LibreOffice 24.2, on a machine we rent and watch. Your ODT file is uploaded once, LibreOffice runs once, the DOCX comes back, and neither file is kept. ODT to DOCX 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 ODT into the DOCX
A DOCX you can still edit. This pair swaps the container, not the content: what comes back opens in a word processor and takes changes, which is the whole reason to do it rather than print to PDF.
Heading styles, still recognisable as headings. The DOCX 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 DOCX table model rather than flattened into lines, so they stay sortable and editable.
Character formatting: bold, and the run structure that carries it.
What ODT to DOCX costs you
Exact pagination. ODT and DOCX 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 ODT file that automates itself arrives in the DOCX as one that does not.
Exotic ODT styling with no equal on the other side. LibreOffice maps one style model onto another, and where a feature has no counterpart it lands as the nearest thing rather than as itself.
Nothing about the words themselves. This is worth separating from the paragraph above: the losses in this pair are about how the document is described, never about what it says.
Where ODT and DOCX files come from
ODT. LibreOffice Writer writes it natively. Like ODS it is ISO/IEC 26300, and it turns up wherever a public body or a policy asked for an open format rather than a vendor one.
DOCX. Word writes it, and so does Google Docs on export. It is ISO/IEC 29500, a zip of XML, which is what lets a program read the document without opening Word.
If a model is going to read the DOCX
DOCX is a good destination for a person and a mediocre one for a model: the structure is real but buried in XML with a great deal of packaging around it. If the next reader of this ODT file is an assistant rather than a colleague, ODT to Markdown is the shorter path and costs fewer tokens for exactly the same content.
ODT to DOCX, measured rather than promised
Running ODT to DOCX against the real engine with a real file, LibreOffice wrote 5,514 bytes of DOCX in 1.1 seconds, machine otherwise idle. That is one ODT file on one day and not an average, which is why the number is given together with the file that produced it.
The ODT to DOCX verdict was reached by a format signature, meaning at least four bytes unique to the format were found at the right offset. 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 DOCX file has anything inside it.
The same ODT file, sent somewhere else
Other outputs the probe measured out of an ODT file, so the cost of choosing DOCX can be read against something. Sizes do not compare across engines, because each family was probed with its own ODT witness file.
ODT to PDF: 11,917 bytes in 1.1 seconds, verified by a format signature.
ODT to MD: 277 bytes in 0.1 seconds, verified by a pandoc round trip.
ODT to EPUB: 5,063 bytes in 0.1 seconds, verified by a pandoc round trip.
ODT to TXT: 264 bytes in 0.1 seconds, verified by reading the text back.
ODT to HTML: 4,043 bytes in 0.1 seconds, verified by a pandoc round trip.
ODT to RTF: 4,214 bytes in 1.1 seconds, verified by reading the internal type and finding a witness word.
Other ways into DOCX, and what they measured
Among the published routes into DOCX, ODT is the tenth largest output of the 12 measured. The witness files differ, so this ranks the probe run and not your document.
RTF to DOCX: 5,422 bytes in 1.1 seconds.
HTML to DOCX: 10,277 bytes in 0.1 seconds.
TXT to DOCX: 9,900 bytes in 0.1 seconds.
DOC to DOCX: 5,462 bytes in 1.1 seconds.
TEX to DOCX: 10,172 bytes in 0.1 seconds.
What we will not pretend about ODT to DOCX
An ODT file over 25 MB is refused before the upload finishes rather than after it, so you do not wait for a rejection.
An ODT to DOCX 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 ODT 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 ODT file through the live route and reading the DOCX 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 ODT file at a time, chosen in the browser. There is nothing else to set up and nothing else on offer.
ODT to DOCX: what people ask
What actually converts my ODT file to DOCX?
LibreOffice does it, 24.2, on a machine we rent and watch. Not a browser trick and not somebody else service: the ODT file is uploaded once, LibreOffice runs once, the DOCX comes back, and neither file is kept afterwards.
How long does ODT to DOCX take?
On the file the probe used, LibreOffice took 1.1 seconds and wrote 5,514 bytes of DOCX. That is one real measurement on one real ODT file, not an average and not a promise about yours: a larger ODT takes longer, and past 90 seconds the run is stopped.
What do I lose going from ODT to DOCX?
The one to know about first: Exact pagination. ODT and DOCX 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 DOCX?
Yes, and that is the point of this pair rather than a PDF export. What comes back is a working DOCX: open it, change it, save it. Headings are still headings and tables are still tables, so the document knows what its own parts are.
Will it look identical?
Close, not identical, and the difference is honest. ODT and DOCX 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 ODT to DOCX free?
There is a free allowance every month, and one ODT to DOCX 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 DOCX.