Der Code dieser Seite ist nicht gestartet.

Wird index.html direkt aus einem Ordner geöffnet, blockiert der Browser JavaScript-Module, und wenn Sie eine Datei auswählen, passiert nichts. Stellen Sie den Ordner stattdessen über HTTP bereit:

powershell -ExecutionPolicy Bypass -File serve.ps1

Öffnen Sie dann http://localhost:8080/.

Textvergleich — zwei Texte nebeneinander vergleichen

Zwei Texte hinein, jeder Unterschied markiert, Zeile für Zeile und Wort für Wort. Nichts davon wird in den Server eines anderen eingefügt.

Sprache: Deutsch
Quellcode ansehen
Ihre Texte werden in Ihrem Browser verarbeitet. Kein Upload zur Verarbeitung.

Ein Vergleich ist Rechnen auf zwei Zeichenketten, und zwar hier, auf dieser Seite. Der Algorithmus ist der von Myers — derselbe, den git diff benutzt —, von Hand geschrieben in src/diff.js, wo Sie ihn lesen können. Eine Netzfunktion hat dieses Werkzeug überhaupt nicht, weder etwas abzurufen noch etwas zu senden. Das zählt hier, denn was Menschen vergleichen, sind Verträge, Konfigurationsdateien und unveröffentlichter Code, und zwar paarweise.

Live-Prüfung: wird geprüft…

Offline: wird geprüft…

Sie müssen uns nicht glauben. Öffnen Sie die DevTools, sehen Sie im Tab „Netzwerk“ zu und vergleichen Sie etwas. Keine einzige Anfrage trägt ein Zeichen dessen, was Sie eingefügt haben. Oder trennen Sie die Internetverbindung und vergleichen Sie es trotzdem.

1 Die beiden Texte einfügen

leer
leer

2 Wählen, wie Sie es lesen

Leere Zeilen ignorieren Diese Optionen ändern nur die Ansicht. Kopieren und Download enthalten alle Unterschiede.

3 Lesen, was sich geändert hat

Noch nichts.

Als Markdown ansehen

So vergleichen Sie zwei Texte, ohne sie hochzuladen

  1. Fügen Sie beide Texte ein, oder ziehen Sie die beiden Dateien her. Das Original links, die geänderte Fassung rechts. Zwei zugleich auf das Auswahlfeld gezogene Dateien landen je eine auf jeder Seite, in der Reihenfolge, in der Sie sie fallen gelassen haben; tauschen Sie die Seiten, wenn es andersherum war.
  2. Wählen Sie, wie Sie es lesen. Nebeneinander oder in einer Spalte. Ein Telefon beginnt mit einer Spalte, denn nebeneinander braucht zwei Textspalten, und ein Telefon hat Platz für ungefähr eine; das Menü ist so oder so gleich daneben.
  3. Ignorieren Sie, was keine Rolle spielt. Leerraum, Groß- und Kleinschreibung, leere Zeilen — jedes davon lässt sich ignorieren, damit eine neu formatierte Datei nicht wie hundert Änderungen aussieht. Standardmäßig wird die unveränderte Mitte zu einer Zahl zusammengeklappt, mit drei Zeilen zu beiden Seiten jeder Änderung.
  4. Lesen Sie, was sich geändert hat. Entfernte Zeilen sind links markiert, hinzugekommene rechts, und innerhalb einer geänderten Zeile sind die Wörter hervorgehoben, die sich unterscheiden — ein Vergleich zweier Absätze zeigt also das verschobene Wort und nicht zwei ganze Absätze.
  5. Nehmen Sie den Patch mit. Der Download ist ein .patch im Unified-Format, und genau das erwarten ein Code-Review, git apply und jeder Diff-Betrachter. Kopieren legt dasselbe in Ihre Zwischenablage.

Die ausführliche Fassung

So vergleichen Sie zwei JSON-Dateien Beide Dateien gleich formatieren, die Schlüssel sortieren, dann vergleichen. Warum ein roher JSON-Vergleich fast nur Rauschen ist, wie Sie beide Seiten im Browser in Normalform bringen, und was davon in die Patch-Datei gelangt.

Fragen

Werden meine Texte irgendwohin hochgeladen?

