Qué es MarkItDown
MarkItDown es un paquete de Python y una herramienta de línea de comandos de código abierto de Microsoft, con licencia MIT. Convierte muchos tipos de archivo a Markdown para modelos de lenguaje y análisis de texto: PDF, Word, PowerPoint, Excel, HTML, CSV, JSON y XML, EPUB, archivos ZIP y más. Las descripciones de imágenes y la transcripción de audio usan servicios alojados en la web.
Su punto fuerte es la variedad: una sola llamada procesa una carpeta entera de archivos de oficina mezclados. Para los PDF en concreto, el conversor integrado extrae el texto con pdfminer.six y usa pdfplumber en las páginas maquetadas como formularios o tablas.
pdftomd no es MarkItDown ni lo ejecuta. Es otro conversor, hecho solo para PDF, que funciona en tu navegador. Esta página explica en qué se diferencian y cómo ejecutar MarkItDown tú mismo si es lo que necesitas.
Cómo ejecutar MarkItDown
Necesita Python 3.10 o posterior. Instálalo solo con las dependencias para PDF:
pip install 'markitdown[pdf]'
Convierte un archivo desde la línea de comandos:
markitdown report.pdf -o report.md
O desde Python:
from markitdown import MarkItDown
md = MarkItDown()
result = md.convert("report.pdf")
print(result.markdown)
Para nuestra comparativa ejecutamos exactamente esto con la versión 0.1.9. Usa 'markitdown[all]' en lugar de [pdf] para añadir Word, PowerPoint, Excel y los demás formatos.
Qué obtienes de un PDF
Con nuestro conjunto de 16 PDF públicos, MarkItDown 0.1.9 produjo:
- Texto plano sin encabezados. Ningún documento recibió un solo encabezado
#, así que se perdió el esquema de informes y artículos. - Los saltos de línea y guiones del PDF. Las frases se cortaban donde acababan las líneas del PDF, y 307 palabras quedaron partidas por un guion de fin de línea, como
pur- suant. - Encabezados y pies de página incluidos, repetidos en cada página.
- Texto perdido en artículos de investigación. En los tres artículos científicos faltaban en el resultado entre la mitad y tres cuartas partes de las palabras.
- Nada de los escaneos. La instalación por defecto no tiene OCR para PDF, así que las páginas escaneadas salieron vacías. Un plugin,
markitdown-ocr, añade OCR enviando las imágenes de las páginas a un modelo de visión mediante una API que configuras tú.
Funcionó bien con los documentos más sencillos: la sentencia judicial, el formulario y los textos en chino, japonés y coreano conservaron todas sus palabras. Las cifras completas, documento por documento, están en nuestra comparativa.
El mismo PDF en pdftomd
| MarkItDown 0.1.9 | pdftomd | |
|---|---|---|
| Funciona en | Python, en tu equipo | Tu navegador, en tu equipo |
| Instalación | pip install 'markitdown[pdf]' | Nada |
| Formatos | PDF, Office, HTML, EPUB y más | |
| Encabezados | No | Sí, a partir del tamaño y grosor de letra |
| Párrafos | Se mantienen los saltos de línea del PDF | Las líneas se unen en párrafos |
| Encabezados, pies y números de página | Se mantienen | Se quitan, con un interruptor para conservarlos |
| Guiones de fin de línea | Se mantienen | Se unen, comprobando con una lista de palabras |
| Tablas | Como texto, o como tablas en páginas tipo formulario | Tablas Markdown, páginas con tabla marcadas |
| PDF escaneados | Plugin con un modelo de visión en la nube | OCR en el navegador, integrado |
| Recuento de tokens y fragmentos RAG | No | Sí |
| Licencia | MIT | Uso gratuito |
Si también necesitas convertir archivos de Word o PowerPoint, o estás programando un flujo en Python, MarkItDown es la opción más práctica. Para PDF, sobre todo si quieres el resultado ya, usa el conversor de arriba.
Preguntas frecuentes
¿Hay una web oficial de MarkItDown?
MarkItDown se publica como paquete de Python y en GitHub. Microsoft no lo ofrece como sitio web, así que las webs llamadas "MarkItDown online" las gestionan terceros, y el motor de cada una varía. pdftomd no ejecuta MarkItDown ni sube tu archivo.
¿Puede MarkItDown leer PDF escaneados?
No con la instalación por defecto. Puedes añadir el plugin markitdown-ocr, que envía imágenes a un modelo de visión que configuras, o usar la opción de Azure Document Intelligence, un servicio de pago en la nube de Microsoft. pdftomd lee escaneos con un modelo de OCR que funciona en tu navegador; consulta PDF escaneado a Markdown.
¿Cuál es mejor para dar documentos a un LLM?
Con PDF, un resultado con encabezados, párrafos unidos y sin encabezados repetidos es más fácil de seguir para un modelo y gasta menos tokens. pdftomd además muestra el recuento de tokens y puede dividir el documento en fragmentos. Consulta PDF a Markdown para LLM.
¿Qué otras opciones hay en Python?
PyMuPDF4LLM, Docling y Marker convierten PDF a Markdown, cada uno con sus puntos fuertes y su licencia. En PDF a Markdown en Python hay código que funciona para cada uno.
MarkItDown es un proyecto de Microsoft. pdftomd es independiente y no tiene relación con Microsoft.