Comparatif
Convertir un PDF en Markdown pour un LLM : 4 outils libres
Docling, Marker, MarkItDown, Unstructured : formats lus, sorties, OCR, licences et commandes, d'après leurs dépôts lus le 15/11/2026.
Mis à jour le
Pour donner un PDF à un modèle de langage (LLM), le plus fiable est de le convertir d'abord en Markdown : les titres deviennent des #, les tableaux restent des tableaux, et vous pouvez découper par section. Quatre outils libres reviennent dans toutes les discussions techniques : Docling, Marker, MarkItDown et Unstructured. Ils ne font pas la même chose, notamment sur les pages scannées, qui demandent une reconnaissance optique de caractères (OCR). Ce comparatif s'appuie uniquement sur leurs dépôts et leur documentation, lus le 15/11/2026.
Précision utile : ce site est édité par IArche, qui édite aussi ALMA, une plateforme d'agents IA alimentés par des documents. Aucun des quatre outils ci-dessous n'appartient à IArche.
Le tableau comparatif
| Docling | Marker | MarkItDown | Unstructured | |
|---|---|---|---|---|
| Dépôt | docling-project/docling | datalab-to/marker | microsoft/markitdown | Unstructured-IO/unstructured |
| Entrées principales | PDF, DOCX, PPTX, XLSX, HTML, EPUB, images, audio, LaTeX… | PDF, images, PPTX, DOCX, XLSX, HTML, EPUB | PDF, Word, Excel, PowerPoint, images, audio, HTML, CSV, JSON, XML, ZIP, EPub | PDF, HTML, Word et « beaucoup d'autres » |
| Sorties | Markdown, HTML, JSON sans perte, DocTags… | Markdown, JSON, HTML, morceaux (chunks) | Markdown | liste d'éléments du document |
| Mise en page | ordre de lecture, structure des tableaux, formules | tableaux, formulaires, équations, retrait des en-têtes et pieds de page | conversion simple | stratégie hi_res qui identifie la mise en page |
| Pages scannées | OCR intégré (RapidOCR par défaut) | OCR par le modèle Surya | via Azure Document Intelligence en option | stratégie ocr_only, Tesseract en dépendance |
| Licence | MIT | code Apache 2.0, poids sous licence Open Rail-M modifiée | MIT | Apache 2.0 |
| Python | 3.10 ou plus | 3.10 ou plus, avec PyTorch | 3.10 à 3.14 | non précisé sur la page lue |
Docling : la structure avant tout
Docling annonce la compréhension de la mise en page, de l'ordre de lecture, de la structure des tableaux, du code et des formules, et une exécution locale « pour les données sensibles et les environnements isolés ». Il s'installe par pip install docling et se lance en une ligne :
docling rapport.pdf
La commande écrit un fichier Markdown dans le dossier courant. Le détail des options (OCR, tableaux, images) est sur la page Docling.
Marker : la précision, avec un modèle en appui
Marker convertit PDF, images et fichiers Office en Markdown, JSON, HTML ou morceaux, met en forme tableaux, équations et blocs de code, et retire les en-têtes et pieds de page. Son option --use_llm fait appel à un LLM « pour la meilleure précision » ; le modèle par défaut indiqué est gemini-3.5-flash, et d'autres services sont pris en charge.
pip install marker-pdf
marker_single rapport.pdf --output_format markdown
Pour les documents autres que PDF, le dépôt indique pip install marker-pdf[full]. Les modes no_ocr et fast tournent sur processeur, sans carte graphique.
MarkItDown : léger, pour les lots de fichiers Office
MarkItDown est l'outil le plus simple à brancher sur un lot de fichiers variés. Son dépôt prévient toutefois que sa sortie « n'est peut-être pas la meilleure option » pour des conversions très fidèles destinées à des humains : il vise la lecture par une machine. Usage :
pip install 'markitdown[all]'
markitdown contrat.pdf -o contrat.md
Il est détaillé sur la page MarkItDown, centrée sur Word, Excel et PowerPoint.
Unstructured : des éléments plutôt qu'un fichier
Unstructured ne vise pas d'abord un fichier Markdown : sa fonction partition découpe le document en éléments que vous retraitez ensuite.
from unstructured.partition.auto import partition
elements = partition("rapport.pdf")
Pour les PDF et les images, sa documentation décrit quatre stratégies : auto (par défaut), fast (règles, PDF seulement), hi_res (modèle qui identifie la mise en page) et ocr_only. L'installation complète (pip install "unstructured[all-docs]") demande des paquets système : libmagic-dev, poppler-utils, tesseract-ocr et libreoffice.
Comment choisir
- PDF natifs simples, fichiers Office : MarkItDown, pour démarrer vite.
- PDF mis en page, tableaux, scans, données sensibles à traiter en local : Docling.
- Précision maximale acceptant un appel à un LLM : Marker avec
--use_llm, en vérifiant la licence des poids. - Chaîne qui retraite chaque élément (titres, paragraphes, tableaux) : Unstructured.
Quel que soit l'outil, testez-le sur vos dix documents les plus difficiles, pas sur un exemple du dépôt. Le résultat se découpe ensuite par section : voir le découpage pour un RAG, la recherche dans les documents avant réponse.
Questions fréquentes
Quel outil libre choisir pour convertir des PDF en Markdown ?
Pour des PDF mis en page (colonnes, tableaux, scans), Docling ou Marker, qui analysent la mise en page. Pour un lot de fichiers Office et de PDF simples, MarkItDown est plus léger. Unstructured découpe le document en éléments typés plutôt qu'en un fichier Markdown.
Marker est-il utilisable dans une entreprise ?
Son code est sous licence Apache 2.0. Les poids de ses modèles sont sous une licence Open Rail-M modifiée, gratuite pour la recherche, l'usage personnel et les jeunes entreprises sous 5 millions de dollars de financement ou de chiffre d'affaires, d'après son dépôt. Au-delà, une offre payante est prévue. Faites vérifier ces conditions par votre juriste.
Sources
Pages consultées pour écrire cet article :