PDF lokaal naar Markdown converteren, zonder te uploaden
Door pdftomd.tools-team · Bijgewerkt op · 8 min leestijd
Zo converteer je een PDF lokaal naar Markdown: open een converter die in je browser draait, zoals onze tool om PDF naar MD te converteren, verbreek de netwerkverbinding en converteer. Werkt het nog steeds, dan heeft niets je apparaat verlaten. Voor scripts of grote batches doet een Python-bibliotheek of een opdrachtregeltool hetzelfde werk op je eigen computer.

Wat "lokaal" betekent en hoe je het controleert
Een conversie is lokaal als het bestand door software op je eigen apparaat wordt gelezen en in Markdown wordt omgezet, en er geen kopie naar een server gaat. Dat sluit de meeste "gratis online converters" uit, die de PDF uploaden, op afstand verwerken en het resultaat terugsturen. Het sluit ook tools uit die wel op je laptop draaien, maar voor de lastige delen stilletjes een clouddienst aanroepen.
Je hoeft niemand op zijn woord te geloven, ons ook niet. Hoe je een PDF ook lokaal naar Markdown converteert, twee controles werken bij elke tool:
- Stekker eruit. Laad de tool, zet wifi uit (of zet de ontwikkelaarstools van je browser op offline) en converteer dan. Een tool die een server nodig heeft, faalt.
- Verkeer bekijken. Open in de browser het tabblad Netwerk voordat je het bestand neerzet en let tijdens de conversie op POST-verzoeken of andere verzoeken met gegevens. Bij een desktopprogramma vertelt een firewallmelding of netwerkmonitor je hetzelfde.

Optie 1: PDF lokaal naar Markdown converteren in de browser
Een browsertool is de snelste route als je één bestand hebt en geen Python-omgeving. Onze converter leest de PDF met de opensource-engine PDF.js in het tabblad: hij herkent koppen aan de lettergrootte, bouwt lijsten en tabellen met verticale strepen opnieuw op en kan herhaalde kopteksten en paginanummers weghalen. Er is geen uploadstap, dus de conversie is even privé of het bestand nu een contract is of een recept.
We deden de stekkertest op 19 okt. 2026 met een script. Dat opende de pagina in Chrome 155.0.8059.84, zette de browser offline en converteerde daarna een rapport van 4 pagina's met een herhaalde koptekst, paginanummers en een tabel. In onze tests was de offline conversie na 87 ms klaar en leverde ze 546 tekens Markdown op. Terwijl hij offline was, deed de pagina 1 verzoek, een GET voor een decoratieve afbeelding verderop op de pagina, en geen enkele bevatte gegevens. Ook bij het laden van de pagina waren er geen POST-verzoeken.

De grenzen zijn die van elke converter die de tekstlaag leest. Een gescande pagina heeft geen leesbare tekst, en onze tool doet geen OCR; daarom meldt hij dat het bestand gescand lijkt in plaats van te gokken. Lay-outs met meerdere kolommen en complexe tabellen moet je daarna nakijken; onze gids over opmaak zet op een rij waar je op let.
Optie 2: Python-bibliotheken op je eigen computer
Voor terugkerende klussen past een Python-bibliotheek beter: je kunt een map doorlopen, de code in versiebeheer zetten en hem draaien op een server die je zelf beheert. Onze Python-gids gaat dieper op de code in; hier bekijken we vier veelgebruikte pakketten alleen vanuit het oogpunt "lokaal".
- PyMuPDF4LLM maakt met één aanroep Markdown van een PDF:
pymupdf4llm.to_markdown("report.pdf"). Het draait volledig offline. Controleer eerst de licentie: het en PyMuPDF vallen onder AGPL-3.0, met een commerciële licentie die apart wordt verkocht. - MarkItDown van Microsoft (MIT) converteert veel bestandstypen. Installeer de PDF-uitbreiding met
pip install 'markitdown[pdf]'en voermarkitdown report.pdf -o report.mduit. De standaardroute voor PDF is lokaal. Optionele uitbreidingen sturen bestanden naar Azure Document Intelligence of Content Understanding; laat die weg bij vertrouwelijke bestanden. - Docling (MIT) gebruikt lay-out- en tabelmodellen en noemt lokaal draaien voor gevoelige gegevens als een van zijn functies. De modellen worden bij het eerste gebruik gedownload; de documentatie toont
docling-tools models downloadom ze vooraf op te halen voor machines zonder netwerk. - Marker (code onder Apache-2.0; modelgewichten onder een eigen licentie met commerciële beperkingen) is ook modelgebaseerd. De optionele vlag
--use_llmstuurt inhoud naar een LLM-dienst, standaard Gemini; het is dus alleen lokaal als je het op een zelf gehost model richt.
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.mdWil je een PDF op de Mac naar Markdown converteren, dan verandert er niets: beide pakketten installeer je met pip op macOS, en het Homebrew-pakket poppler levert pdftotext voor de volgende optie.
Optie 3: opdrachtregeltools
De klassieke offlinetool is pdftotext van Poppler. Hij is snel en bijna overal geïnstalleerd, maar schrijft platte tekst, geen Markdown: geen #-koppen, geen tabellen met strepen. De vlag -layout houdt kolommen met spaties uitgelijnd; dat helpt een mens bij het lezen, maar minder als een parser of model structuur nodig heeft. Pandoc, het gebruikelijke antwoord op formaatconversies, leest helemaal geen PDF.
Om de routes met hetzelfde bestand te vergelijken, draaiden we de twee Python-pakketten en pdftotext op onze buildmachine (Linux x86_64, 8 vCPU) met het netwerk uitgeschakeld voor het proces, en telden we wat eruit kwam. Het bestand was hetzelfde rapport van 4 pagina's als in de browsertest. De rij voor onze converter komt van hetzelfde bestand in de modus "AI-resten opschonen".
| Tool | Tijd | Koppen | Tabel met strepen | Kopieën van de koptekst | Regels met paginanummer | Woord afgebroken met koppelteken |
|---|---|---|---|---|---|---|
| PyMuPDF4LLM 1.28.2 | 1 s | 4 | Ja | 4 | 4 | Nee |
| MarkItDown 0.1.8 | 0,32 s | 0 | Ja | 4 | 4 | Ja |
| pdftotext 25.03.0 -layout | 0,02 s | 0 | Nee | 4 | 4 | Ja |
| Onze browserconverter (AI-resten opgeschoond) | 87 ms | 4 | Ja | 0 | 0 | Nee |
Welke optie bij welke klus past

