Convertir un PDF en Markdown en local, sans l'envoyer
Par Équipe pdftomd.tools · Mis à jour le · 8 min de lecture
Pour convertir un PDF en Markdown en local, ouvrez un convertisseur qui tourne dans votre navigateur, comme notre outil pour convertir un PDF en MD, coupez le réseau, puis convertissez. Si ça marche toujours, rien n'a quitté votre appareil. Pour des scripts ou de gros lots, une bibliothèque Python ou un outil en ligne de commande fait le même travail sur votre propre ordinateur.

Ce que « en local » veut dire, et comment le vérifier
Une conversion est locale quand le fichier est lu et transformé en Markdown par un logiciel sur votre propre appareil, et qu'aucune copie du fichier ne part vers un serveur. Cela exclut la plupart des « convertisseurs gratuits en ligne », qui envoient le PDF, le traitent à distance et renvoient le résultat. Cela exclut aussi les outils qui tournent bien sur votre portable mais appellent discrètement un service cloud pour les parties difficiles.
Vous n'avez à croire personne sur parole, nous compris. Quelle que soit votre façon de convertir un PDF en Markdown en local, deux vérifications marchent avec n'importe quel outil :
- Débrancher. Chargez l'outil, coupez le Wi-Fi (ou passez les outils de développement du navigateur en mode hors ligne), puis convertissez. Un outil qui a besoin d'un serveur échoue.
- Observer le trafic. Dans le navigateur, ouvrez l'onglet Réseau avant de déposer le fichier et surveillez, pendant la conversion, les requêtes POST ou toute requête qui transporte des données. Pour un logiciel de bureau, une alerte du pare-feu ou un moniteur réseau vous dit la même chose.

Option 1 : convertir un PDF en Markdown en local dans le navigateur
Un outil de navigateur est la voie la plus rapide quand vous avez un fichier et pas d'environnement Python. Notre convertisseur lit le PDF avec le moteur libre PDF.js dans l'onglet : il repère les titres à la taille de police, reconstruit les listes et les tableaux à barres verticales, et peut retirer les en-têtes répétés et les numéros de page. Il n'y a aucune étape d'envoi, la conversion est donc aussi privée qu'il s'agisse d'un contrat ou d'une recette.
Nous avons fait le test du débranchement le 19 oct. 2026 avec un script. Il a ouvert la page dans Chrome 155.0.8059.84, passé le navigateur hors ligne, puis converti un rapport de 4 pages avec un en-tête répété, des numéros de page et un tableau. Dans nos tests, la conversion hors ligne a pris 87 ms et a produit 546 caractères de Markdown. Hors ligne, la page a fait 1 requête, un GET pour une image décorative plus bas sur la page, et aucune requête ne contenait de données. Aucune requête POST non plus au chargement de la page.

Les limites sont celles de tout convertisseur qui lit la couche de texte. Une page scannée n'a pas de texte lisible, et notre outil ne fait pas d'OCR ; il vous dit donc que le fichier semble scanné au lieu de deviner. Les mises en page sur plusieurs colonnes et les tableaux complexes demandent une relecture ensuite ; notre guide sur la mise en forme liste les points à vérifier.
Option 2 : des bibliothèques Python sur votre machine
Pour les tâches répétées, une bibliothèque Python convient mieux : vous pouvez parcourir un dossier, versionner le code et le faire tourner sur un serveur que vous contrôlez. Notre guide Python entre dans le code ; voici quatre paquets courants, vus uniquement sous l'angle du « local ».
- PyMuPDF4LLM transforme un PDF en Markdown en un seul appel :
pymupdf4llm.to_markdown("report.pdf"). Il fonctionne entièrement hors ligne. Vérifiez d'abord la licence : lui et PyMuPDF sont sous AGPL-3.0, avec une licence commerciale vendue à part. - MarkItDown de Microsoft (MIT) convertit de nombreux types de fichiers. Installez l'extension PDF avec
pip install 'markitdown[pdf]'et lancezmarkitdown report.pdf -o report.md. Le chemin PDF standard est local. Des extensions facultatives envoient les fichiers à Azure Document Intelligence ou Content Understanding ; laissez-les de côté pour les fichiers confidentiels. - Docling (MIT) utilise des modèles de mise en page et de tableaux, et cite l'exécution locale pour les données sensibles parmi ses fonctions. Les modèles se téléchargent à la première utilisation ; la documentation montre
docling-tools models downloadpour les récupérer d'avance sur une machine sans réseau. - Marker (code sous Apache-2.0 ; poids de modèle sous une licence à part avec des restrictions commerciales) est lui aussi à base de modèles. Son option facultative
--use_llmenvoie du contenu à un service de LLM, Gemini par défaut ; il n'est donc local que si vous le dirigez vers un modèle que vous hébergez vous-même.
python -m venv .venv && . .venv/bin/activate
pip install pymupdf4llm 'markitdown[pdf]'
# then work with the network off
python -c "import pymupdf4llm; open('report.md','w').write(pymupdf4llm.to_markdown('report.pdf'))"
markitdown report.pdf -o report-markitdown.mdPour convertir un PDF en Markdown sur Mac, rien ne change : les deux paquets s'installent avec pip sous macOS, et le paquet Homebrew poppler fournit pdftotext pour l'option suivante.
Option 3 : les outils en ligne de commande
L'outil hors ligne classique est pdftotext, issu de Poppler. Il est rapide et installé presque partout, mais il écrit du texte brut, pas du Markdown : pas de titres #, pas de tableaux à barres verticales. L'option -layout garde les colonnes alignées avec des espaces ; c'est utile pour un humain qui lit, moins quand un analyseur ou un modèle a besoin de structure. Pandoc, la réponse habituelle aux conversions de format, ne lit pas du tout le PDF.
Pour comparer les méthodes sur le même fichier, nous avons lancé les deux paquets Python et pdftotext sur notre machine de build (Linux x86_64, 8 vCPU) avec le réseau désactivé pour le processus, puis compté ce qui en sortait. Le fichier était le même rapport de 4 pages que dans le test du navigateur. La ligne de notre convertisseur vient du même fichier en mode « Nettoyer les traces d’IA ».
| Outil | Temps | Titres | Tableau à barres | Copies de l'en-tête | Lignes de numéro de page | Mot coupé par un trait d'union |
|---|---|---|---|---|---|---|
| PyMuPDF4LLM 1.28.2 | 1 s | 4 | Oui | 4 | 4 | Non |
| MarkItDown 0.1.8 | 0,32 s | 0 | Oui | 4 | 4 | Oui |
| pdftotext 25.03.0 -layout | 0,02 s | 0 | Non | 4 | 4 | Oui |
| Notre convertisseur navigateur (traces d’IA nettoyées) | 87 ms | 4 | Oui | 0 | 0 | Non |
Quelle option pour quelle tâche

