Zum Inhalt springen

Textvergleich (Diff)

Vergleicht zwei Texte nach Zeile, Wort oder Zeichen, markiert Änderungen. Leerzeichen, Groß-/Kleinschreibung ausblendbar; breit nebeneinander mit Zeilennummern.

Vergleichseinheit

Die beiden Texte sind identisch.

Zusammengefasst

Deine Eingaben werden nur in diesem Browser verarbeitet und nie an einen Server gesendet. So funktioniert es

Zwei Dokumente im Vergleich: entfernte Zeilen rot mit Minuszeichen, hinzugefügte Zeilen grün mit Pluszeichen

Verwendung

Die alte Fassung kommt in „Ursprünglicher Text“, die neue in „Geänderter Text“. Unter „Vergleichseinheit“ wählst du „Zeile“, „Wort“ oder „Zeichen“. In dieser Einheit zählt die Zusammenfassung, zum Beispiel „2 Zeilen hinzugefügt“, „1 Zeile entfernt“, „2 Zeilen unverändert“, und darunter folgt der markierte Text. Unterscheiden sich die beiden Fassungen nicht, steht an der Stelle der Zusammenfassung „Die beiden Texte sind identisch.“

„Leerzeichen ignorieren“ und „Groß-/Kleinschreibung ignorieren“ blenden Unterschiede aus, die nur die Form betreffen. „Beide leeren“ löscht beide Eingabefelder auf einmal.

Vergleichseinheit: Zeile, Wort oder Zeichen

  • Zeile: Ändert sich in einer Zeile auch nur ein Zeichen, wird die ganze Zeile als entfernt und die neue als hinzugefügt markiert. Das passt zu Code, Konfigurationsdateien und Listen, bei denen jede Zeile ein Eintrag ist.
  • Wort: Markiert über Zeilengrenzen hinweg nur die geänderten Wörter. Lateinische Buchstaben, Ziffern und koreanische Schrift, die zusammenhängen, bilden ein Wort. Chinesische Schriftzeichen und japanische Silbenschrift, die ohne Leerzeichen geschrieben werden, teilt die Worttrennung des Browsers in Wörter auf. In Browsern ohne diese Funktion werden koreanische Schrift, chinesische Schriftzeichen und japanische Silbenschrift Zeichen für Zeichen betrachtet. Leerzeichen und Satzzeichen sind jeweils eigene Einheiten.
  • Zeichen: Vergleicht jedes Zeichen einzeln. Damit findest du Tippfehler, ein geändertes Satzzeichen oder ein einzelnes Leerzeichen.

Dieselbe Änderung ergibt je nach Einheit andere Zahlen. Hier wird aus „The quick brown fox jumps“ der Satz „The quick red fox leaps“:

Vergleichseinheit Hinzugefügt Entfernt Unverändert
Zeile 1 Zeile 1 Zeile 0 Zeilen
Wort 2 Wörter 2 Wörter 7 Wörter
Zeichen 5 Zeichen 7 Zeichen 18 Zeichen

Die 7 unveränderten Wörter bei „Wort“ sind die drei Wörter The, quick und fox plus die vier Leerzeichen dazwischen. Mit „Leerzeichen ignorieren“ werden Leerzeichen nicht mitgezählt, dann sind es 3 unveränderte Wörter. Bei „Zeichen“ gilt auch ein Buchstabe als unverändert, der nur zufällig in beiden Wörtern steckt, etwa das r in brown und red. Wurden ganze Wörter ausgetauscht, zerfällt die Markierung deshalb in kleine Stücke und ist schwer zu lesen.

Wortänderungen erkennen: Am besten liest sich auf einem breiten Bildschirm die Einheit „Zeile“ in der Ansicht „Nebeneinander“. Geänderte Zeilen werden dort zu Paaren geordnet, und innerhalb jedes Paars sind die abweichenden Wörter, getrennt an den Leerzeichen, noch einmal kräftiger hinterlegt. Wird aus „the quick brown fox jumps“ „the quick red fox jumps“, sind nur „brown“ und „red“ kräftig markiert. Die Einheit „Wort“ vergleicht ebenfalls Wort für Wort statt Zeichen für Zeichen, zeigt den Text aber fortlaufend an, ohne Zeilennummern und ohne gleiche Zeilen auf dieselbe Höhe zu setzen.

Leerzeichen ignorieren und Groß-/Kleinschreibung ignorieren

Was „Leerzeichen ignorieren“ tatsächlich übergeht, hängt von der Vergleichseinheit ab.

Vergleichseinheit Wird ignoriert Wird weiterhin angezeigt
Zeile Leerzeichen am Anfang und Ende der Zeile Die Zahl der Leerzeichen in der Zeilenmitte (a b und a b sind verschiedene Zeilen)
Wort Zahl und Art der Leerzeichen zwischen Wörtern (a lot und a lot gelten als gleich) Zusammen- und Getrenntschreibung (alot und a lot gelten als verschieden)
Zeichen Die Art des Leerraums (Tab und Leerzeichen gelten als gleich) Die Zahl der Leerzeichen (a b und a b: 1 Zeichen entfernt)