- Eén bestand, nu meteen, zonder installatie: de browser. Gebruik onze tool om PDF naar MD te converteren of de batchpagina voor een stapel bestanden.
- Elke week een map of een pijplijn: PyMuPDF4LLM als de AGPL-licentie past, MarkItDown als je MIT en veel bestandstypen nodig hebt.
- Lastige lay-outs, scans, formules: Docling of Marker, met een modeldownload en tragere runs.
- Alleen de woorden, voor zoeken of een snelle diff: pdftotext.
- Rechtstreeks naar een kluis: converteer in de browser en volg de Obsidian-werkwijze.
Een opmerking over de termen: een offlinetool en een privétool beloven niet hetzelfde. Offline betekent dat hij geen netwerk nodig heeft. Privé gaat ook over wat de tool op de schijf bewaart, zoals caches, logs of crashrapporten; lees dus de privacypagina van alles wat je installeert.
Checklist voor vertrouwelijke PDF's
- Lees de privacyverklaring van de tool en controleer die zelf met de offlinetest hierboven. De onze staat op de privacypagina.
- Installeer pakketten en download modellen online, en converteer de PDF daarna lokaal naar Markdown met het netwerk uit.
- Laat clouduitbreidingen uitgeschakeld: de Azure-opties van MarkItDown, de LLM-modus van Marker, elke schakelaar voor "AI-opschoning" die een dienst aanroept.
- Converteer in een map die je zelf beheert en verwijder tussenkopieën als je klaar bent.
- Voordat je de Markdown in een chatmodel plakt: die stap is wél een upload. Niets uploaden tijdens het converteren dekt niet wat daarna gebeurt.
- Kies bij juridische of medische bestanden voor tools waarvan je de code kunt lezen, en bewaar de gebruikte versies bij de uitvoer.
Bronnen
- 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
Veelgestelde vragen
Hoe converteer ik een PDF lokaal naar Markdown?
Gebruik een browserconverter die het bestand in het tabblad verwerkt, of installeer een Python-bibliotheek zoals PyMuPDF4LLM of MarkItDown en draai die op je eigen computer. Test beide met het netwerk uit om zeker te weten dat er niets wordt geüpload.
Hoe weet ik of een online converter mijn bestand uploadt?
Open het tabblad Netwerk van de browser en converteer dan. Verzoeken met je bestand verschijnen als POST- of uploadverkeer. Nog eenvoudiger: ga offline voordat je converteert. Een tool die uploadt, wordt zonder verbinding niet klaar.
Werkt jullie converter offline?
Ja, bij PDF's met een tekstlaag. Laad de pagina online zodat de PDF-engine wordt gedownload; daarna kun je de verbinding verbreken. In onze tests werd een rapport van 4 pagina's offline geconverteerd zonder dat een verzoek gegevens bevatte.
Welke Python-bibliotheek is het best voor lokaal converteren?
PyMuPDF4LLM leverde in onze kleine test de meeste structuur, maar valt onder AGPL. MarkItDown valt onder MIT en kan veel formaten aan. Docling en Marker passen bij lastige lay-outs en scans, ten koste van een modeldownload.
Kan ik gescande PDF's lokaal converteren?
Alleen met een tool die op je computer OCR doet. Docling en Marker kunnen dat; onze browserconverter leest alleen de tekstlaag en doet geen OCR, daarom meldt hij dat het bestand gescand lijkt.
Is pdftotext genoeg in plaats van Markdown?
Voor zoeken en snel lezen vaak wel. Het maakt geen koppen of tabellen in Markdown-syntaxis, dus notities, documentatie en AI-prompts die op structuur leunen, hebben een echte Markdown-converter nodig.

