ODT is OpenDocument text, the native format of LibreOffice Writer. HTML is the markup of the web, with native headings and tables. pandoc sits between the two, and this page says exactly what happens to an ODT file on the way to becoming an HTML one.
What runs when an ODT file becomes HTML
pandoc in two passes, on a machine we rent and watch. Your ODT file is uploaded once, pandoc runs once, the HTML comes back, and neither file is kept. ODT to HTML 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 HTML
The heading hierarchy. pandoc parses the ODT file into its own document tree and writes that tree out as HTML, so a level two heading is still a level two heading and not merely bold text.
Tables, rebuilt in HTML syntax rather than screenshotted. That is the difference between a table a machine can read and a picture of one, and it is the whole reason to send an ODT file through pandoc rather than through a printer.
Lists from the ODT file, nesting included, plus code blocks, block quotes and links, all re-expressed in HTML.
Images: pandoc extracts them out of the ODT file into a working directory and re-embeds them in the HTML, so nothing ends up pointing at a file that no longer exists.
What ODT to HTML costs you
Page layout. ODT carries some and HTML carries none, so margins, page breaks, headers and footers have nowhere to land and are simply not written.
Where ODT and HTML 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.
If a model is going to read the HTML
Structure is what survives from the ODT file, and structure is what a model needs. ODT in, HTML out, with the heading tree intact instead of flattened into one long paragraph.
ODT to HTML, measured rather than promised
Running ODT to HTML against the real engine with a real file, pandoc wrote 4,043 bytes of HTML in 0.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 HTML verdict was reached by a pandoc round trip, meaning the output was read back by pandoc and had to still contain a witness word planted in the source, which proves the content travelled and not merely the container. 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 HTML 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 HTML 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 DOCX: 5,514 bytes in 1.1 seconds, verified by a format signature.
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 RTF: 4,214 bytes in 1.1 seconds, verified by reading the internal type and finding a witness word.
Other ways into HTML, and what they measured
Among the published routes into HTML, ODT is the fourth largest output of the 12 measured. The witness files differ, so this ranks the probe run and not your document.
PPT to HTML: 27,543 bytes in 1.5 seconds.
RTF to HTML: 3,985 bytes in 0.1 seconds.
TXT to HTML: 3,896 bytes in 0.1 seconds.
DOC to HTML: 1,626 bytes in 1.1 seconds.
XLSX to HTML: 2,269 bytes in 1.1 seconds.
What we will not pretend about ODT to HTML
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 HTML run that passes 60 seconds is killed, and the pandoc process is killed with it. A run left behind would sit on one of the machine's two cores until somebody noticed.
32 of the 935 pairs probed in the family that serves ODT to HTML failed, and this pair is not one of them. They fail for reasons worth knowing: a writer that cannot carry what the document is made of, or output the engine could not read back. They are counted here rather than hidden, because a pair that fails quietly is worse than one that fails loudly.
pandoc never writes the HTML through a TeX engine here, and it never writes PDF at all: the eleven engines it would need are not on this machine and a TeX distribution weighs several gigabytes. Anyone who wants a PDF out of an ODT file goes through LibreOffice or calibre, both of which genuinely can.
One ODT file at a time, chosen in the browser. There is nothing else to set up and nothing else on offer.
ODT to HTML: what people ask
What actually converts my ODT file to HTML?
pandoc does it, in two passes, on a machine we rent and watch. Not a browser trick and not somebody else service: the ODT file is uploaded once, pandoc runs once, the HTML comes back, and neither file is kept afterwards.
How long does ODT to HTML take?
On the file the probe used, pandoc took 0.1 seconds and wrote 4,043 bytes of HTML. 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 60 seconds the run is stopped.
What do I lose going from ODT to HTML?
The one to know about first: Page layout. ODT carries some and HTML carries none, so margins, page breaks, headers and footers have nowhere to land and are simply not written.
Are the tables in my ODT file still tables in the HTML?
Yes. pandoc reads the ODT tables into its own document tree and writes them back out in HTML syntax, so what you get is a table a machine can parse rather than a picture of one.
Is ODT to HTML free?
There is a free allowance every month, and one ODT to HTML 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 HTML.