PK Systems PK Systems
Text-Tools

Text-Diff

Vergleichen Sie zwei Texte und sehen Sie, was sich geändert hat. Zeilen- oder Wort-Granularität, Live-Vorschau, läuft komplett im Browser.

Text-Diff

Unterschied


    

Was ist ein Text-Diff?

Ein Diff (kurz für Differenz) ist ein Side-by-Side-Bericht darüber, was sich zwischen zwei Texten geändert hat. Klassisch im Versionskontrollkontext — Git, SVN und Co. nutzen Diffs, um die Änderungen jedes Commits zu zeigen — aber dieselbe Idee ist auch beim Lektorat, beim Vergleich von Verträgen, beim Aufspüren kleiner Änderungen in Konfigurationsdateien oder beim Prüfen, ob ein Dokument einen Copy-Paste-Roundtrip unbeschadet überstanden hat, nützlich. Dieses Tool berechnet das Diff über einen Longest-Common-Subsequence-Algorithmus — dieselbe Familie von Techniken, die git diff antreibt.

So nutzen Sie das Tool

Fügen Sie die Originalversion in A und die geänderte Version in B ein. Das Diff erscheint live darunter: grüne Zeilen (oder Wörter) sind Hinzufügungen in B, rote sind Löschungen aus A, einfache Zeilen sind unverändert. Wechseln Sie zwischen Zeilen- und Wort-Granularität, je nachdem was Sie sehen wollen — Zeilen-Diffs eignen sich am besten für Code oder strukturierte Texte, Wort-Diffs sind bei Prosa lesbarer, wo kleine Wortänderungen zählen. Statistiken oberhalb der Ausgabe zeigen die Anzahl hinzugefügter, entfernter und unveränderter Tokens.

Wann Zeilen- vs. Wort-Diff?

Zeilen-Diff ist der richtige Standard für Code, JSON, CSV, Logdateien und alles, wo die Struktur auf Zeilenebene lebt. Eine einzelne Zeichenänderung erscheint als entfernte und hinzugefügte Zeile — leicht zu scannen und entspricht dem, was Versionskontrolltools tun. Wort-Diff glänzt bei Prosa: Es hebt die tatsächlich geänderten Wörter innerhalb eines Absatzes hervor, sodass Sie Änderungen sehen, ohne den ganzen Text neu zu lesen. Vermeiden Sie Wort-Diff bei sehr langen Dokumenten — die LCS-Berechnung wird quadratisch und fühlt sich oberhalb einiger tausend Wörter langsam an.

Häufig gestellte Fragen

Wird mein Text irgendwohin hochgeladen?
Nein. Das gesamte Diff wird in Ihrem Browser berechnet. Mit DevTools > Netzwerk können Sie es bestätigen — beim Einfügen werden keine Anfragen ausgelöst. Damit ist das Tool sicher für Diffs privater oder sensibler Inhalte wie Verträgen, Code oder Konfig-Dateien.
Wie funktioniert der Diff-Algorithmus?
Er baut eine Longest-Common-Subsequence-Tabelle (LCS) zwischen den tokenisierten Eingaben auf, läuft die Tabelle dann rückwärts ab und produziert ein Edit-Skript — dieselbe Technik, die Hunt-McIlroy einführten und die der klassische diff verwendet. Bei sehr großen Eingaben (über ~2.000 Tokens pro Seite) fällt das Tool auf einen einfachen Position-für-Position-Vergleich zurück, der schneller, aber suboptimal ist.
Warum sieht das Ergebnis manchmal seltsam aus?
LCS wählt die längste gemeinsame Teilsequenz, was mathematisch optimal ist, aber bei vielen kurzen wiederholten Tokens (viele Leerzeilen, wiederholte Wörter) visuell überraschende Ergebnisse erzeugen kann. Wechseln Sie bei seltsamen Gruppierungen die Granularität — Zeilen-Diff und Wort-Diff lösen Gleichstände manchmal anders auf, und einer wird Ihrer Erwartung näher kommen.
Was ist mit Leerzeichen?
Whitespace ist signifikant. Trailing-Spaces, Einrückungsänderungen und CRLF- vs. LF-Zeilenumbrüche tauchen alle als Unterschiede auf. Wenn Sie nur echte Änderungen sehen wollen, normalisieren Sie beide Texte (Trailing-Whitespace abschneiden, Tabs/Spaces vereinheitlichen, Zeilenumbrüche angleichen), bevor Sie sie einfügen.
Kann ich das Diff exportieren?
Noch nicht als Unified-Diff-Patch — dieses Tool fokussiert sich auf den visuellen Side-by-Side-Vergleich. Für einen Patch im Unified-Format führen Sie diff -u a.txt b.txt auf der Kommandozeile aus oder verwenden git diff --no-index a.txt b.txt für reichere Ausgabe wie auf GitHub.
Warum werden Zeilenumbrüche manchmal als Änderungen markiert?
Verschiedene Betriebssysteme nutzen unterschiedliche Zeilenumbruch-Konventionen: Windows verwendet traditionell \r\n (CRLF), Unix und macOS \n (LF). Wenn Text zwischen Systemen kopiert wird, können sich Zeilenumbrüche mischen, und das Diff behandelt line\r und line als unterschiedlich. Lassen Sie den Text durch ein Tool wie dos2unix laufen oder fügen Sie ihn über einen Klartext-Editor ein, der Zeilenumbrüche normalisiert, bevor Sie vergleichen.