Haal tekst uit elke PDF,
in je browser.
Trek een schone tekstlaag uit elke PDF — alinea's blijven behouden, meerdere pagina's, UTF-8. Extractie gebeurt in je browser, dus het bestand verlaat je apparaat nooit.
Controleer zelf: open DevTools → tabblad Network → sleep een bestand erin. Zie hoe er nul uploads plaatsvinden.
Drie stappen. Je PDF verlaat dit tabblad nooit.
Sleep je PDF
Kies het bestand waaruit je tekst wilt halen. Het wordt in het browsergeheugen geladen, niet op een server.
We lezen de tekstlaag
pdf.js doorloopt elke pagina, sorteert de items op Y-coördinaat en herstelt alinea-onderbrekingen op de juiste plek.
Kopieer of download .txt
Krijg schone UTF-8 platte tekst. Kopieer naar het klembord of bewaar als .txt — jij bepaalt.
Als je de tekst wilt en niet de PDF
De redenen om tekst uit een PDF te halen draaien bijna altijd om hetzelfde: de woorden krijgen waar de PDF niet binnenkomt. Je wilt een citaat in een mail plakken zonder de PDF als bijlage mee te slepen. Je voert een lang document aan een AI-assistent die alleen platte tekst neemt. Je wilt een rapport van 200 pagina's greppen op één zin en de zoekfunctie van de reader verbergt iets. Je vertaalt een contract en het vertaalprogramma wil de bron als plat bestand. Je haalt een gezet manuscript uit een PDF terug naar een tekstverwerker. In al deze gevallen zit de verpakking in de weg — de woorden zijn in orde, ze zitten alleen vast in een opmaak die moeilijk weer in elkaar te zetten is.
De uitvoer hier is precies dat: platte tekst, één groot .txt-bestand, in dezelfde volgorde als de PDF gelezen wordt. Geen opmaak, geen lettertypen, geen afbeeldingen, geen tabellen-als-tabellen. De klus is de woorden bevrijden.
Wat „extraheren" eigenlijk doet
Een PDF bevat twee soorten „tekst". Echte tekst — tekens met fonts getekend en door de PDF als letter gemarkeerd — zit in een tekstlaag. Die laag leest het programma rechtstreeks. De andere soort is tekst die alleen als pixels bestaat: alles wat gescand, gefotografeerd of als screenshot in de PDF is gestopt. Die tekens zijn afbeeldingen van letters, geen letters, en geen extractor ziet ze zonder OCR als tekst. Een OCR-stap zit hier niet in.
Twee snelle controles vertellen welk PDF je hebt. Open hem in een willekeurige reader, klik en sleep over een paragraaf: als de tekst netjes geselecteerd raakt, is er een tekstlaag en werkt de extractie. Tekent de cursor een rechthoek zonder dat er iets geselecteerd wordt, dan is de pagina een afbeelding en moet je hem eerst door OCR halen (in een ander programma) voordat de extractor iets te lezen heeft.
Hoe regelafbrekingen en alinea's eruitkomen
PDF's slaan geen alinea's op. Binnenin is een pagina een zak tekstfragmenten met posities — nergens metadata die zegt „hier eindigt de alinea". Bruikbare platte tekst zonder afbrekingen bestaat niet, dus leidt het programma ze af uit de verticale afstanden: kleine afstand tussen regels wordt een enkele afbreking, een grotere afstand (wat ontwerpers tussen alinea's laten) wordt een blanco regel. De gewone gevallen kloppen: lopende tekst, koppen, lijsten. Heeft de ontwerper ongebruikelijke spacing voor iets anders gebruikt, dan kan het programma dat niet raden en kunnen die plekken een lichte handmatige correctie willen.
Pagina's worden in de uitvoer door een lege regel gescheiden. Wil je helemaal geen paginabreuken, dan haalt zoeken-en-vervangen van de dubbele afbreking door een enkele ze weg.
Wat de extractie niet overleeft
- Vet, cursief, lettertypen, kleur, uitlijning. Platte tekst is plat. Heb je opmaak nodig, zie pdf-to-word.
- Tabellen. Cellen worden platte tekst in leesvolgorde — meestal rij voor rij, vaak met onhandige spacing. Tabellen die tabellen moeten blijven horen bij pdf-to-excel.
- Afbeeldingen en diagrammen. Wat in de PDF geen tekst was, komt niet in de tekst. Om afbeeldingen apart eruit te halen, zie pdf-to-jpg.
- Headers en footers. Herhaalde het origineel „Vertrouwelijk — pagina X van Y" op elke pagina, dan doet de uitvoer dat ook. Een zoeken-en-vervangen haalt ze in seconden weg.
- Woorden afgebroken met streepje aan regeleinde. Een woord dat door een streepje gebroken is, komt als
iets-\nwatuit in plaats vanietswat. Telt dit voor zoeken of spellingscontrole verderop, dan repareert een regex-\n→ leeg dit. - Meerkoloms opmaak kan zich vermengen. Een tweekoloms wetenschappelijk artikel kan eruit komen met afwisselende zinnen uit linker- en rechterkolom. Eén-koloms documenten — de meeste rapporten, contracten, boeken — hebben er geen last van. Is het vermengde resultaat onbruikbaar, dan is het schoner de PDF in een tool te openen die kolomvolgorde respecteert voordat je opnieuw extraheert.
Een paar praktische opmerkingen
- Als de PDF wachtwoordbeveiligd is, stuur hem eerst door unlock-pdf. Versleutelde PDF's kunnen niet worden geopend voor tekstextractie.
- Voor zeer grote PDF's (honderden MB, duizenden pagina's) draait de extractie nog steeds in je browser. Op desktop zelden een probleem; op een telefoon met een scan van 500 pagina's loop je tegen het browsergeheugen aan. In dat geval: desktop.
- De uitvoer is UTF-8. Cyrillisch, Grieks, Arabisch, Chinees, Latijn met diakritieken komen schoon door als de PDF ze als echte tekst opsloeg. PDF's die niet-Latijnse tekens als ingebedde subset-glyphs zonder juiste codering tekenden, geven bij extractie onleesbaarheden — dat is een probleem in de PDF, niet in de extractor. Oplossing aan de bron: opnieuw exporteren met juiste Unicode-codering.
- Naampatroon. Een bestand
contract.pdfwordt gedownload alscontract.txt. De PDF op de schijf blijft staan.
Wat er met je bestand gebeurt
De extractie loopt in je browser. Open de DevTools en kijk tijdens de operatie naar de Network-tab — geen uitgaande verzoeken met bestandsinhoud. De PDF blijft op de schijf; de .txt is een nieuwe download ernaast.
Veelgestelde vragen
Hoe werkt de extractie?
We gebruiken Mozilla's pdf.js om de ingebedde tekstlaag van je PDF pagina voor pagina te lezen. Items worden op Y-coördinaat gegroepeerd zodat alinea-onderbrekingen behouden blijven — geen server, geen upload.
Werkt het op gescande PDF's?
Nee. Scans zijn afbeeldingen van tekst, geen tekst — extractie vereist OCR, dat deze tool niet uitvoert. Als je PDF van gescand papier komt, heb je eerst een OCR-tool nodig.
Wordt mijn bestand ergens geüpload?
Nooit. De extractie draait volledig in je browser via WebAssembly — verifieerbaar in DevTools → Netwerk. Het bestand blijft op je apparaat.
En PDF's met wachtwoord?
Ontgrendel de PDF eerst met onze tool PDF ontgrendelen en extraheer daarna. Versleutelde inhoudsstromen kunnen niet worden gelezen zonder het wachtwoord.
Wat is de bestandsgroottelimiet?
Tot 100 MB. Grotere bestanden kunnen het browsergeheugen uitputten — splits ze eerst met PDF splitsen.