O que é o MarkItDown
O MarkItDown é um pacote Python e uma ferramenta de linha de comando de código aberto da Microsoft, sob a licença MIT. Ele converte muitos tipos de arquivo em Markdown para modelos de linguagem e análise de texto: PDF, Word, PowerPoint, Excel, HTML, CSV, JSON e XML, EPUB, arquivos ZIP e mais. Legendas de imagem e transcrição de áudio usam serviços hospedados na web.
O ponto forte é a amplitude: uma chamada só processa uma pasta inteira de arquivos de escritório misturados. Para PDFs especificamente, o conversor embutido extrai o texto com o pdfminer.six e usa o pdfplumber em páginas diagramadas como formulários ou tabelas.
O pdftomd não é o MarkItDown e não o executa. É outro conversor, feito só para PDFs, que roda no seu navegador. Esta página explica como eles diferem e como rodar o MarkItDown você mesmo, se for isso que precisa.
Como rodar o MarkItDown
Ele precisa do Python 3.10 ou mais recente. Instale só com as dependências de PDF:
pip install 'markitdown[pdf]'
Converta um arquivo pela linha de comando:
markitdown report.pdf -o report.md
Ou pelo Python:
from markitdown import MarkItDown
md = MarkItDown()
result = md.convert("report.pdf")
print(result.markdown)
Rodamos exatamente isso com a versão 0.1.9 no nosso benchmark. Use 'markitdown[all]' em vez de [pdf] para incluir Word, PowerPoint, Excel e os outros formatos.
O que sai de um PDF
No nosso conjunto de 16 PDFs públicos, o MarkItDown 0.1.9 produziu:
- Texto simples sem títulos. Nenhum documento recebeu um único título
#, então a estrutura de relatórios e artigos se perdeu. - As quebras de linha e hifens do PDF. As frases eram cortadas onde as linhas do PDF terminavam, e 307 palavras ficaram partidas por um hífen de fim de linha, como
pur- suant. - Cabeçalhos e rodapés mantidos, repetidos em todas as páginas.
- Texto faltando em artigos científicos. Nos três artigos científicos, faltava no resultado de metade a três quartos das palavras.
- Nada das digitalizações. A instalação padrão não tem OCR para PDF, então as páginas digitalizadas saíram vazias. Um plugin, o
markitdown-ocr, acrescenta OCR enviando as imagens das páginas a um modelo de visão por uma API que você configura.
Ele foi bem nos documentos mais simples: a decisão judicial, o formulário e os textos em chinês, japonês e coreano mantiveram todas as palavras. Os números completos, documento por documento, estão no nosso benchmark.
O mesmo PDF no pdftomd
| MarkItDown 0.1.9 | pdftomd | |
|---|---|---|
| Roda em | Python, na sua máquina | Seu navegador, na sua máquina |
| Instalação | pip install 'markitdown[pdf]' | Nenhuma |
| Formatos | PDF, Office, HTML, EPUB e mais | |
| Títulos | Não | Sim, pelo tamanho e peso da fonte |
| Parágrafos | Quebras de linha do PDF mantidas | Linhas unidas em parágrafos |
| Cabeçalhos, rodapés, números de página | Mantidos | Removidos, com opção para mantê-los |
| Hifens no fim da linha | Mantidos | Unidos, conferidos com uma lista de palavras |
| Tabelas | Como texto, ou como tabelas em páginas tipo formulário | Tabelas Markdown, páginas com tabela marcadas |
| PDFs digitalizados | Plugin com modelo de visão na nuvem | OCR no navegador, embutido |
| Contagem de tokens e chunks para RAG | Não | Sim |
| Licença | MIT | Uso gratuito |
Se você também precisa converter arquivos do Word ou PowerPoint, ou está programando um pipeline em Python, o MarkItDown é a escolha mais prática. Para PDFs, principalmente se quer o resultado agora, use o conversor no topo desta página.
Perguntas frequentes
Existe um site oficial do MarkItDown?
O MarkItDown é publicado como pacote Python e no GitHub. A Microsoft não o oferece como site, então os sites chamados "MarkItDown online" são mantidos por terceiros, e o motor por trás de cada um varia. O pdftomd não roda o MarkItDown e não envia seu arquivo.
O MarkItDown lê PDFs digitalizados?
Não na instalação padrão. Você pode acrescentar o plugin markitdown-ocr, que envia imagens a um modelo de visão que você configura, ou usar a opção do Azure Document Intelligence, um serviço pago na nuvem da Microsoft. O pdftomd lê digitalizações com um modelo de OCR que roda no seu navegador; veja PDF digitalizado para Markdown.
Qual é melhor para dar documentos a um LLM?
Para PDFs, um resultado com títulos, parágrafos unidos e sem cabeçalhos repetidos é mais fácil de o modelo acompanhar e custa menos tokens. O pdftomd também mostra a contagem de tokens e pode dividir o documento em chunks. Veja PDF para Markdown para LLMs.
Que outras opções existem em Python?
PyMuPDF4LLM, Docling e Marker convertem PDF em Markdown, cada um com pontos fortes e licenças diferentes. PDF para Markdown em Python tem código funcionando para cada um.
O MarkItDown é um projeto da Microsoft. O pdftomd é independente e não tem vínculo com a Microsoft.