One stage, measured: parsing
Our reference test: 13 parsers on 61 public EMA and FDA documents, in four page types. On your project, we test only the parsers that fit your documents and your rules. Each parser gets two grades:
- Usable by an AI: with only this text, can an AI find a value and tell which row, column and section it belongs to?
- True copy: do the tables, headings and reading order match the page?
The first grade decides your answers, so it leads.
| Parser | Tables | Columns | Prose | Scans | € / 1,000 pages |
|---|---|---|---|---|---|
| GPT-6 Sol + text layer | 79% | 75% | 81% | 70% | €10.46 |
| GPT-5.4 + text layer | 74% | 73% | 72% | 67% | ≈ €9.62 |
| Mistral OCR | 69% | 67% | 68% | 62% | €3.43 |
| GPT-5.4 | 69% | 69% | 59% | 66% | ≈ €8.53 |
| GPT-5.4 mini | 56% | 69% | 53% | 56% | ≈ €2.56 |
| GPT-6 Luna + text layer | 65% | 75% | 79% | 9% | €0.52 |
| Cohere Parse 5 | 57% | 44% | 56% | 57% | €1.29 |
| anydoc | 45% | 55% | 24% | not run | €0, runs locally |
| Docling | 36% | 39% | not run | not run | €0, your own GPU |
| Azure AI Document Intelligence | 32% | 24% | 34% | 37% | €8.57 |
| pypdf | 33% | 15% | 37% | 16% | €0, runs locally |
| PyMuPDF4LLM | 16% | 32% | 21% | 11% | €0, runs locally |
| pdfplumber | 19% | 12% | 16% | 18% | €0, runs locally |
Show the “true copy” grade
| Parser | Tables | Columns | Prose | Scans | € / 1,000 pages |
|---|---|---|---|---|---|
| GPT-6 Sol + text layer | 77% | 70% | 75% | 54% | €10.46 |
| GPT-5.4 + text layer | 75% | 67% | 78% | 71% | ≈ €9.62 |
| Mistral OCR | 71% | 71% | 65% | 63% | €3.43 |
| GPT-5.4 | 69% | 63% | 72% | 67% | ≈ €8.53 |
| GPT-5.4 mini | 58% | 61% | 58% | 47% | ≈ €2.56 |
| GPT-6 Luna + text layer | 59% | 67% | 77% | 10% | €0.52 |
| Cohere Parse 5 | 73% | 59% | 61% | 73% | €1.29 |
| anydoc | 38% | 47% | 21% | not run | €0, runs locally |
| Docling | 33% | 41% | not run | not run | €0, your own GPU |
| Azure AI Document Intelligence | 36% | 32% | 37% | 40% | €8.57 |
| pypdf | 28% | 13% | 23% | 20% | €0, runs locally |
| PyMuPDF4LLM | 17% | 47% | 20% | 3% | €0, runs locally |
| pdfplumber | 15% | 11% | 14% | 19% | €0, runs locally |
- GPT-6 Sol + text layer is the best for an AI, on all four page types.
- For a true copy there is no clear winner. GPT-5.4 + text layer, GPT-6 Sol + text layer, Mistral OCR and Cohere Parse 5 are close.
- GPT-6 Luna fails on scans (about 10%), although it is strong on digital pages.
- The free tools read only the text stored in the PDF. Old scans have none, so they return almost nothing.
Share of blind head-to-head comparisons won, ties count half, averaged over four AI judges (gpt-5.6-terra, Grok 4.6, Grok 4.6 low, gpt-6-astra); a judge counts only where it rated at least 90% of the pairs. Tables: 22 risk management plan summaries. Columns: 15 one-page tables. Prose: 12 assessment reports. Scans: 12 FDA review packages from before 2000. The GPT models read each page as an image; “+ text layer” also gives them the text stored in the PDF. Cost in euros at list prices: per page for Mistral, Azure and Cohere; for GPT-6 Sol and Luna, measured from the tokens they used on the table pages; for the other GPT models, an estimate from the page size (≈). Run of 6 October 2026. Differences under about 5 points can be chance.
Ask for a 30-minute call
No slides. No demo. Five questions on your system, and an honest answer on fit.
Ask for a 30-minute call