A resposta curta
- Para extrair as palavras, pdftomd e PyMuPDF4LLM empatam. Os dois mantiveram em média 99% do texto nos 15 documentos avaliados. O PyMuPDF4LLM manteve a ordem de leitura um pouco melhor nos artigos científicos e nas tabelas densas.
- O pdftomd é o que deixa menos limpeza para fazer. Removeu cabeçalhos, rodapés e números de página com muito mais regularidade, e não deixou nenhuma palavra quebrada por hífen de fim de linha. Também é o único dos três que funciona sem instalar nada, e o seu arquivo fica no seu dispositivo.
- O MarkItDown foi feito para muitos formatos, e PDF não é o forte dele. Com PDF ele devolve texto simples sem títulos, mantém as quebras de linha e os hífens do PDF, e perdeu boa parte do texto dos artigos científicos da nossa amostra. No nosso teste ele não tinha OCR para PDF, então as digitalizações saíram vazias.
- Nas digitalizações, tanto o pdftomd quanto o PyMuPDF4LLM leram quase perfeitamente a nossa demonstração financeira digitalizada, tabelas incluídas, desde que o PyMuPDF tenha um mecanismo de OCR instalado.
Se você programa em Python e a licença AGPL serve para o seu projeto, o PyMuPDF4LLM é uma biblioteca excelente. Se quer o resultado agora, no navegador, sem enviar o arquivo, use o conversor da nossa página inicial.
Resultados
| Documento | pdftomd | PyMuPDF4LLMPyMuPDF 2.1 + RapidOCR 3.10 | MarkItDown0.1.9 |
|---|---|---|---|
| Decisão da Suprema Corte dos EUA12 páginas | 9.940% | 10.000% | 10.000% |
| Framework de IA do NIST14 páginas | 9.980% | 9.970% | 6.240% |
| Artigo científico, uma coluna15 páginas | 9.790% | 9.810% | 2.290% |
| Artigo científico, duas colunas12 páginas | 9.930% | 9.920% | 5.060% |
| Artigo com fórmulas15 páginas | 9.160% | 9.330% | 4.550% |
| Demonstrações financeiras4 páginas | 10.000% | 9.820% | 10.000% |
| Tabelas de impostos do IRS8 páginas | 9.980% | 9.810% | 9.840% |
| Formulário W-9 do IRS6 páginas | 9.980% | 9.940% | 9.990% |
| Tabela de projeções do Federal Reserve5 páginas | 9.970% | 9.950% | 9.050% |
| Tabela financeira digitalizada2 páginas | 9.930% | 9.960% | 0% |
| Texto em chinês7 páginas | 10.000% | 10.000% | 10.000% |
| Relatório em japonês10 páginas | 10.000% | 10.000% | 10.000% |
| Texto em coreano7 páginas | 10.000% | 10.000% | 10.000% |
| Ficha de produto com imagens7 páginas | 9.990% | 10.000% | 10.000% |
| Slides de aula12 páginas | 9.850% | 9.950% | 10.000% |
| Média | 9.900% | 9.897% | 7.801% |
A digitalização datilografada de 1969 não está na tabela: o único texto de referência dela é o OCR do próprio scanner, ruim demais para servir de base. O pdftomd e o PyMuPDF4LLM produziram texto legível a partir dela, o PyMuPDF4LLM com menos sinais de pontuação soltos; o MarkItDown não produziu nada.
O que testamos
| Conversor | Versão | Como rodamos |
|---|---|---|
| pdftomd | este site, 2026-11-13 | Configurações padrão no Chromium, os 16 arquivos soltos de uma vez, Baixar tudo |
| PyMuPDF4LLM | PyMuPDF 2.1 com RapidOCR 3.10 | pymupdf4llm.to_markdown(path) |
| MarkItDown | 0.1.9 | MarkItDown().convert(path).markdown |
Os documentos são públicos e foram escolhidos para cobrir o que as pessoas realmente convertem:
| Documento | Páginas | O que o torna difícil |
|---|---|---|
| Decisão da Suprema Corte dos EUA | 12 | Notas de rodapé, cabeçalhos repetidos |
| Estrutura de gestão de riscos de IA do NIST | 14 | Capas, títulos, links |
| Artigo científico, uma coluna | 15 | Títulos, referências, algumas fórmulas |
| Artigo científico, duas colunas | 12 | Ordem de leitura entre colunas |
| Artigo com fórmulas | 15 | Matemática densa |
| Demonstrações financeiras trimestrais da Apple | 4 | Tabelas financeiras com linhas |
| Trecho da Publicação 15-T do IRS | 8 | Tabelas de impostos longas, sumário |
| Formulário W-9 do IRS | 6 | Layout de formulário, letras miúdas |
| Tabela de projeções do Federal Reserve | 5 | Uma tabela larga com cabeçalhos em vários níveis |
| Relatório da missão Apollo 11, digitalização datilografada | 4 | Uma digitalização de 1969, sem camada de texto |
| Demonstrações da Apple, digitalizadas | 2 | Uma tabela sem camada de texto |
| Declaração Universal dos Direitos Humanos, chinês | 7 | Texto CJK |
| Trecho do Outlook Report do Banco do Japão | 10 | Japonês, gráficos |
| Declaração Universal dos Direitos Humanos, coreano | 7 | Texto em hangul |
| Ficha do produto Raspberry Pi 5 | 7 | Imagens, texto sobre fotos |
| Slides da disciplina CS231n de Stanford | 12 | Slides, muitas imagens pequenas |
Como as notas funcionam
Cada resultado é comparado com o texto que o pdftotext, do poppler, extrai do mesmo PDF.
- Palavras encontradas é a parcela das palavras da referência que aparecem no Markdown. Cabeçalhos, rodapés e números de página são tirados da referência antes, para que um conversor que os remove, como o pdftomd faz por padrão, não perca pontos por isso. Chinês, japonês e coreano são contados por caractere.
- Ordem de leitura é a maior subsequência comum de palavras entre referência e resultado, como parcela da referência. Cai quando as colunas se misturam ou as células de uma tabela são lidas fora de ordem. Diferenças de um ou dois pontos são ruído.
- Palavras quebradas conta os hífens de fim de linha que ficaram sem juntar, como
pur- suant. - Cabeçalhos que sobraram conta as linhas que se repetem quatro vezes ou mais no resultado, o que quase sempre é um cabeçalho ou rodapé que não foi removido. Linhas de marcação de imagem não entram na conta.
Nas tabelas, conferimos com o PDF as 35 linhas da demonstração da Apple: uma linha conta quando o rótulo e cada valor caem cada um na sua célula, na ordem. O pdftomd acertou 30 linhas exatas, o PyMuPDF4LLM 28 e o MarkItDown 5. Na cópia digitalizada da mesma demonstração, o pdftomd acertou 29 de 30 linhas e o PyMuPDF4LLM as 30.
Velocidade
Na mesma máquina de 4 núcleos, o pdftomd converteu os 16 PDFs em 21 segundos no navegador, incluindo o OCR de 9 páginas digitalizadas. O PyMuPDF4LLM levou 64 segundos, também com OCR, e o MarkItDown 11 segundos sem nenhum. Os seus tempos vão depender do seu equipamento; um celular é mais lento que um notebook.
O que este teste não diz
- Um dos conversores é nosso. A nossa limpeza foi desenvolvida pensando em documentos como estes, o que nos favorece. Publicamos os scripts e mostramos as linhas em que perdemos, mas teste com os seus próprios PDFs antes de decidir.
- Notas automáticas deixam coisas passar. Uma tabela com uma coluna deslocada pode manter todas as palavras; um título no nível errado não custa nada aqui. Por isso o pdftomd sinaliza as páginas com tabelas para você conferir.
- Docling e Marker não estão nesta rodada. Os dois precisam do PyTorch e de baixar modelos, e o Marker ainda inicia um servidor de inferência à parte. Ambos usam modelos de layout e costumam ser recomendados para layouts complexos e fórmulas; veja PDF para Markdown em Python para saber como rodá-los.
- Conversores online não estão na tabela. Os mecanismos deles mudam sem aviso e não dá para fixar uma versão, então a nota ficaria desatualizada no dia seguinte à medição.
Qual conversor usar?
| Se você quer | Use |
|---|---|
| Um resultado agora, no navegador, sem enviar nada | pdftomd |
| Uma biblioteca Python num pipeline, e a AGPL serve para o seu projeto | PyMuPDF4LLM |
| Uma só biblioteca para Word, PowerPoint, Excel e HTML além de PDF | MarkItDown, sabendo que os PDFs saem como texto simples |
| O melhor resultado em artigos cheios de fórmulas, com GPU | Marker ou Docling |
Reproduza
Baixe o kit do teste: o executor para o navegador, o executor em Python para as bibliotecas, o avaliador, o script que gerou a tabela acima e as notas brutas. Os PDFs vêm das fontes públicas citadas na tabela; os endereços exatos e os intervalos de páginas estão no README do kit (em inglês).
O PyMuPDF4LLM é desenvolvido pela Artifex e o MarkItDown pela Microsoft. O pdftomd não tem vínculo com nenhum dos dois.