Paste a Lexical
SerializedEditorState
and generate a valid OpenDocument Text file — instantly, in your browser.
This tool needs a wider display for the side-by-side input and preview panes. Please come back on a desktop or laptop browser to use it.
The generated .odt file displays correctly in LibreOffice, OnlyOffice,
Collabora, MS Word, and other ODF applications. The preview shown here is a simplified
rendering that may not match those applications exactly.
Filenames are as requested — your browser may add (1), (2), etc. to avoid overwriting existing files in your downloads folder.
How it works
Conversion runs entirely in your browser — no server, no account, no file size limits.
Your JSON never leaves your browser. No network requests are made during conversion. Works offline after the page loads.
Conversion runs in milliseconds using odf-kit's pure JavaScript library. No waiting for upload or server processing.
Paragraphs with alignment, headings h1–h6, bold, italic, underline, strikethrough, subscript, superscript, inline code, text color, highlight color, links, bullet and numbered lists with nesting, tables with colspan and rowspan, blockquotes, code blocks, images with captions and alt text, and horizontal rules.
No character limits, no conversions per day, no sign-up required. Powered by open source odf-kit.
Output passes the OASIS ODF validator without errors or warnings — enforced on every commit by CI. Round-trips cleanly through LibreOffice, OnlyOffice, Collabora, and MS Word.
odf-kit is a free, open source JavaScript library.
lexicalToOdt()
converts any Lexical
SerializedEditorState
to a valid
.odt
file in Node.js or the browser. No server, no LibreOffice.