Code, bei dem sich nur die Einrückung geändert hat, filterst du mit der Einheit „Zeile“ und dieser Option heraus. Bei einem Manuskript, in dem sich nur die Zahl der Leerzeichen oder die Position der Zeilenumbrüche geändert hat und du nur die inhaltlichen Änderungen sehen willst, nimmst du sie zusammen mit „Wort“.

„Groß-/Kleinschreibung ignorieren“ behandelt Hello und hello in allen drei Einheiten als gleich. Beide Optionen lassen sich kombinieren.

Das Ergebnis lesen

Auf einem breiten Bildschirm erscheint die Ansicht „Nebeneinander“, auf einem schmalen „Zusammengefasst“. Das entscheidet allein die Bildschirmbreite, einen Schalter dafür gibt es nicht. Beide Ansichten zeigen denselben Vergleich, nur anders angeordnet.

  • Nebeneinander: Links steht „Ursprünglicher Text“, rechts „Geänderter Text“. Bei der Einheit „Zeile“ kommen Zeilennummern dazu, und zusammengehörende Zeilen stehen auf gleicher Höhe. Gibt es eine Zeile nur auf einer Seite, bleibt gegenüber ein graues leeres Feld.
  • Zusammengefasst: Beide Fassungen sind zu einem Text verschmolzen, in dem Entferntes und Hinzugefügtes in der Reihenfolge des Textes aufeinander folgen.

Bei der Einheit „Zeile“ steht vor entfernten Zeilen ein − und vor hinzugefügten ein +, dazu wechselt die Hintergrundfarbe. Bei „Wort“ und „Zeichen“ ist Entferntes durchgestrichen und rot hinterlegt, Hinzugefügtes unterstrichen und grün hinterlegt. Weil zur Farbe immer ein Zeichen oder eine Linie kommt, bleibt das Ergebnis auch lesbar, wenn du Rot und Grün schlecht unterscheiden kannst.

Der Kopieren-Button neben der Zusammenfassung kopiert das Ergebnis als Text mit Markierungszeichen. Bei „Zeile“ beginnt jede Zeile mit + (hinzugefügt), - (entfernt) oder einem Leerzeichen (unverändert). Bei „Wort“ und „Zeichen“ wird Hinzugefügtes in {+ +} und Entferntes in [- -] eingeschlossen. Wird aus „the quick brown fox“ der Satz „the slow brown fox“, kopierst du in der Einheit „Wort“ the [-quick-]{+slow+} brown fox.

Lange Texte und stark abweichende Texte

Haben beide Eingaben zusammen mehr als 200.000 Zeichen, erscheint der Hinweis „Große Eingabe: Der Vergleich kann etwas dauern.“ Verglichen wird trotzdem ganz normal.

Stärker als die Länge wirkt sich aus, wie weit die beiden Texte auseinanderliegen. Überschreiten Hinzugefügtes und Entferntes zusammen 4.000 Einheiten der gewählten Vergleichseinheit oder dauert die Berechnung länger als 1,5 Sekunden, bricht die Suche nach den geänderten Stellen ab. Dann wird der gesamte ursprüngliche Text als entfernt und der gesamte geänderte als hinzugefügt angezeigt, zusammen mit dem Hinweis „Die Eingabe war zu groß oder zu unterschiedlich, daher wurde der detaillierte Vergleich übersprungen und der ganze Text als ersetzt angezeigt.“ Ein langer, komplett neu geschriebener Text stößt mit der Einheit „Zeichen“ schnell an diese Grenze. Wechsle dann auf „Zeile“ oder vergleiche den Text in Teilen.

Häufige Fragen

Beide Texte sehen gleich aus, trotzdem steht da „1 Zeile entfernt“. Warum?

Dann endet nur einer der beiden Texte mit einem Zeilenumbruch. Was nach dem letzten Umbruch kommt, zählt als eine leere Zeile, und genau die wird als entfernt oder hinzugefügt gemeldet. Setze den Cursor ans Ende des Eingabefelds und lösche den übrig gebliebenen Umbruch, dann erscheint „Die beiden Texte sind identisch.“ Stehen „1 Zeile hinzugefügt“ und „1 Zeile entfernt“ zusammen da, hängt möglicherweise an einem Zeilenende ein Leerzeichen. Diesen Unterschied blendet „Leerzeichen ignorieren“ aus.

Ich habe nur Absätze umgestellt, angezeigt werden aber Löschungen und Einfügungen. Erkennt das Tool Verschiebungen?

Nein. Verschobener Inhalt wird nicht als Verschiebung erkannt, sondern an der alten Stelle als entfernt und an der neuen als hinzugefügt angezeigt. Werden aus den drei Zeilen a, b, c die Zeilen b, c, a, lautet die Zusammenfassung „1 Zeile hinzugefügt, 1 Zeile entfernt, 2 Zeilen unverändert“. Ob die entfernte und die hinzugefügte Zeile denselben Inhalt haben, musst du selbst gegenlesen.

Verwendete Open-Source-Software: jsdiff (BSD-3-Clause)

Zuletzt aktualisiert: