Free online tool

ODT to PDF converter

Convert OpenDocument Text files to PDF in two steps — no LibreOffice, no server, no account.

File never leaves your device Two-step process
1
Convert to Typst
runs in your browser
2
Compile to PDF
at typst.app — free
📄

Drop your .odt file here

or click to browse  ·  .odt files only

Converting to Typst markup…
Step 1 complete — Typst markup generated from

Step 2 — Compile to PDF at typst.app

Takes about 30 seconds. Free, no account required.

1
Download your .typ file using the button above (if you haven't already).
2
Open the Typst web editor at typst.app — click the button below. No account needed for basic use.
3
Upload your .typ file — in the Typst editor, click the files panel on the left, then upload your downloaded .typ file.
4
Download the PDF — Typst compiles instantly and shows a preview. Click the download button to save your PDF.
Open typst.app Typst is open source · Apache 2.0

Want to convert another file?

How it works

Two open source tools, one workflow

odf-kit reads your ODT and converts it to Typst markup. Typst compiles the markup to a beautifully typeset PDF. Both are Apache 2.0 open source.

🔒 Private by design

Step 1 runs entirely in your browser — your ODT file is never uploaded anywhere. Only the .typ file you choose to open at typst.app leaves your machine.

📐 High-quality PDF output

Typst produces professionally typeset PDFs — not a screenshot of a rendered page. Headings, paragraphs, tables, and lists are properly laid out.

🚫 No LibreOffice needed

Traditional ODT to PDF conversion requires LibreOffice. This workflow uses only JavaScript and Typst — lighter, faster, and works anywhere.

🆓 Completely free

odf-kit is Apache 2.0 open source. Typst is Apache 2.0 open source. The Typst web editor is free for basic use. No subscriptions, no limits.

Automate ODT to PDF in your application

Skip the manual steps — use odf-kit and the Typst CLI to convert ODT files to PDF programmatically in Node.js. No LibreOffice, no browser, no manual steps.

Read the guide odf-kit documentation
// Automate in Node.js import { odtToTypst } from "odf-kit/typst"; import { execSync } from "child_process"; const typ = odtToTypst(odtBytes); writeFileSync("doc.typ", typ); execSync("typst compile doc.typ doc.pdf"); // → doc.pdf ready

More odf-kit tools & guides

Free ODT to HTML converter → ODT to PDF via Typst guide → Generate ODT files in Node.js → Generate ODT in the browser → Fill ODT templates in JavaScript → simple-odf alternative →