PDF, Word, PowerPoint and Excel to Markdown
Send a document and get Markdown back, for RAG pipelines and agents. Small files convert in one API call. Large and scanned files go through a queue with OCR. 100 credits a month free, no card.
Convert a document to Markdown
## Version 2.4.0 Released Sep 2, 2026. * Export reports as CSV * Filter search results by date * Fixed: week numbers in March | Platform | Minimum version | | --- | --- | | Windows | 10 | | macOS | 13 |
No account. The file is not stored.
Try it without an account or API key:
curl -F "file=@report.pdf;type=application/pdf" \
https://api.flatmark.dev/v1/convert
import requests
with open("report.pdf", "rb") as f:
r = requests.post(
"https://api.flatmark.dev/v1/convert",
files={"file": ("report.pdf", f, "application/pdf")},
)
r.raise_for_status()
print(r.json()["markdown"])
The Markdown comes back in the markdown field
of the JSON response. Files up to 8 MB convert in this one call.
Features
One call for small files
Files up to 8 MB convert in a single API call with MarkItDown, and the Markdown comes back in the response. Word, PowerPoint, Excel and HTML keep their headings, lists and tables.
A queue for large and scanned files
Files up to 25 MB and 200 pages go through a queue that runs Docling. Docling reads scans with OCR and detects headings, reading order and tables. The result is Markdown plus a JSON file with the document structure and, for PDFs, page numbers.
Open-source engines
MarkItDown (Microsoft) and Docling (IBM Research) do the conversion. Both are open source under the MIT license, and flatmark passes their output through unchanged.
Files are deleted
Direct calls and the free tools keep no file content. In the queue, the upload is deleted after conversion and the result 7 days after submission.
An MCP server for agents
Claude, Cursor and other MCP clients can convert documents as a tool call. The MCP server uses the same API key and the same credits as the REST API.
How it works
-
Try a file in the browser
Upload a PDF up to 4 MB or paste HTML in the free tools. You need no account.
-
Send files to the API
POST a file to /v1/convert. The Markdown comes back in the same response.
-
Queue the large ones
Create an API key and send files to /v1/convert/jobs. Poll the job or take the signed webhook, then download the result.
-
Hosted in Germany
Servers at Hetzner in Nuremberg. Traffic runs through the Bunny.net CDN within the EU.
-
Limits
8 MB per direct call, 25 MB and 200 pages per queued file. A file over a limit gets an error and costs nothing.
-
No language model
The conversion extracts text and structure. It does not rewrite or summarize anything.
-
Free plan
100 credits a month without a card. The free tools need no account.
Plans
Free
€0 a month
100 credits a month
Essential
Recommended€20 a month
10,000 credits a month
Scale
€80 a month
100,000 credits a month
FAQ
Which formats does flatmark read?
PDF, Word (.docx), PowerPoint (.pptx), Excel (.xlsx), HTML and plain text. Older formats such as .doc, .ppt and .xls are rejected with an error.
Do tables and headings survive?
From Word, PowerPoint, Excel and HTML, yes. From PDFs, the direct call returns plain text without headings. For headings, reading order and tables from a PDF, use the queue.
Can flatmark read scanned PDFs?
Only through the queue, which runs OCR. The direct call reads the text layer, so a scan comes back empty. OCR quality depends on the scan.
What does a document cost?
With an API key, a direct call costs 1 credit and a queued file 10 credits, whatever its page count. Checking a job, downloading results and failed requests cost nothing. Without a key, 10 direct calls a day are free. Plans are on the pricing page.
Is flatmark a wrapper around Docling?
It runs MarkItDown and Docling for you, with an API, a queue with webhooks, an MCP server and hosting in Germany. If you prefer to run the engines yourself, both are MIT-licensed.
Need more?
For more volume than the Scale plan, email contact@flatmark.dev.
Who runs flatmark?
flatmark is built and run by Michael Sann. Questions and bug reports go to contact@flatmark.dev and are answered by Michael Sann personally.