Diff Checker voor tekst

Vergelijk twee teksten of codefragmenten regel voor regel. Toegevoegde, verwijderde en gewijzigde regels worden gemarkeerd, tot op de exacte woorden die verschillen.

Draait in je browserGeen account nodigNiets wordt geüpload

Plak tekst in beide vakken om de verschillen te zien.

Zo gebruik je de Diff Checker

  1. Plak de originele tekst links en de gewijzigde tekst rechts, of open twee bestanden.
  2. De vergelijking wordt bijgewerkt terwijl je typt. Kies de weergave Naast elkaar of Unified.
  3. Vink Witruimte negeren, Hoofdletters negeren of Lege regels negeren aan om ruis zoals opnieuw ingesprongen code te verbergen.
  4. Gebruik Ongewijzigd verbergen om je te richten op de wijzigingen, met drie regels context rond elke wijziging.
  5. Klik op Kopiëren als patch of .diff downloaden voor een standaard unified diff die je kunt toepassen met git apply of patch.

Hoe deze diff checker werkt

De tool splitst beide invoeren op in regels en voert het diff-algoritme van Myers uit, hetzelfde O(ND)-algoritme dat git diff en GNU diff gebruiken. Het vindt de kortste reeks invoegingen en verwijderingen die het origineel omzet in de gewijzigde tekst, zodat het resultaat zo weinig mogelijk gewijzigde regels toont. Identieke regels aan het begin en eind worden eerst overgeslagen, waardoor vergelijkingen van bestanden met duizenden regels vrijwel direct klaar zijn.

Staan een verwijderde en een toegevoegde regel naast elkaar, dan worden ze gekoppeld als gewijzigde regel en nogmaals woord voor woord vergeleken. De woorden die echt veranderd zijn krijgen een sterkere markering, zodat een hernoemde variabele of een aangepast getal opvalt in een lange regel.

Naast elkaar vs. unified

Naast elkaar zet het origineel links en de nieuwe versie rechts, met regelnummers voor beide. Dit is de makkelijkste weergave voor het reviewen van lopende tekst, configuratiebestanden en kleine codewijzigingen. De weergave Unified zet verwijderde (-) en toegevoegde (+) regels door elkaar in één kolom, het formaat van code-reviewtools en patchbestanden.

Het unified diff-formaat (patch)

De geëxporteerde patch volgt het formaat van diff -u: een ---/+++-header en daarna hunks die beginnen met @@ -l,s +l,s @@, waarbij l het eerste regelnummer is en s het aantal regels van de hunk in elk bestand. Elke hunk bevat drie regels ongewijzigde context, zodat hij met patch -p0 of git apply kan worden toegepast, ook als regels in de buurt verschoven zijn.

Wanneer gebruik je de negeeropties?

  • Witruimte negeren beschouwt regels als gelijk als ze alleen in spaties of tabs verschillen. Gebruik dit na het opnieuw inspringen van code of het omzetten van tabs naar spaties.
  • Hoofdletters negeren is handig voor SQL, HTML en logbestanden waarin hoofdletters niet uitmaken.
  • Lege regels negeren verbergt regels die alleen als witregel zijn toegevoegd of verwijderd.

Veelgestelde vragen

Wordt mijn tekst ergens geüpload?
Nee. De vergelijking draait volledig in je browser met JavaScript. Niets van wat je plakt wordt naar een server gestuurd, dus je kunt veilig privécode, contracten of configuratiebestanden vergelijken.
Hoe groot mogen de teksten zijn?
Bestanden met tienduizenden regels worden op een gewone laptop ruim binnen een seconde vergeleken. Omdat de rekentijd van het algoritme groeit met het aantal verschillen, duren twee enorme, totaal verschillende bestanden het langst.
Kan ik twee bestanden vergelijken in plaats van te plakken?
Ja. Gebruik de knoppen Bestand openen boven elk veld om een lokaal bestand te laden. Het bestand wordt door je browser gelezen en nooit geüpload.
Waarom wordt een regel als verwijderd en toegevoegd getoond in plaats van als gewijzigd?
Regels worden alleen als „gewijzigd” gekoppeld als een blok verwijderde regels direct naast een blok toegevoegde regels staat. Hebben de twee regels heel weinig tekst gemeen, dan wordt de markering per woord overgeslagen, omdat die onrustiger zou zijn dan de hele regel als gewijzigd tonen.
Hoe vergelijk ik JSON-objecten?
Gebruik de tool JSON Diff. Die vergelijkt de geparste structuur, zodat volgorde van keys en opmaak geen valse verschillen opleveren, en toont de exacte paden die veranderd zijn.

Gerelateerde tools