- Un fichier, tout de suite, sans installation : le navigateur. Utilisez notre outil pour convertir un PDF en MD ou la page de traitement par lots pour une pile de fichiers.
- Un dossier chaque semaine ou une chaîne de traitement : PyMuPDF4LLM si la licence AGPL vous convient, MarkItDown si vous avez besoin de MIT et de nombreux types de fichiers.
- Mises en page difficiles, scans, formules : Docling ou Marker, avec téléchargement de modèles et des passages plus lents.
- Juste les mots, pour une recherche ou un diff rapide : pdftotext.
- Directement dans un coffre : convertissez dans le navigateur et suivez la méthode Obsidian.
Une précision de vocabulaire : un outil hors ligne et un outil privé ne font pas la même promesse. Hors ligne veut dire qu'il n'a pas besoin du réseau. Privé couvre aussi ce que l'outil garde sur le disque, comme des caches, des journaux ou des rapports de plantage ; lisez donc la page de confidentialité de tout ce que vous installez.
Liste de vérification pour les PDF confidentiels
- Lisez la politique de confidentialité de l'outil et vérifiez-la vous-même avec le test hors ligne ci-dessus. La nôtre se trouve sur la page de confidentialité.
- Installez les paquets et téléchargez les modèles en ligne, puis convertissez le PDF en Markdown en local, réseau coupé.
- Laissez les extensions cloud désactivées : les options Azure de MarkItDown, le mode LLM de Marker, tout bouton de « nettoyage par IA » qui appelle un service.
- Convertissez dans un dossier que vous contrôlez et supprimez les copies intermédiaires quand vous avez fini.
- Avant de coller le Markdown dans un modèle de conversation : cette étape-là est un envoi. Ne rien envoyer pendant la conversion ne couvre pas ce qui vient après.
- Pour des fichiers juridiques ou médicaux, préférez des outils dont vous pouvez lire le code, et conservez les versions utilisées avec la sortie.
Sources
- PDF.js — Mozilla
- PyMuPDF4LLM (README and licence) — Artifex, GitHub
- MarkItDown (README and licence) — Microsoft, GitHub
- Docling: model prefetching and offline usage — Docling project
- Marker (README and licence) — Datalab, GitHub
- Poppler (pdftotext) — freedesktop.org
FAQ
Comment convertir un PDF en Markdown en local ?
Utilisez un convertisseur de navigateur qui traite le fichier dans l'onglet, ou installez une bibliothèque Python comme PyMuPDF4LLM ou MarkItDown et lancez-la sur votre propre machine. Testez l'un ou l'autre réseau coupé pour être sûr que rien n'est envoyé.
Comment savoir si un convertisseur en ligne envoie mon fichier ?
Ouvrez l'onglet Réseau du navigateur, puis convertissez. Les requêtes qui transportent votre fichier apparaissent comme du trafic POST ou d'envoi. Encore plus simple : passez hors ligne avant de convertir. Un outil qui envoie le fichier ne termine pas sans connexion.
Votre convertisseur fonctionne-t-il hors ligne ?
Oui, pour les PDF avec couche de texte. Chargez la page en ligne pour que le moteur PDF soit téléchargé, puis vous pouvez couper la connexion. Dans nos tests, un rapport de 4 pages a été converti hors ligne sans qu'aucune requête ne contienne de données.
Quelle bibliothèque Python choisir pour convertir en local ?
PyMuPDF4LLM a donné le plus de structure dans notre petit test, mais il est sous AGPL. MarkItDown est sous MIT et gère de nombreux formats. Docling et Marker conviennent aux mises en page difficiles et aux scans, au prix d'un téléchargement de modèles.
Peut-on convertir des PDF scannés en local ?
Seulement avec un outil qui fait l'OCR sur votre machine. Docling et Marker en sont capables ; notre convertisseur de navigateur ne lit que la couche de texte et ne fait pas d'OCR, il signale donc que le fichier semble scanné.
pdftotext suffit-il à la place du Markdown ?
Pour la recherche et une lecture rapide, souvent oui. Il ne produit ni titres ni tableaux en syntaxe Markdown ; les notes, la documentation et les prompts d'IA qui dépendent de la structure ont donc besoin d'un vrai convertisseur Markdown.

