ForHosting KIT · Documents & PDF

Convert ODT to PDF

The ODT to PDF API takes an OpenDocument Text file — the format written by LibreOffice Writer, OpenOffice, and a long list of open-source tools — and renders it into a PDF that looks exactly as the author intended. It exists for teams whose document pipeline runs on open formats but whose recipients, archives, or signature tools expect PDF.

● StablePer request + per page$0.052
Use it from WebAPIEmailApp soonTelegram soon

Run this on our servers with your account. Free tools run in your browser; this one bills your KIT balance per the price above.

Why ODT still matters

OpenDocument Format became an ISO standard in 2006, built specifically so documents would not be locked to one vendor's software. Government agencies, universities, and open-source projects adopted it for exactly that reason, and it remains the native format of LibreOffice and OpenOffice today. The result is that a meaningful share of the world's editable documents — reports, forms, templates, contracts drafted on Linux desktops — live as .odt files, and at some point almost every one of them needs to become a PDF for distribution.

What the conversion preserves

An .odt file describes text flow, styles, tables, embedded images, and page geometry in an XML-based structure quite different from PDF's fixed-page model. Converting well means resolving fonts, honoring style sheets, and laying out paragraphs and tables exactly as Writer would print them — not approximating them. The odt to pdf api renders the document faithfully, so headers, footnotes, page breaks, and embedded images land where the original author placed them.

How the request works

Call POST /doc/odt-to-pdf with your source file and you get a task_id back immediately — no waiting on an open connection while the render completes. The conversion runs asynchronously on our global edge, and when the PDF is ready you're notified by a signed webhook (recommended for pipelines) or a signed link valid for 24 hours, so the file reaches your system the moment it exists rather than the moment you happen to poll for it.

Where this fits in a pipeline

This is not a tool for opening one file by hand — it's built to sit inside a workflow: a CMS that stores source content as .odt and needs a distributable PDF on publish, a document-management system migrating an open-format archive, a form-builder exporting completed .odt templates as PDF for signature or filing. Because it returns a task_id and confirms delivery by webhook, it drops into a queue or event pipeline the same way any other step does.

Rollout, pricing, and safe handling

This endpoint is currently in deployment and will begin accepting jobs shortly — the specification and pricing below are final so you can build against them now. Billing is $0.052 per request plus $0.003 per page, a published rate with no tokens and no invented credits. A task that fails is never charged; we retry three times before returning a clear error. Access requires prepaid balance — no free tier, no trial — which is precisely what keeps the service fast and free of abuse. Source files are deleted after the retention window and never used to train anything.

Publishing from an open-format CMS

A content platform stores articles and policy documents as .odt and converts each one to PDF automatically the moment an editor publishes it.

Government and academic archives

An institution standardized on OpenDocument for editable records converts batches of .odt filings into PDF for public distribution and long-term archival.

Form submissions ready for signature

A form-builder generates completed .odt templates from user input and converts each one to PDF so it can be routed straight into an e-signature workflow.

Migrating a Writer-based archive

A legal or administrative team migrating years of LibreOffice Writer documents converts the whole archive to PDF for a system that only accepts that format.

How do I convert ODT to PDF with an API?

Send your .odt file to POST /doc/odt-to-pdf and you receive a task_id right away. The odt to pdf api processes the conversion asynchronously and delivers the PDF by signed webhook or a signed link valid for 24 hours.

Is the ODT to PDF API available now?

This endpoint is in deployment and will begin accepting jobs shortly. The path, request shape, and pricing are already final, so you can integrate against them ahead of launch.

Is it free to use?

There's no free tier — free tiers get abused and slow everyone down. Access runs on a prepaid ForHosting KIT balance: top up from $10.00 (it never expires) and each request is charged at its published price, so a call with no balance returns HTTP 402. No subscription, no tokens, no invented credits, and a failed task is never charged.

Does it preserve tables, images, and formatting?

Yes. Text flow, styles, tables, embedded images, and page layout are rendered as they appear in the source .odt file rather than approximated.

Does this also work for .odt files created in Microsoft Word?

Yes. Any well-formed OpenDocument Text file converts the same way, regardless of which application produced it.

Can I convert many ODT files in bulk?

Yes. Because the endpoint is asynchronous and returns a task_id per request, you can submit many conversions in parallel from a queue or batch job.

What happens if a conversion fails?

A failed task is never charged. We retry three times with backoff, and if the file still cannot be converted you get a clear error instead of a silent failure or a charge.

How long is the resulting PDF available?

The signed link stays valid for 24 hours, or you can receive the file immediately by signed webhook. After the retention window it is deleted and never used for training.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/doc/odt-to-pdf

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, and soon from our app, email and Telegram.

curl -X POST https://api.kit.forhosting.com/doc/odt-to-pdf \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":"…"}'
{
  "input": "…"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "doc.odt_to_pdf",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.052
Per page$0.003

Published price — no tokens, no invented credits. A failed task is never charged.

max_mb25
max_pages200
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.
413input_too_largeThe file exceeds the size limit.

Read the full KIT documentation →