Diff-Checker
Fügen Sie zwei Textblöcke, Code oder Konfigurationen nebeneinander ein und sehen Sie sofort, was hinzugefügt, entfernt oder unverändert gelassen wurde. Der Vergleich läuft vollständig in Ihrem Browser, daher wird nichts, was Sie einfügen, je hochgeladen.
- Dateien verlassen niemals Ihr Gerät
- Kostenlos, keine Anmeldung
- Keine Wasserzeichen
- Funktioniert nach dem Laden auch offline
So verwenden Sie Diff-Checker
- 1
Beide Versionen einfügen
Fügen Sie den ursprünglichen Text in das linke Feld und die geänderte Version in das rechte Feld ein.
- 2
Vergleichsmodus wählen
Nutzen Sie „Zeilen", um Zeile für Zeile zu vergleichen — das übliche Verhalten für Code und Konfigurationsdateien —, oder wechseln Sie zu „Wörter", um genau zu sehen, welche Wörter sich innerhalb ähnlicher Zeilen geändert haben.
- 3
Das hervorgehobene Diff lesen
Hinzugefügter Inhalt ist grün hervorgehoben, entfernter Inhalt rot, und alles Unveränderte bleibt schlicht. Kopieren Sie das Ergebnis als reinen Text-Diff, wenn Sie es teilen möchten.
Wie ein Zeilen-Diff entscheidet, was als „gleich" zählt
Unter der Oberfläche der Hervorhebung löst ein Diff-Tool ein konkretes Zuordnungsproblem: Gegeben zwei Listen von Zeilen, finde die längste Folge von Zeilen, die in derselben relativen Reihenfolge in beiden Dokumenten vorkommt — alles in dieser gemeinsamen Folge bleibt unverändert, und alles andere wird als hinzugefügt oder entfernt markiert. Das ist die Intuition hinter der Idee der „längsten gemeinsamen Teilfolge", auf der jeder allgemeine Diff-Algorithmus aufbaut, einschließlich desjenigen, den Git selbst verwendet. Das erklärt ein Detail, das sonst seltsam wirkt: Einen Textblock vom Ende eines Dokuments an den Anfang zu verschieben wird meist als große Entfernung plus große Hinzufügung gemeldet statt als einzelne „verschoben"-Operation — der Algorithmus sucht nur nach einer gemeinsamen Reihenfolge, und ein verschobener Block bricht diese Reihenfolge sowohl an seiner alten als auch an seiner neuen Position.
Das erklärt auch, warum eine Ein-Zeichen-Änderung an einer langen Zeile im Zeilen-Modus die *gesamte Zeile* als geändert markiert: Der Algorithmus vergleicht ganze Zeilen als unteilbare Einheiten, daher werden „dieselbe Zeile bis auf einen Buchstaben" und „eine komplett andere Zeile" identisch behandelt — beide scheitern an der Gleichheitsprüfung und beide zählen als eine entfernte, eine hinzugefügte Zeile. Genau das ist die Situation, in der der Wechsel zum Wort-Modus hilft, da er dieselbe zugrunde liegende Idee eine Ebene tiefer erneut anwendet und jedes Wort statt jeder Zeile als die zu vergleichende Einheit behandelt.
Wann Wort-Diffing nützlicher ist als Zeilen-Diffing
Der Zeilen-Modus ist die richtige Standardeinstellung für alles, wo eine Zeile für sich eine bedeutungsvolle Einheit ist — Quellcode, JSON-Objekte, CSV-Zeilen, Log-Einträge —, weil in diesen Formaten eine einzelne Zeile meist eine vollständige Idee darstellt, und zu wissen, dass sich eine bestimmte Zeile geändert hat, bereits nützliche Information ist, unabhängig davon, welches Zeichen darin sich bewegt hat. Der Wort-Modus wird nützlicher, sobald die bedeutsame Einheit kleiner als eine Zeile ist: ein Absatz Fließtext, eine Vertragsklausel oder ein Satz in einem langen Dokument, wo die interessante Änderung meist ein einzelnes Wort oder eine Formulierung ist und der umgebende Satz identisch bleibt. Solchen Text Zeile für Zeile zu vergleichen würde den gesamten Absatz für eine Ein-Wort-Änderung als „geändert" markieren, was technisch korrekt ist, aber nichts darüber verrät, was sich tatsächlich geändert hat, bis Sie den ganzen Absatz erneut selbst lesen.
Eine praktische Faustregel: Greifen Sie zuerst zum Zeilen-Modus bei allem Strukturierten oder Zeilenorientierten, und wechseln Sie speziell dann zum Wort-Modus, wenn ein Ergebnis im Zeilen-Modus zwei große, fast identisch aussehende Blöcke aus Rot und Grün zeigt — dieses Muster ist das Signal, dass der eigentliche Unterschied klein ist und in sonst unverändertem Text verborgen liegt.
Häufige praktische Anwendungen jenseits des Vergleichens von Fließtext
Zwei Revisionen von Quellcode vor dem Zusammenführen zu vergleichen ist der Lehrbuchfall, aber dieselbe Technik lässt sich weit über einen Code-Review hinaus anwenden: zwei Exporte einer Konfigurationsdatei zu vergleichen, um genau zu sehen, welche Einstellung sich zwischen einer funktionierenden Bereitstellung und einer kaputten geändert hat, zwei Versionen eines CSV-Exports zu prüfen, um zu bestätigen, dass nur die erwarteten Zeilen berührt wurden, oder einen Vertragsentwurf gegen eine vorherige Revision zu vergleichen, um jede von einer Gegenpartei geänderte Klausel zu finden, ohne das gesamte Dokument erneut Zeile für Zeile zu lesen. In jedem dieser Fälle ist der Nutzen eines Diff-Tools derselbe — es verwandelt „sind diese beiden Dinge unterschiedlich, und wenn ja, wo" von einer manuellen Nebeneinander-Leseübung in eine unmittelbare visuelle Antwort.
Häufig gestellte Fragen
Wird einer der beiden Texte auf einen Server hochgeladen?
Nein. Beide Texte werden vollständig in Ihrem Browser mit JavaScript verglichen — zu keinem Zeitpunkt wird etwas über das Netzwerk gesendet. Sie können sich vom Internet trennen, nachdem die Seite geladen ist, und der Vergleich funktioniert weiterhin, was Sie selbst überprüfen können.
Was genau zählt als „Unterschied"?
Im Modus „Zeilen" werden zwei Zeilen als ganze Einheiten verglichen — ändert sich ein einzelnes Zeichen in einer Zeile, wird die gesamte Zeile als aus dem Original entfernt und in der geänderten Version hinzugefügt markiert. Im Modus „Wörter" wird dieselbe Zeile stattdessen Wort für Wort verglichen, sodass nur das konkret geänderte Wort hervorgehoben wird, während der Rest der Zeile schlicht bleibt. Führende und nachgestellte Leerzeichen, leere Zeilen und Zeilenumbrüche werden in beiden Modi als echter Inhalt behandelt — eine Zeile, die sich nur durch nachgestellte Leerzeichen unterscheidet, wird trotzdem als geändert gemeldet.
Funktioniert das auch für Code, JSON oder Konfigurationsdateien, nicht nur für Fließtext?
Ja — zeilenbasiertes Diffing ist genau die Technik, die Versionskontroll-Tools wie Git verwenden, und sie funktioniert hier auf dieselbe Weise für Quellcode, JSON, YAML, CSV-Zeilen, Log-Dateien oder jedes andere zeilenorientierte Format. Der Wort-Modus ist nützlicher für Fließtext, Verträge oder Dokumentation, wo die bedeutsame Änderung meist eine Formulierung innerhalb eines Satzes ist statt der gesamten Zeile.
Kann es mit großen Dokumenten umgehen?
Ja. Vergleiche bis zu ein paar tausend Zeilen sind praktisch sofort fertig. Das Diff wird bei jedem Tastendruck mit niedrigerer Rendering-Priorität neu berechnet, sodass das Tippen flüssig bleibt, selbst während ein großer Einfügevorgang verglichen wird — bei sehr großen oder sehr unterschiedlichen Dokumenten kann der Vergleich selbst etwas länger dauern, aber die Seite wird nie einfrieren.
Auf welche Zeilen bezieht sich die Angabe „+N hinzugefügt, −M entfernt"?
Sie zählt die Gesamtzahl der hinzugefügten und entfernten Zeilen (oder Wörter, im Wort-Modus) über den gesamten Vergleich hinweg — dieselbe Zahl, die Sie erhalten würden, wenn Sie jede grüne und rote Zeile im Ergebnis selbst zählen. Unveränderte Zeilen werden nicht mitgezählt.
Kann ich das Diff als reinen Text statt der farbigen Ansicht bekommen?
Ja. Der Button „Diff kopieren" kopiert eine reine Textversion mit einem führenden „+", „-" oder Leerzeichen-Marker vor jeder Zeile (dieselbe Konvention, die Git und die meisten Kommandozeilen-Diff-Tools verwenden), sodass Sie sie in eine E-Mail, ein Ticket oder einen Code-Review-Kommentar einfügen können.
Das könnte Sie auch interessieren
Wortzähler
Wörter, Sätze und Lesezeit beim Schreiben zählen
JSON-Formatierer
JSON sofort formatieren, validieren und minifizieren
Duplikat-Zeilen entfernen
Listen deduplizieren, sortieren und bereinigen
Groß-/Kleinschreibung-Konverter
Text zwischen allen Schreibweisen konvertieren
Zeichenzähler
Zeichen gegen Plattform-Limits zählen
Lorem-Ipsum-Generator
Platzhaltertext in Absätzen, Sätzen oder Wörtern