Nein. Der Vergleich ist eine Funktion, die in Ihrem eigenen Browser auf Ihrer eigenen Hardware läuft. Eine Netzfunktion hat dieses Werkzeug überhaupt nicht, es ruft nie etwas ab und sendet nie etwas, und in der Content-Security-Policy der Seite steht jede Adresse, die sie kontaktieren darf; keine davon gehört uns. Genau deshalb sollte man es für einen Vertrag, eine Konfigurationsdatei oder unveröffentlichten Code nehmen: So etwas in den Diff-Checker eines anderen einzufügen, heißt, beide Fassungen auf einmal herzugeben.

Was macht der Vergleich eigentlich?

Er findet die kürzeste Folge von Änderungen, die den linken Text in den rechten verwandelt, mit dem Myers-Algorithmus, demselben, den git diff benutzt. Am kürzesten ist das, was einen Vergleich lesbar macht: Eine in der Mitte eingefügte Zeile sollte als eine Einfügung erscheinen und nicht so, als hätte sich jede Zeile danach geändert. Innerhalb einer geänderten Zeile werden auch die Wörter markiert, die sich unterscheiden, ein Vergleich zweier Absätze zeigt also das verschobene Wort und nicht zwei ganze Absätze.

Kann es zwei Dateien statt zweier Einfügungen vergleichen?

Ja. Ziehen Sie beide zugleich auf das Auswahlfeld, dann landen sie je auf einer Seite, in der Reihenfolge, in der Sie sie fallen gelassen haben. Ihr Browser liest sie in diese Seite hinein, und weiter kommen sie nicht. Wenn Sie sie falsch herum abgelegt haben, tauschen Sie die Seiten.

Was kommt bei einem Vergleich heraus, und kann ich es anwenden?

Der Download ist ein Unified Diff, also das Format mit @@ -3,5 +3,5 @@, das git apply, patch und jedes Code-Review-Werkzeug lesen. Kopieren legt dasselbe in Ihre Zwischenablage. Was auf dem Bildschirm steht, ist eine Ansicht davon: nebeneinander oder in einer Spalte, wobei die unveränderten Teile zu einer Zahl zusammengeklappt sind, sofern Sie nicht alle sehen wollen.

Kann es Leerraum, Groß- und Kleinschreibung oder leere Zeilen ignorieren?

Ja, jedes für sich. Leerraum zu ignorieren lässt eine neu formatierte Datei als unverändert vergleichen; Groß- und Kleinschreibung zu ignorieren behandelt Error und error als dasselbe Wort; leere Zeilen zu ignorieren überspringt die Zeilen, die nichts enthalten. Die Zählung über dem Ergebnis sagt dann, dass die beiden gleich sind, sobald die Unterschiede ignoriert sind, die Sie ignorieren wollten — was nicht dieselbe Aussage ist wie identisch, und die Seite hält die beiden Aussagen auseinander.

Wie groß darf der Vergleich sein?

Hier ist keine Grenze gesetzt, denn es zahlt kein Server dafür. Zwei Texte von zwanzigtausend Zeilen mit einer Handvoll Änderungen vergleichen sich sofort, denn der gemeinsame Anfang und das gemeinsame Ende werden abgeschnitten, bevor die eigentliche Arbeit beginnt. Ein Vergleich zweier Texte, die überhaupt nichts gemeinsam haben, hört früh auf und sagt das, statt eine Minute damit zu verbringen, das Offensichtliche zu beweisen, und ein sehr langer Vergleich zeichnet die ersten paar tausend Zeilen und überlässt den Rest dem heruntergeladenen Patch.

Ist es kostenlos, und brauche ich ein Konto?

Es ist kostenlos, und es gibt kein Konto, keine Anmeldung, keine Testphase und keine Grenze dafür, wie viel Sie einfügen. Bezahlt wird die Seite über Werbung, und den Anzeigen wird nichts über Ihren Text übergeben.

Funktioniert es offline?

Ja. Laden Sie die Seite einmal, trennen Sie dann die Internetverbindung, und sie arbeitet weiter. Das ist zugleich der einfachste Beweis dafür, dass nichts hochgeladen wird. Ein Werkzeug, das Ihre Texte zum Vergleichen wegschickt, bliebe in dem Moment stehen, in dem Sie den Stecker ziehen.