Docling: PDFs für eine KI konvertieren locale
Docling ist eine Open-Source-Bibliothek (MIT-Lizenz, ein Projekt von IBM Research, das bei der LF AI & Data Foundation gehostet wird), die PDF, DOCX, PPTX, XLSX, HTML, EPUB, Bilder und Audio in Markdown oder strukturiertes JSON umwandelt und dabei das Layout, die Lesereihenfolge und die Tabellen rekonstruiert. Sie läuft vollständig lokal, mit oder ohne GPU, und lässt sich direkt an LangChain, LlamaIndex, Crew AI oder Haystack anbinden, um eine Pipeline für dokumentenbasiertes RAG mit Daten zu versorgen.
PDFs sind die schwierigsten Eingabedokumente in jeder lokalen Dokumentenverarbeitungskette: zwei Spalten, die quer gelesen werden, eine Kopfzeile, die einen Satz in zwei Teile trennt, eine Zahlentabelle, die auf eine Spalte mit Zahlen ohne ihre Bezeichnungen reduziert wird. Docling ist eine von IBM Research veröffentlichte Open-Source-Bibliothek, die heute bei der LF AI & Data Foundation angesiedelt ist. Sie analysiert das Seitenlayout, rekonstruiert die Lesereihenfolge und stellt die Tabellenstruktur wieder her, bevor sie alles als Markdown, HTML oder JSON exportiert. Das alles auf Ihrem Rechner, ohne API — genau diese Vorgabe gilt, wenn es sich bei den Dokumenten um Verträge oder Krankenakten handelt.
#Der Schritt, der alles Weitere bestimmt
Wenn ein Dokumentenassistent schlecht antwortet, wird das Modell dafür verantwortlich gemacht. Die Ursache liegt fast immer in den vorgelagerten Schritten. Ein Bericht, der aus einer Unternehmensvorlage exportiert und durch einen einfachen Textextraktor verarbeitet wird, wird zu einem Textstrom, in dem die Seitenkopfzeile einen Absatz unterbricht, das zweispaltige Layout horizontal gelesen wird und eine Ergebnistabelle zu einer Folge zusammenhangloser Zahlen wird. Diese Textstücke werden anschließend kodiert, bei der Suche abgerufen und dem Modell als Fakten präsentiert: Es liest Unsinn und gibt ihn mit großer Sicherheit wieder. Kein Embedding-Modell, kein Reranker und kein Prompt kann eine misslungene Konvertierung am Anfang der Verarbeitungskette ausgleichen – genau diesen Punkt verschweigen die meisten Tutorials zu lokalem RAG, während sie sich auf die Wahl des Sprachmodells konzentrieren.
Docling setzt direkt bei diesem vernachlässigten Schritt an. Das Projekt wurde im Juli 2024 von IBM Research unter der MIT-Lizenz als Open Source veröffentlicht, was eine kommerzielle Nutzung ohne Lizenzgebühren und ohne Copyleft erlaubt. Es überschritt schnell die Marke von 10.000 Sternen auf GitHub und gehörte Anfang 2025 zu den weltweit meistverfolgten Repositories; Ende September 2026 zählte das offizielle Repository mehr als 68.000 Sterne, und die neueste stabile Version, v2.130.0, war am 22. September 2026 veröffentlicht worden.
#Was macht Docling?
Ihre Dokumente, Ihre KI: ein zuverlässiges lokales RAG für Ihre PDFs, Notizen und E-Mails – ohne Daten in die Cloud zu senden.
- Lebenslanger Online-Zugang
- PDF + Dateien
- Erstattung binnen 30 Tagen
- Layoutanalyse
- Erkennt die Bereiche einer Seite und ihre Art, damit eine Bildunterschrift nicht mit einem Absatz verschmilzt und eine Fußzeile nicht mitten in einem Satz erscheint.
- Lesereihenfolge
- Rekonstruiert die Reihenfolge, der ein Mensch beim Lesen folgen würde, und macht dadurch endlich mehrspaltige Dokumente nutzbar.
- Struktur der Tabellen
- Erkennt Zeilen, Spalten und verbundene Zellen und exportiert sie als echte Tabellen statt als Textzeilen.
- Optische Zeichenerkennung bei Bedarf
- Gescannte Seiten ohne Textebene werden per OCR verarbeitet, statt ohne Textinhalt eingelesen zu werden.
- Verständnis von Grafiken
- Kreisdiagramme, Histogramme und Kurven können in Datentabellen oder eine textliche Beschreibung umgewandelt werden, anstatt einfach ignoriert zu werden.
- Ein einheitliches Dokumentmodell
- Eine gemeinsame interne Darstellung, mehrere Exportformate (Markdown, HTML, DocTags, verlustfreies JSON): Für den Rest der Verarbeitungskette spielt es keine Rolle, ob die Eingabe eine PDF-Datei oder eine Office-Datei war.
Neben PDF unterstützt Docling DOCX, PPTX, XLSX, HTML, EPUB, Bilder (PNG, TIFF, JPEG …), E-Mails (EML, MSG) und über eine Transkriptionspipeline sogar Audio (WAV, MP3) – das ist wichtig, weil ein realer Korpus niemals homogen ist. Die Bibliothek lässt sich mit wenigen Zeilen Code in LangChain, LlamaIndex, Crew AI und Haystack integrieren. Dadurch müssen Sie den Konvertierungscode für eine agentenbasierte Pipeline nicht selbst schreiben.
#Tabellen: der eigentliche Grund, sich die Mühe zu machen
In einem beruflichen Dokument stehen Zahlen fast immer in Tabellen, und gerade dort scheitert die naive Extraktion besonders gravierend. Eine Zeile, aus der „Paris 12 480 3,2“ wird, hat die Spaltenüberschriften verloren, die ihr Bedeutung verliehen. Die Suche liefert anschließend einen scheinbar korrekten Auszug, das Modell erfindet die Beziehung zwischen den Werten, und die Antwort ist auf eine Weise falsch, die sich nur schwer erkennen lässt.
Docling überträgt diese Aufgabe einem eigens dafür vorgesehenen Modell, TableFormer, das die Tabellenstruktur mit einem spezialisierten Vokabular namens OTSL (Optimized Table Structure Language) kodiert und verbundene Zellen sowie mehrstufige Tabellenköpfe korrekt verarbeitet. Laut der Forschungsarbeit, auf die dieses Format zurückgeht, stellt OTSL mit einer Handvoll Tokens dar, wofür eine gleichwertige HTML-Darstellung mehr als 28 Tokens benötigt. Dadurch wird die durchschnittliche Länge der vorherzusagenden Sequenz etwa halbiert und die Inferenzzeit gegenüber einem Modell, das HTML erzeugen würde, auf die Hälfte reduziert — ein für Endnutzer unsichtbares Architekturdetail, das jedoch erklärt, warum Doclings Tabellenerkennung auch bei großen Datenmengen ohne eine ausschließlich für diesen Zweck vorgesehene GPU nutzbar bleibt. In den Pipeline-Optionen stehen zwei Modi zur Verfügung: FAST ist schneller, aber bei komplexen Tabellen weniger präzise; ACCURATE wird empfohlen, sobald Tabellen verbundene Zellen oder mehrere Ebenen im Tabellenkopf enthalten. Die Struktur auch in Markdown beizubehalten, erhält die Zuordnung jedes Wertes zu seiner Bezeichnung. Bei einem Korpus, in dem die erwarteten Antworten Zahlen sind, rechtfertigt dies allein einen aufwendigeren Konverter als einen einfachen Textextraktor.
#Die verfügbaren OCR-Engines
Docling enthält nicht nur eine einzige OCR-Engine: Es orchestriert je nach Dokumenttyp mehrere austauschbare Engines. EasyOCR und Tesseract (über tesserocr oder die Befehlszeile) decken die meisten Fälle ab; RapidOCR unterstützt benutzerdefinierte Modelle; OcrMac nutzt die native Texterkennung von macOS, sofern sie verfügbar ist. Die Auswahl erfolgt in den Pipeline-Optionen, nicht im Code Ihrer Anwendung. So lässt sich die Engine wechseln, ohne die Logik der Dokumentenaufnahme anzupassen.
In der Praxis beginnt eine produktive Ingestion-Pipeline fast immer damit, Tesseract an einer Stichprobe zu testen: Liefert es sauberen Text, gibt es keinen Grund, den Aufwand von EasyOCR in Kauf zu nehmen. Der Wechsel zu EasyOCR ist vor allem bei qualitativ beeinträchtigten Scans, teilweise handschriftlich ausgefüllten Formularen oder Sprachen gerechtfertigt, bei denen Tesseract an seine Grenzen stößt. RapidOCR und OcrMac bleiben Nischenlösungen: ersteres für ein bereits trainiertes, selbst entwickeltes OCR-Modell, letzteres für einen isolierten Mac-Arbeitsplatz, auf dem keine externen Abhängigkeiten installiert werden müssen.
| Engine | Stärke | Typischer Anwendungsfall |
|---|---|---|
| Tesseract | Schnell bei sauberen Texten | Digitale Dokumente, die bereits sauber gescannt wurden |
| EasyOCR | Robuster bei Scans schlechter Qualität und ungewöhnlichen Schriftformen, optionale GPU-Nutzung über use_gpu | Archive, Formulare, heterogene Korpora |
| RapidOCR | Unterstützt benutzerdefinierte Modelle | Spezifische Anforderungen (seltene Sprache, spezialisiertes Fachgebiet) |
| OcrMac | Nutzt die native Engine von macOS, ohne zusätzliche Abhängigkeiten | Mac-Arbeitsplatz, geringe Verarbeitungsmengen |
#Eine Aufteilung, die der Struktur folgt
Ein Punkt, den die meisten Anleitungen zu lokalem RAG nicht erklären: Docling konvertiert nicht nur, sondern bietet auch eine Aufteilung, die auf die gerade rekonstruierte Dokumentstruktur abgestimmt ist. Sein HybridChunker geht von der Hierarchie des Dokuments (Überschriften, Abschnitte) aus und passt anschließend die Größe jedes Chunks an den tatsächlichen Tokenizer des gewählten Embedding-Modells an: Zu lange Blöcke werden an den Grenzen der Elemente statt mitten in einem Satz geteilt, und zu kurze Blöcke mit derselben Überschrift werden zusammengeführt. Der bereitgestellte Tokenizer muss auf den Tokenizer des nachgelagert verwendeten Embedding-Modells abgestimmt sein, sonst entspricht die tatsächliche Größe der Chunks (in Tokens) nicht mehr dem, was der Vektorindex erwartet. Diese Aufteilung orientiert sich an der Struktur und lässt sich mit einer Aufteilung in Zeichenblöcke vergleichen, die Satzgrenzen ignoriert: Zu den Kompromissen zwischen beiden Ansätzen siehe unseren Leitfaden zu Chunking-Strategien.
#Der Rechenaufwand
| Konfiguration | Durchsatz | Wann es ausreicht |
|---|---|---|
| Prozessor allein, ohne OCR | Der langsamste: einige Sekunden pro komplexer Seite | Kleine Korpora, einzelne Umwandlungen |
| Nur CPU, mit OCR | Noch langsamer, die OCR bestimmt die Verarbeitungsgeschwindigkeit | Einige gescannte Dokumente |
| Mit GPU | Erheblich schneller bei der Seitenanalyse, Tabellenverarbeitung und OCR mit EasyOCR | Tausende von Seiten, wiederholte Ingestion |
Die praktische Konsequenz: Man konvertiert einmal in Stapeln und behält das Ergebnis. Eine erneute Indexierung ist nur sinnvoll, wenn sich die Quelle ändert. Auf einem Rechner, der auch ein Sprachmodell bereitstellt, konkurrieren beide über die Beschleunigungsoptionen der Pipeline um dieselbe GPU: Wird ein Korpus eingelesen, während Nutzer Fragen stellen, verlangsamt das beide Vorgänge.
#Seine Position in der Kette
- 01KonvertierenDocling wandelt Ihre Dateien in Markdown oder strukturiertes JSON um, wobei die Tabellen erhalten bleiben.
- 02TeilenMit dem HybridChunker, anhand der erkannten Struktur und des Tokenizers des Embedding-Modells statt mit einer Aufteilung alle tausend Zeichen. Hier zahlt sich der Konverter ein zweites Mal aus.
- 03Codieren und speichernEin lokales Embedding-Modell wandelt die Abschnitte in Vektoren um, die in einer Vektordatenbank wie Qdrant gespeichert werden.
- 04AntwortenEin lokales Modell verfasst auf Grundlage der gefundenen Textpassagen einen Text, über Ollama oder einen lokalen Inferenzserver.
- Vektoren in Qdrant speichern
- Strategien zum Chunking vergleichen
- Eine sofort einsatzbereite Anwendung, um mit den eigenen Dokumenten zu chatten
- Besonderer Fall: Extraktion von Daten aus Rechnungen
- Tesseract allein: einfachere OCR für sauberen Text
- Das lokale RAG-Kit QuelLLM: Alle Komponenten auf einer Seite
- Quelle: offizielles Docling-Repository auf GitHub
- Quelle: Optionen der Docling-Pipeline (OCR, TableFormer)
- Quelle: Dokumentation des HybridChunker
#Wo es weiterhin hakt
- Scans mit schlechter Qualität
- Die OCR-Genauigkeit bei einer schiefen Fotokopie ist eine physikalische Grenze, keine softwarebedingte.
- Stark grafiklastige Layouts
- Zeitschriften, Text, der eine Abbildung umfließt, Formulare: schwierig für alle Konverter.
- Handschrift
- Außerhalb des Einsatzbereichs dieser Tool-Kategorie.
- Komplexe Grafiken
- Die Erkennung von Diagrammen deckt die üblichen Fälle ab (Kreis-, Balken- und Liniendiagramme); ein sehr spezielles Diagramm – eine Karte, ein technisches Diagramm oder ein Architekturschema – wird möglicherweise weiterhin nur anhand seiner Legende wiedergegeben, ohne die zugrunde liegenden Werte.
- Der anfängliche Aufwand
- Die Installation der Modelle für Layout, Tabellen und OCR erfordert beim ersten Start Downloads von mehreren Gigabyte; für einen isolierten Rechner ohne Netzwerkzugriff müssen sie vorab heruntergeladen werden.
#FAQ
Ist Docling kostenlos?+
Braucht man eine GPU?+
Kann Docling gescannte PDF-Dateien lesen?+
Welche Unterschiede gibt es zwischen den Modi FAST und ACCURATE von TableFormer?+
Docling oder ein einfacher Textextrahierer?+
Lässt sich Docling in LangChain oder LlamaIndex integrieren?+
Verlassen die Daten meine Maschine?+
Haben Sie Feedback, einen Fehler entdeckt oder möchten Sie etwas präzisieren? Geben Sie uns Bescheid – so wird der Guide für alle besser.