Diff Checker

Diff Checker

Vergleiche zwei Texte oder Code mit Hervorhebung auf Zeilen- und Wortebene. Nebeneinander oder Unified, Whitespace ignorieren, Groß-/Kleinschreibung ignorieren — komplett im Browser.

Nein. Das gesamte Tool ist JavaScript, das in dieser Seite läuft. Der Diff-Algorithmus (Longest Common Subsequence) läuft auf deiner CPU und das Ergebnis wird direkt ins DOM gerendert. Öffne DevTools → Network und beobachte — während des Diffs werden keine Anfragen gesendet. Sicher zum Einfügen von internem Code, Kundendaten, Vertragsentwürfen oder allem anderen, was ein Servertool nicht protokollieren soll.

Zuerst werden beide Eingaben in Zeilen aufgeteilt und ein LCS-Algorithmus (Longest Common Subsequence) ausgeführt. Zeilen, die auf beiden Seiten übereinstimmen, werden als gleich markiert. Nicht übereinstimmende Zeilen werden zu „Change“-Zeilen gepaart, wenn ein Insert direkt neben einem Delete steht. Für jedes solche Paar läuft ein zweiter LCS auf den Wörtern der Zeile (geteilt am Whitespace), sodass nur die tatsächlich bearbeiteten Wörter rot/grün leuchten — nicht die ganze Zeile.

Warum iKit Diff Checker

Eine schlanke, schnelle Spielwiese für Text-Diffs ohne Werbung, Pop-ups oder Drittanbieter-Tracker — gebaut für Entwickler, Autoren und alle, die schnell sehen wollen, was sich geändert hat.

Side-by-Side- + Unified-Ansicht

Wechsle mit einem Klick zwischen Split (zwei Spalten, klassisches IDE-Gefühl) und Unified (eine Spalte mit +/− Markierungen). Beide Ansichten zeigen Zeilennummern und heben jede Änderung inline hervor.

Hervorhebung auf Wortebene

Wenn sich zwei Zeilen ändern, läuft ein zweiter Diff auf Wortebene, sodass nur die tatsächlichen Unterschiede leuchten — nicht die ganze Zeile. So erkennst du einen einzelnen Tippfehler in einer 200-Zeichen-Zeile leichter.

Whitespace + Groß-/Kleinschreibung ignorieren

Schalte Whitespace- und Groß-/Kleinschreibungssensitivität um, um kosmetische Änderungen (neu formatierte Einrückung, geänderte Großschreibung) auszublenden und dich auf echte Bearbeitungen zu konzentrieren.

Privatsphäre by Design

Beide Texte bleiben in deinem Browser-Tab. Der Diff-Algorithmus läuft lokal in JavaScript. Überprüfbar in den DevTools → Network: keine einzige Anfrage während der Eingabe.

Statistiken + Kopieren

Sieh auf einen Blick, wie viele Zeilen hinzugefügt, entfernt und geändert wurden. Ein Klick kopiert den Diff in die Zwischenablage, um ihn in ein Code-Review oder eine Commit-Nachricht einzufügen.

Funktioniert offline

Nach dem Laden der Seite wird jedes Byte lokal berechnet. Funktioniert im Flugzeug, hinter einer Unternehmens-Firewall oder ganz ohne Netzwerk — nützlich für vertrauliche Code-Reviews.

Wie ein Diff Checker tatsächlich funktioniert

Die Mathematik dahinter ist älter als das Web — ein Algorithmus aus dem Jahr 1965 namens LCS, plus eine Verfeinerung von Eugene Myers aus dem Jahr 1986.

  1. 1

    In Zeilen aufteilen

    Beide Eingaben werden an \n (oder \r\n) zerlegt. Jede Zeile wird zu einem Token. Wir vergleichen Tokens — nicht Zeichen — weil die meisten Änderungen in echtem Code oder Dokumenten ganze Zeilen hinzufügen, entfernen oder ändern.

  2. 2

    Den LCS berechnen

    Die Longest Common Subsequence ist die größte Menge an Zeilen, die in beiden Eingaben in derselben Reihenfolge vorkommen. Wir füllen eine DP-Tabelle von unten rechts nach oben; jede Zelle enthält die LCS-Länge ab dieser Position bis zum Ende. Das benötigt O(m × n) Zeit und Speicher.

  3. 3

    Zurücklaufen, um Operationen abzuleiten

    Beginnend oben links in der Tabelle laufen wir vorwärts: Stimmen die beiden aktuellen Zeilen überein, geben wir equal aus; andernfalls wählen wir die Richtung (rechts oder unten), die die LCS-Länge erhält, und geben delete oder insert aus. Das Ergebnis ist eine Folge von Operationen, die das Original in die geänderte Version überführt.

  4. 4

    Wort-Diff innerhalb geänderter Paare

    Folgt auf ein Delete ein Insert, paaren wir sie zu einer change-Zeile. Um nur die abweichenden Teile innerhalb der Zeile hervorzuheben, führen wir denselben LCS-Algorithmus ein zweites Mal auf den Wörtern beider Seiten aus, getrennt an Whitespace-Grenzen.

Typische Diff-Aufgaben

Echte Situationen, in denen du zu einem Diff Checker greifst.

Einen PR vor dem Kommentieren prüfen

