DokumenteBilderMedienPDF-Werkzeuge

Text Online vergleichen — Diff zweier Texte

Versionen von Code, Verträgen und Artikeln vergleichen und jede Änderung farblich hervorgehoben visualisieren.

In deinem Browser verarbeitet — kein Text wird an einen Server gesendet

Sichtbare Unterschiede in Sekunden

Zeilen- und Zeichenvergleich

Änderungen auf Zeilenebene und auf Zeichenebene innerhalb jeder geänderten Zeile visualisieren.

100 % privat

Der Vergleich findet in deinem Browser statt. Deine Texte werden nie an einen Server übertragen.

Myers-Algorithmus

Implementierung des Myers-Diff O(n+d)-Algorithmus, denselben den git intern für seine Diffs verwendet.

Sofort

Ergebnisse erscheinen beim Einfügen des Textes — kein Konvertierungsknopf nötig.

Drei Schritte, kein Aufwand

1

Beide Texte einfügen

Gib den Originaltext im linken und den geänderten Text im rechten Bereich ein. Es kann sich um Code, Dokumente oder beliebigen Klartext handeln.

2

Unterschiede visualisieren

Hinzugefügte Zeilen erscheinen grün, gelöschte rot, und geänderte Zeilen zeigen die genaue Änderung auf Zeichenebene hervorgehoben.

3

Änderungen analysieren

Navigiere mit Zurück/Weiter-Schaltflächen zwischen den Unterschieden. Sieh eine Zusammenfassung der hinzugefügten, gelöschten und unveränderten Zeilen.

Noch Fragen?

Moderne Diff-Algorithmen basieren auf der Berechnung der LCS (Longest Common Subsequence). Bei zwei Texten A und B findet der Algorithmus die längste Folge von Zeilen, die in beiden in derselben Reihenfolge vorkommt. Zeilen aus A, die nicht Teil der LCS sind, werden als gelöscht (rot) markiert, Zeilen aus B als hinzugefügt (grün). Der Hunt-McIlroy-Algorithmus (1975), der im ursprünglichen Unix-diff-Befehl verwendet wurde, formalisierte diesen Ansatz.

Grün zeigt im neuen Text hinzugefügte Zeilen an, die im Original nicht vorhanden waren. Rot markiert gelöschte Zeilen, die im Original standen und nun fehlen. Gelb oder keine Farbe steht für unveränderte Zeilen. Im Zeichenebenen-Diff-Modus werden innerhalb einer geänderten Zeile neue Zeichen dunkelgrün und gelöschte Zeichen dunkelrot hervorgehoben, sodass die genaue Änderung innerhalb der Zeile sichtbar wird.

Der zeilenweise Vergleich behandelt jede Zeile als atomare Einheit, genau wie git diff. Er ist ideal für Code, bei dem Änderungen zwischen vollständigen Zeilen stattfinden. Der zeichenweise Vergleich arbeitet innerhalb jeder geänderten Zeile und zeigt genau, welche Zeichen oder Wörter sich geändert haben. Er ist nützlicher für Prosa, Verträge oder Texte, bei denen Änderungen kleine Korrekturen innerhalb von Absätzen sind.

Diff ist grundlegend in der Versionskontrolle (git diff zeigt Änderungen vor einem Commit), bei Code-Reviews (Pull Requests auf GitHub zeigen ein Diff), beim Vergleich rechtlicher Dokumente (Verträge, Nutzungsbedingungen zwischen Versionen), im Journalismus (Vergleich von Pressemitteilungs-Versionen) und beim Debugging (Vergleich erwarteter mit tatsächlicher Ausgabe in Tests). Außerdem wird es in Software-Patches verwendet: .patch-Dateien sind vereinheitlichte Diffs, die git apply auf ein Repository anwenden kann.

LCS (Longest Common Subsequence) ist das Problem, die längste gemeinsame Teilfolge zweier Sequenzen zu finden, ohne Elemente umzuordnen. Beim Text-Diff sind die Sequenzen die Zeilen des Textes. Die LCS repräsentiert die unveränderten Zeilen; alles außerhalb der LCS ist eine Änderung. Der Myers-Diff-Algorithmus (1986) erzielt dabei O(n+d)-Komplexität, wobei d die Anzahl der Unterschiede ist — deutlich effizienter bei ähnlichen Texten.

Wie Text-Diff funktioniert: vom Unix-Befehl bis zu git

Der diff-Befehl wurde 1974 von Doug McIlroy in Unix eingeführt und wurde zu einem grundlegenden Werkzeug im Unix-Ökosystem. Sein ursprünglicher Algorithmus, formalisiert von Hunt und McIlroy im Aufsatz An Algorithm for Differential File Comparison (1975), berechnet die längste gemeinsame Teilfolge (LCS) zwischen zwei Dateien und drückt die Unterschiede als minimale Menge von Einfüge- und Löschoperationen aus. Dieses mathematische Prinzip ist nach wie vor die Grundlage aller modernen Diff-Werkzeuge.

1986 veröffentlichte Eugene Myers einen verbesserten Algorithmus mit O(n+d)-Komplexität, wobei d die Anzahl der Unterschiede ist, was ihn deutlich schneller bei ähnlichen Dateien macht. Dies ist der Algorithmus, den Git intern für git diff, git log -p und Pull-Request-Ansichten auf GitHub und GitLab verwendet. Das vereinheitlichte Diff-Ausgabeformat (mit Zeilen, die mit +, - und Leerzeichen beginnen) ist zum universellen Standard für den Austausch von Patches zwischen Softwareprojekten geworden.

Über Code hinaus findet Diff Anwendung im Datenjournalismus, in der Rechtspraxis (Erkennung von Änderungen zwischen Vertragsversionen) und in der Wissenschaft. Convertir.ai implementiert den Myers-Diff-Algorithmus vollständig im Browser, mit Zeilen- und Zeichenebenen-Visualisierung, ohne Texte an einen Server zu senden. Das ist besonders relevant beim Vergleich vertraulicher Dokumente wie Verträge, proprietärer Code oder sensibler Daten.