Was dieses Tool macht
Vergleicht zwei Texte und zeigt die Unterschiede entweder Seite-an-Seite oder als Unified Diff. Optionale Toggles ignorieren Whitespace und Groß-/Kleinschreibung. Der Diff arbeitet auf Zeilenebene (nicht zeichenweise) — was bei Code, Configs und Prosa das Richtige ist.
Wann du es brauchst
- Sehen, was sich zwischen zwei API-Antworten geändert hat.
- Edits an einer Config-Datei review-en, wenn du keine Git-Version hast.
- Zwei Fehlermeldungen vergleichen, um das eine abweichende Wort zu finden.
- Sicherstellen, dass ein Copy-Paste-Roundtrip keine unsichtbaren Zeichen eingefügt hat.
Wie es funktioniert
Der Algorithmus ist eine Longest-Common-Subsequence-Berechnung (LCS) — derselbe Ansatz wie in git diff. Die Komplexität liegt etwa bei O(n × m) in den Zeilenzahlen, deshalb deckeln wir Eingaben pro Seite bei 2.500 Zeilen, um Performance vorhersehbar zu halten. Übereinstimmende Zeilen werden gepaart; einseitig vorkommende Zeilen sind Additions oder Deletions.
Hinweise
Warum zeilenweise und nicht zeichenweise? Weil die meisten realen Diffs über Zeilen gehen. Zeichen-Diffs sind bei allem länger als einem Satz verrauscht. Brauchst du echtes Word-Diff, nimm git diff --word-diff lokal.
Ignoriert "Whitespace ignorieren" auch Tabs vs. Spaces? Ja — der Toggle behandelt jeden Whitespace-Lauf als äquivalent. Praktisch, wenn eine Datei umformatiert wurde, der Inhalt aber sonst gleich ist.
Was passiert über 2.500 Zeilen? Das Tool weigert sich zu rendern und bittet um Trim. LCS ist quadratisch; bei 100k Zeilen wäre der Tab minutenlang weg.
Verwandte Tools
- JSON-Formatter — erst formatieren, dann diffen
- JSON ↔ YAML — auf eine stabile Form bringen, bevor man diffed