Text vergleichen
Der Diff-Checker ist eine schnelle, client-seitige Vergleichs-Engine für Text, die den Myers-Algorithmus direkt in Ihrem Browser ausführt. Er unterstützt die Granularitätsebenen Zeile, Wort und Zeichen, Unified- und Side-by-Side-Ansichten, Schalter für die Normalisierung von Leerzeichen und Groß-/Kleinschreibung sowie die sofortige Erzeugung eines Unified-Diff-Patches – ganz ohne externe Netzwerkübertragung.
Wie funktioniert Text vergleichen?
Die Text-Diff-Engine von ToolsByUs basiert auf der grundlegenden Arbeit von Eugene W. Myers, „An O(ND) Difference Algorithm and Its Variations“. Der Algorithmus formuliert das Problem, das kürzeste Editierskript (SES) zu berechnen, als Suche nach einem kürzesten Pfad in einem Editiergraphen, der von den Koordinaten (0, 0) bis (N, M) reicht.
Indem der Myers-Diff für jede Editierdistanz D die am weitesten reichenden Pfade entlang der Diagonalen k = x - y verfolgt, findet er die minimale Anzahl von Einfügungen und Löschungen, die nötig ist, um den Ausgangstext in den Zieltext umzuwandeln. Auf Wortebene angewendet, führt die Engine über die geänderten Zeilen zusätzlich einen zweiten Diff aus, um Löschungen und Einfügungen auf Wortebene präzise zu isolieren.
Anders als serverseitige Tools, die Ihre Quelldateien, firmeninternen Konfigurationen oder vertraulichen Logs an eine entfernte Datenbank übertragen, führt ToolsByUs die gesamte Myers-Editiermatrix direkt lokal im Browserspeicher aus.
Beispiel: Original und geänderte Fassung
// Original: const port = 8080; // Modified: const port = 3000;
Beispielausgabe
// Unified Diff: @@ -1,1 +1,1 @@ -const port = 8080; +const port = 3000;
Beispiel: Original und geänderte Fassung → Beispielausgabe
Beispiel: Original und geänderte Fassung
server: host: localhost port: 8080 timeout: 30
Beispiel: Original und geänderte Fassung 2
server: host: 0.0.0.0 port: 8080 timeout: 60 retries: 3
Beispielausgabe
--- a/original +++ b/modified @@ -1,4 +1,5 @@ server: - host: localhost + host: 0.0.0.0 port: 8080 - timeout: 30 + timeout: 60 + retries: 3
Welche Optionen und Sonderfälle unterstützt Text vergleichen?
| Parameter | Typ | Standard | Verhalten & Sonderfälle |
|---|---|---|---|
| Granularität: Zeile | Modus | Standard | Teilt Text an Zeilenumbrüchen. Schnelle O(ND)-Ausführung ideal für Code, Konfigurationen und Skripte. |
| Granularität: Wort | Modus | Optional | Teilt Zeilen in Wort-Tokens auf. Geänderte Zeilen heben Wort-Einfügungen und -Löschungen hervor. |
| Granularität: Zeichen | Modus | Optional | Teilt Zeichenketten in einzelne Zeicheneinheiten auf. Lokalisiert Tippfehler, Hashes und Base64-Zeichenketten. |
| Whitespace ignorieren | Umschalter | false | Normalisiert aufeinanderfolgende Leerzeichen und Tabs, so dass Anpassungen der Einrückung keine Änderungen auslösen. |
| Groß-/Kleinschreibung ignorieren | Umschalter | false | Vergleicht Text ohne Berücksichtigung der Groß-/Kleinschreibung, nützlich für SQL-Abfragen, HTTP-Header oder HTML-Tags. |
| Unified-Diff-Export | Format | Standard | Exportiert Standard-Unified-Diff-Format, kompatibel mit git apply, patch(1) und Review-Tools. |
Häufig gestellte Fragen
Wie funktioniert der Myers-Diff-Algorithmus?
Der Myers-Diff-Algorithmus findet die kürzeste Folge von Einfügungen und Löschungen, mit der sich Sequenz A in Sequenz B umwandeln lässt. Dazu erkundet er diagonale Pfade über ein Editiergitter und garantiert so die mathematische Minimalität des entstehenden Diff-Ergebnisses.
Kann ich eine Unified-Diff-Patch-Datei exportieren?
Ja. Ein Klick auf „Unified-Patch exportieren“ erzeugt ein Standard-Patch-Dokument mit --- und +++ als Kopfzeilen und Hunk-Bereichen der Form @@ -start,len +start,len @@, das sich kopieren oder direkt an Standardwerkzeuge wie UNIX patch oder git apply übergeben lässt.
Wie hilft Diffing auf Wortebene bei Code-Reviews?
Ein normaler Zeilen-Diff markiert die ganze Zeile als geändert, selbst wenn nur ein einziges Zeichen oder ein Variablenname anders ist. Unsere Engine für den Wort-Diff vergleicht geänderte Zeilen Token für Token und hebt nur genau die Token hervor, die sich innerhalb dieser Zeile geändert haben.
Werden meine Dokumente auf irgendeinem Server gespeichert oder gecacht?
Nein. ToolsByUs hat keinen Backend-Server und keine Datenbank. Sämtliche Diff-Berechnungen laufen strikt in Ihrem Browser. Es werden niemals Dateien, Logs oder Text hochgeladen.
Worin unterscheiden sich Diffing auf Zeilen-, Wort- und Zeichenebene?
Ein Zeilen-Diff markiert die ganze Zeile als geändert, sobald sich ein einziges Zeichen in ihr unterscheidet – richtig für Fließtext, falsch für eine Codezeile, in der nur eine einzelne Variable umbenannt wurde. Der Wortmodus vergleicht die Token innerhalb jeder geänderten Zeile; der Zeichenmodus geht hinab bis zu einzelnen Buchstaben und findet so ein vertauschtes Zeichen in einem Bezeichner oder ein überzähliges Leerzeichen in einem Konfigurationswert.
Kann ich hier vertraulichen Code aus einem privaten Repository vergleichen?
Ja, und Sie können es prüfen, statt es zu glauben. Der Vergleich läuft in diesem Browser-Tab: DevTools öffnen, zum Bereich „Netzwerk“ wechseln, Text einfügen und vergleichen – und es erscheint kein Request, der Ihren Text enthält. Nach dem Laden funktioniert die Seite auch bei vollständig getrennter Netzwerkverbindung.
Welche verwandten Tools sollten Sie als Nächstes nutzen?
- JSON vergleichenVergleicht JSON semantisch, Schlüsselreihenfolge wird ignoriert
- JSON validierenSyntax prüfen mit exakter Zeile und Spalte, per Klick reparieren
- JSON formatierenEinrückung und Sortierung einstellen, Kommentare entfernen
- Base64 dekodierenStandard- und URL-sicheres Base64 dekodieren und kodieren