Text vergleichen
Sehen Sie genau, was sich zwischen zwei Versionen geändert hat.
- Komplett kostenlosKein Konto, kein Tageslimit, keine Bezahlstufe.
- Nichts wird hochgeladenDateien werden auf deinem Gerät verarbeitet und erreichen keinen Server.
- Kein Haken am ErgebnisKein Wasserzeichen, keine erzwungene Verkleinerung, keine Größengrenze.
- Änderungen offen dokumentiertJede Korrektur und jedes neue Werkzeug steht im Änderungsprotokoll.
Was dieses Werkzeug tut
Fügen Sie links die eine und rechts die andere Fassung ein – welche Seite welche ist, bestimmen Sie – oder legen Sie eine Datei auf eines der Felder, und die Unterschiede erscheinen an der Stelle der Felder: entfernte Zeilen links rot hinterlegt, hinzugefügte Zeilen rechts grün, und in einer geänderten Zeile sind genau die Wörter markiert, die sich unterscheiden. Der Zeilenvergleich arbeitet wie git: Zeilen, die auf beiden Seiten nur einmal vorkommen, verankern die beiden Fassungen, und der Myers-Algorithmus füllt die Lücken. Ein Protokoll mit 100 000 Zeilen und ein paar Änderungen ist so auf Ihrem eigenen Gerät in einem Sekundenbruchteil verglichen.
Zwei Ansichten, drei Genauigkeiten. „Nebeneinander“ stellt die Fassungen in zwei Spalten mit eigenen Zeilennummern dar; „Vereint“ ist das einspaltige Format von git und Code-Review-Werkzeugen mit den Präfixen − und +. Die Genauigkeit bestimmt, wie eine geänderte Zeile hervorgehoben wird: „Zeile“ markiert die ganze Zeile, „Wort“ die abweichenden Wörter (Standard), „Zeichen“ einzelne Zeichen – richtig für Hashes, Bezeichner und Zahlen. Nichts verlässt Ihren Browser: kein Upload, kein gespeicherter Link, kein Konto.
So verwenden Sie es
Tippen oder fügen Sie in die beiden Felder ein oder klicken Sie auf einer Seite auf „Datei wählen“; der Dateiname erscheint dann im Kopf dieser Seite und im Kopf des Diffs, sodass Sie sich nicht merken müssen, welche Datei wohin kam. Das Ergebnis ersetzt die Felder; „Bearbeiten“ holt sie zurück, und ein Doppelklick auf eine Zeile im Ergebnis springt direkt zu dieser Zeile zum Bearbeiten. „Tauschen“ vertauscht beide Seiten, „Beispiel laden“ füllt beide mit einer kurzen Konfiguration, damit Sie sehen, wie ein Ergebnis aussieht. Die Leiste unter den Feldern enthält die Schalter: „Groß-/Kleinschreibung ignorieren“ behandelt A und a gleich; „Leerraum ignorieren“ fasst Folgen von Leerzeichen und Tabulatoren zusammen und ignoriert Leerraum am Zeilenanfang und -ende – das Richtige für neu formatierten Code; „Nur Änderungen“ faltet Folgen identischer Zeilen auf drei Kontextzeilen je Seite zusammen, mit einem Balken, der sie per Klick wieder ausklappt.
Die Zeile über dem Ergebnis zählt hinzugefügte und entfernte Zeilen sowie die Zahl der Änderungsblöcke. ‹ › springen von Block zu Block – n und p tun dasselbe über die Tastatur, wenn das Ergebnis den Fokus hat –, und der angesprungene Block bekommt eine gelbe Markierung in der Zeilennummernspalte. „Diff kopieren“ legt ein Standard-Unified-Diff in die Zwischenablage; „.diff herunterladen“ speichert denselben Text als Datei, die git apply oder patch verarbeiten können. Texte mit insgesamt mehr als 2 MB wechseln zu einer Schaltfläche „Vergleichen“, statt bei jedem Tastendruck neu zu rechnen.
Welche Dateien sich vergleichen lassen
Alles, was im Kern Text ist. Dokumente und Notizen: .txt, .md, .rtf als Klartext sowie Untertitel in .srt oder .vtt. Datenexporte: zwei JSON-Dateien, zwei CSV- oder TSV-Dateien, XML und YAML – der schnellste Weg, um zu sehen, was sich zwischen zwei API-Antworten oder zwei Datenbank-Dumps geändert hat. Konfiguration: .ini, .toml, .env, .properties, .conf, ein Dockerfile, eine nginx- oder Apache-Konfiguration, damit die Einstellung, die das Deployment gebrochen hat, sofort auffällt. Quellcode in jeder Sprache: .js, .ts, .py, .go, .java, .c, .cpp, .rs, .php, .sql, .sh sowie .html und .css. Patches und Protokolle: .diff, .patch, .log. Word, PDF und Excel sind kein Text – ihr Inhalt steckt in einem binären Container – und werden hier deshalb abgewiesen statt als Zeichensalat angezeigt; exportieren Sie sie zuerst als Klartext oder CSV.
Was Sie wissen sollten
Ein Diff ist eine Entscheidung, keine Tatsache: Lässt sich ein Zeilenblock als verschoben oder als gelöscht und neu eingefügt erklären, wählt jeder Algorithmus eine Lesart, und zwei Werkzeuge können dieselbe Änderung unterschiedlich zeigen. Dieses Werkzeug bevorzugt die Lesart, die eindeutige Zeilen ausgerichtet hält – das, was man von git erwartet. „Leerraum ignorieren“ vergleicht die Zeilen mit zusammengefasstem Leerraum, zeigt im Ergebnis aber die ursprünglichen Abstände. Sehr lange Einzelzeilen – ein minifiziertes JavaScript-Bundle, ein JSON-Export in einer Zeile – werden ab 4000 Zeichen als ganze Zeilen verglichen, denn der Wortvergleich einer 200-KB-Zeile ergibt nichts Lesbares. Die Ergebnistabelle zeigt bis zu 8000 Zeilen; darüber hinaus helfen „Nur Änderungen“ oder der Download des .diff, das immer vollständig ist. Dateien werden vor dem Laden geprüft: Alles mit Binärinhalt oder über 20 MB wird mit einer Meldung abgewiesen, statt als Zeichensalat dargestellt zu werden.
Hintergrund: Woher diff kommt
Das Programm diff erschien 1974 mit Unix, geschrieben von Douglas McIlroy und James Hunt, und sein Ausgabeformat – Zeilen mit den Präfixen < und > – ist bis heute das, was der Befehl diff ausgibt. Das Unified-Format mit den Präfixen − und + und @@-Blockköpfen führte Wayne Davison 1990 ein; GNU diff übernahm es, und es wurde zur Sprache der Patches: git show, Pull Requests auf GitHub und jedes Code-Review-Werkzeug zeigen es an. Eugene Myers veröffentlichte 1986 den O(ND)-Differenzalgorithmus; er findet das kürzeste Editierskript und ist der Kern von GNU diff, git und den meisten Editoren. Bram Cohen beschrieb um 2004 die Patience-Variante – an Zeilen verankern, die auf jeder Seite genau einmal vorkommen, dann die Lücken vergleichen –, weil sie auf echtem Code besser lesbare Ergebnisse liefert. Dieses Werkzeug nutzt Patience-Anker mit Myers in den Lücken und schreibt zum Kopieren und Herunterladen das Unified-Format.
Wo es eingesetzt wird
Prüfen, was ein Kollege in einem Vertrag oder einer Richtlinie geändert hat, bevor man freigibt; zwei Exporte einer Konfiguration vergleichen, um die Einstellung zu finden, die das Deployment gebrochen hat; zwei Protokolle eines erfolgreichen und eines fehlgeschlagenen Laufs gegenüberstellen; eine generierte Datei mit der Vorversion abgleichen; nachsehen, ob eine Übersetzung jede Zeile des Originals behalten hat. Wer Zählungen statt Unterschiede braucht: Der Wortzähler liefert Wörter, Zeichen und Lesezeit; Texte, die sich nur in der Schrift unterscheiden, gleicht der Chinesisch-Konverter vor dem Vergleich zwischen Kurz- und Langzeichen an. Ein hier heruntergeladenes .diff lässt sich auf jedem System mit git apply oder patch anwenden.
Häufig gestellte Fragen
Wird mein Text irgendwohin hochgeladen?
Nein. Der Vergleich läuft in Ihrem Browser; nichts wird gesendet, gespeichert oder verlinkt. Tab schließen, und es ist weg.
Was macht „Leerraum ignorieren“ genau?
Folgen von Leerzeichen und Tabulatoren zählen beim Vergleich als ein Leerzeichen, Leerraum am Zeilenanfang und -ende entfällt. Das Ergebnis zeigt weiterhin die ursprünglichen Abstände. Reine Einrückungsänderungen verschwinden aus dem Diff.
Kann ich zwei Dateien vergleichen, statt einzufügen?
Ja. Klicken Sie auf jeder Seite auf „Datei wählen“ oder legen Sie eine Datei auf das Feld. Jede Textdatei geht – .txt, .md, .json, .csv, .log, Quellcode. Binärdateien und Dateien über 20 MB werden abgewiesen.
Welche Dateitypen kann ich vergleichen?
Jede Textdatei: .txt, .md, .json, .csv, .xml, .yaml, .ini, .env, .log, .diff und Quellcode in jeder Sprache. Word, PDF und Excel sind binäre Container und werden abgewiesen – exportieren Sie sie zuerst als Klartext oder CSV.
Was ist das .diff, das ich herunterladen kann?
Ein Standard-Unified-Diff, das Format von git und patch. git apply aenderungen.diff auf der Originaldatei ergibt die geänderte Fassung.
Warum verschiebt sich die Hervorhebung beim Wechsel auf „Zeichen“?
Die Genauigkeit „Wort“ markiert ganze Wörter; „Zeichen“ markiert die einzelnen abweichenden Zeichen. Bei einem geänderten Bezeichner oder Hash ist die Zeichenansicht enger; bei Fließtext liest sich die Wortansicht leichter.