PROCESSORS · CONVERT

The document parser that doesn't mangle your tables.

Most parsers split tables mid-row and turn scans into garbage. Convert keeps tables, equations, figures, and reading order intact — across PDFs, Office files, and scans, in 90+ languages.

CONVERT · LIVE PARSE

Watch it read 250-year-old handwriting.

Convert can handle any document you throw at it. Every region it finds comes back with a bounding box, confidence score, and layout-aware, clean markdown.

Declaration · 1776 — public domain scan 1 TEXT2 H13 TEXT4 TEXT
CHANDRA · PARSE Declaration · 1776 · 4 blocks
CONFIDENCE 0.0%
  • 1 Text IN CONGRESS, JULY 4, 1776. 0.997
  • 2 Section Header The unanimous Declaration of the thirteen united States of America. 0.994
  • 3 Text · 5,432 chars When in the course of human events, it becomes necessary for one people to dissolve the political bands… 0.982
  • 4 Text · Signatures Signatures of the delegates arranged in five columns. Column 1: John Hancock, Samuel Adams… 0.961
chandra · v1.4.2 · 1,287 ms · markdown · json · html
CAPABILITIES

What Convert handles, out of the box.

C · 01 INPUTS

One endpoint for every document you have

PDF, DOCX, PPTX, XLSX, EPUB, HTML, and image formats go through the same call. Multi-column spreads, digital files, and scans are all handled the same way.

C · 02 TABLES & EQUATIONS

The cases that break naive OCR

Colspan, rowspan, nested headers, and tables that run across pages stay intact. Printed, handwritten, and mixed-script equations come back in one pass.

C · 03 FIGURES & IMAGES

Charts and figures come back as assets

Every figure, chart, and embedded image is extracted as a discrete asset and bound to the caption it belongs to, so nothing gets flattened into the surrounding text.

C · 04 QUALITY SCORE

A confidence score on every parse

Convert returns a Parse Quality Score from 0 to 5 on each call, so you can drop low-confidence documents before they reach your index or your training set.

API · SHAPE

Default to markdown, or ask for the shape your pipeline wants.

Call Convert through the SDK or as a single HTTP request. One parameter sets the output format: markdown for LLM context, HTML for a CMS, JSON for block-level access, or chunks for an embedding pipeline.

from datalab_sdk import DatalabClient, ConvertOptions

client = DatalabClient()

# Default: markdown. No options needed for the common case.
result = client.convert("document.pdf")
print(result.markdown)

# Pre-chunked for embedding pipelines:
options = ConvertOptions(output_format="chunks", mode="balanced")
result = client.convert("document.pdf", options=options)
# result.chunks is a dict of pre-chunked spans — feed straight into
# your embedder + vector store.
embed_and_index(result.chunks)

# Parse Quality Score (0-5) — drop low-quality docs before indexing.
print(result.parse_quality_score)
SAME WEIGHTS AS MARKER · SURYA · CHANDRA · 100M+ PAGES/DAY
ADD-ON · WORD BOUNDING BOXES

Better audit trails with word-level bboxes and confidence scores

Enable word bounding boxes and get the position and confidence score for each word. On the scan below, every word comes back above 0.98 confidence except one which gets flagged as low confidence because of an extra umlaut, making it easy to design better human review workflows.

Two columns of a 1946 German–English dictionary scan with a bounding box around every word — green for confident reads, red for the two flagged umlaut headwords Abhörchgerät · 0.015 garbled umlaut — route to reviewexpiration · 0.99998 clean read — auto-accept
CHANDRA · WORD BBOXES GERMAN–ENGLISH DICTIONARY · 1946 · P.16
0 words 0 flagged 0.0%
<p>
  <span data-bbox="65 1372 219 1403" data-confidence="0.015">Abhörchgerät</span>
  <span data-bbox="231 1372 332 1403" data-confidence="1">monitor,</span>
  <span data-bbox="344 1372 409 1403" data-confidence="1">check</span>
</p>
ADD-ON · +$3 PER 1,000 PAGES
BENCHMARK · MULTILINGUAL + TABLES

On non-English documents, Convert scores 80.4% to Gemini's 67.6%.

Convert runs on the same open models we publish — Marker, Surya, and Chandra. We benchmark them in the open and lead by the widest margin on the work most parsers quietly fail: documents that aren't in English. It reads 90+ languages, including vertical Chinese, Japanese, and Korean.

MULTILINGUAL · TOP 43 LANGUAGES · +12.8 VS GEMINI 2.5 FLASH
Rank Model Score vs scale
01 Datalab API 80.4%
02 Chandra 2 OSS 77.8%
03 Chandra 1 prior generation 69.4%
04 Gemini 2.5 Flash 67.6%
05 GPT-5 Mini 60.5%
Dataset · Internal · top 43 languages Last run · 2026-03-18
TABLES · OLMOCR-BENCH · #1 AMONG OPEN OCR
Rank Model Score vs scale
01 Datalab API 90.7%
02 Chandra 2 OSS 89.9%
03 Chandra 1 prior generation 88.0%
Dataset · olmOCR-bench Last run · 2026-03-18
DEPLOYMENT

Run Convert wherever your documents have to stay.

  • Managed cloud

    Start with an API key — nothing to host or operate.

    Sign up →
  • EU data residency

    Run in-region, with no egress to US infrastructure.

    Sign up →
  • Your VPC

    Runs inside your own AWS, GCP, or Azure account.

    Talk to sales →
  • On-prem & air-gapped

    Fully offline, the same model weights, dedicated support.

    Talk to sales →
SOC 2 Type II · BAA available View our trust center →
START

Run Convert on your hardest PDF.

Free tier, no credit card. 100M+ pages a day, sustained — capacity is not the bottleneck.