Die Diff-Ansicht von GitHub ist großartig, aber manchmal willst du nur die inhaltlichen Änderungen sehen, ohne Formatter-Rauschen. Füge beide Versionen ein, aktiviere „Whitespace ignorieren“, und die kosmetischen Reformatierungen verschwinden — übrig bleiben nur die Logik-Änderungen.

Zwei Vertragsentwürfe vergleichen

Juristen und Operations-Teams müssen oft wissen, was sich zwischen v1 und v2 eines Vertrags geändert hat. Beide einfügen, einen farbigen Diff mit Hervorhebung auf Wortebene erhalten — kein Word, keine Änderungsverfolgung, kein Hochladen vertraulicher Bedingungen auf einen Drittanbieter-Server.

Prüfen, was eine Skript-Bearbeitung wirklich getan hat

Ein sed/awk/Python-regex über eine Konfigurationsdatei laufen lassen? Füge das Original und das Ergebnis hier ein, um zu bestätigen, dass das Skript nur das Erwartete bearbeitet hat. Die Hervorhebung auf Zeichenebene findet versehentliche Änderungen, die ein schneller Blick übersieht.

Einen Tippfehler in übersetztem Text finden

Übersetzungspaar (Original vs. Übersetzung oder zwei Übersetzungen derselben Quelle) — der Wort-Diff macht es trivial, ein fehlendes Wort, eine doppelte Phrase oder einen vertauschten Satzzeichen zu finden, den Korrektoren übersehen haben.

Warum lokales Diffen wichtig ist

Texte, die du vergleichst, sind meist privat: Code aus internen Repos, Vertragsentwürfe, Kundendaten-Exporte oder noch nicht veröffentlichte Produkttexte. Wenn du sie in den Server eines Fremden einfügst, entsteht eine Spur, die du nicht kontrollierst. Der Diff Checker von iKit ist JavaScript, das bereits in deinem Browser-Tab geladen ist — der Vergleich läuft auf deiner CPU und berührt nie einen Netzwerk-Socket.

  • Null Netzwerk-Anfragen während des Diffs — überprüfbar in DevTools → Network.
  • Eingaben bleiben im Browser-Speicher; werden mit „Leeren“ oder beim Seiten-Reload entfernt.
  • Sicher für internen Code, NDA-geschützte Dokumente, Support-Transkripte und alles, was Datenresidenz-Richtlinien unterliegt.

Verwandte Anleitungen

Ausführliche Tutorials und Tool-Vergleiche aus dem iKit-Blog.

Häufig gestellte Fragen

Ist das sicher? Werden meine Texte hochgeladen?

Nein. Das gesamte Tool ist JavaScript, das in dieser Seite läuft. Der Diff-Algorithmus (Longest Common Subsequence) läuft auf deiner CPU und das Ergebnis wird direkt ins DOM gerendert. Öffne DevTools → Network und beobachte — während des Diffs werden keine Anfragen gesendet. Sicher zum Einfügen von internem Code, Kundendaten, Vertragsentwürfen oder allem anderen, was ein Servertool nicht protokollieren soll.

Wie funktioniert die Hervorhebung auf Zeilen- und Wortebene?

Zuerst werden beide Eingaben in Zeilen aufgeteilt und ein LCS-Algorithmus (Longest Common Subsequence) ausgeführt. Zeilen, die auf beiden Seiten übereinstimmen, werden als gleich markiert. Nicht übereinstimmende Zeilen werden zu „Change“-Zeilen gepaart, wenn ein Insert direkt neben einem Delete steht. Für jedes solche Paar läuft ein zweiter LCS auf den Wörtern der Zeile (geteilt am Whitespace), sodass nur die tatsächlich bearbeiteten Wörter rot/grün leuchten — nicht die ganze Zeile.

Was ist der Unterschied zwischen Split- und Unified-Ansicht?

Die Split-Ansicht zeigt die beiden Texte nebeneinander mit gepaarten Zeilennummern — näher an der Diff-Darstellung in IDEs (VS Code, JetBrains). Die Unified-Ansicht zeigt eine Spalte mit +/−-Präfixzeilen — näher an dem, was `git diff` ausgibt. Wähle, was zu deinem Workflow passt; beide zeigen dieselben Daten.

Warum hilft „Whitespace ignorieren“?

Code-Reformatierung (Prettier ausführen, Tabs/Leerzeichen umstellen, Zeilenenden normalisieren) erzeugt visuelles Rauschen, das die echten Änderungen überdeckt. Mit „Whitespace ignorieren“ werden Folgen aus Leerzeichen/Tabs zu einem einzelnen Leerzeichen zusammengefasst und Zeilenränder vor dem Diff getrimmt — so siehst du nur die bedeutsamen Änderungen, nicht die kosmetischen.

Wie groß darf die Eingabe für einen Diff im Browser sein?

Der LCS-Algorithmus benötigt `O(m × n)` Speicher, wobei m und n die Zeilenanzahl auf jeder Seite sind. iKit begrenzt den Vergleich auf ca. 4 Millionen Zellen (≈16 MB), was bequem für einige tausend Zeilen gegen einige tausend Zeilen reicht. Für größere Diffs (komplette Datenbank-Dumps, vollständige Log-Dateien) nutze ein CLI-Tool wie `diff` oder `git diff --no-index` — diese verwenden einen klügeren Algorithmus (Myers-Diff), der auf Millionen Zeilen skaliert.