Skip to converter

ODT to HTML — reading the container part by part

A pamphlet written in LibreOffice is being published as a page. Rather than describe the result in general terms, this page annotates one extraction: each part of the OpenDocument container, the element it becomes, or the reason it is refused. The output is sanitized reflowed markup, so the pamphlet's own page style never appears in the result.

Page layout, fonts, margins, headers, footers and page breaks are not reproduced: the text stream is reflowed, not re-laid-out.

Drop files here or ODT, up to 8 MB
    Add a file to start.

    Processed on your device. Files aren’t sent anywhere.

    No sign-up. Nothing to install.

    Part by part through the container

    OpenDocument stores text together with a style name for each paragraph. The extraction reads the text stream and chooses an element from the style's role.

    • Paragraph with a heading style → heading element. Annotation: the outline survives; the style name does not.
    • Paragraph with a body style → paragraph element. Annotation: text and order are kept exactly.
    • Numbered list item → list item. Annotation: the item travels; the counter format LibreOffice used does not.
    • Table row and cell → table row and cell. Annotation: the grid survives as markup, but column widths do not.
    • Text with direct emphasis → emphasis markup where the role is expressible. Annotation: font face and colour are not carried.
    • Frame or image → nothing. Annotation: dropped, not copied, so captions arrive without their figures.

    Style names versus elements

    A document that uses custom styles — Preamble, Side note — carries no trace of those names into HTML. A style whose role has no HTML counterpart simply contributes its text at whatever position the story flow gives it.

    That matters for margin notes. A side-comment style has no HTML counterpart, so such comments are not a reliable part of the extracted reading order. If the side comments are meaningful content, rewrite them into the body before publishing.

    Questions before publishing

    Does the HTML keep LibreOffice styles?
    No. Output is a sanitized reflowed document: original styling is lost and your page stylesheet supplies the appearance.
    Are the photographs carried over?
    No. Embedded images, charts and objects are dropped rather than copied, so captions appear without figures.
    Can the converted page run anything?
    No. Scripts and macros are never executed, and scripts, styles and unsafe links are removed from the output.
    Are footnotes guaranteed?
    No. HTML output can include linked notes while plain text extracts the body; footnote handling depends on the output format, so verify the notes in the converted page.

    What the sanitizer refuses to carry

    Sanitizing is a decision made on output, not a limitation of the reader.

    Content in the ODTRefused becauseWhat you see instead
    Scripts and macrosnever executed, never carriednothing at that position
    Embedded stylesstyling is not part of the outputplain elements styled by your site
    Links judged unsafeonly safe destinations are keptthe link text without the destination
    Images and framesnot copied into markupcaption text with no figure
    Page style, margins, breakslayout is not reproducedone flowing column

    Reading order after reflow

    Reflow changes how the document reads, even when nothing is missing.

    • Two-column sections become one column, in document order.
    • A footnote reference stays near its paragraph, and a carried note appears as linked content.
    • A table that was sized to the page now takes the page width of your site.
    • Page furniture — headers, footers, page numbers — is absent, so running references to page numbers point at nothing.
    • One file up to 8 MiB is accepted and output is capped at 400000 characters; oversized input is rejected rather than partially converted.

    Share this converter

    More sharing options