PK Systems PK Systems
Teksttools

Tekstvergelijker

Vergelijk twee stukken tekst en zie wat is veranderd. Regel- of woord-granulariteit, live preview, draait volledig in je browser.

Tekstvergelijker

Diff


    

Wat is een tekst-diff?

Een diff (kort voor difference) is een rapport naast elkaar van wat er is veranderd tussen twee stukken tekst. Het klassieke gebruik is in versiebeheer — Git, SVN en consorten gebruiken diffs om te tonen wat elke commit aanpaste — maar hetzelfde idee is handig voor proefdrukcontrole, juridische contracten vergelijken, kleine wijzigingen in configuratiebestanden opsporen of nagaan of een document een copy-paste-rondreis intact heeft overleefd. Deze tool berekent de diff via een longest-common-subsequence-algoritme, dezelfde familie technieken als git diff.

Hoe gebruik je deze tool

Plak de oorspronkelijke versie in A en de gewijzigde versie in B. De diff verschijnt direct hieronder: groene regels (of woorden) zijn toevoegingen in B, rode zijn verwijderingen uit A, gewone rijen zijn ongewijzigd. Schakel tussen regel- en woord-granulariteit, afhankelijk van wat je wilt zien — regeldiff is het beste voor code of gestructureerde tekst, woorddiff is makkelijker te lezen voor proza waarin kleine bewoordingen tellen. De statistieken boven de uitvoer tonen aantallen van toegevoegde, verwijderde en ongewijzigde tokens.

Wanneer regel- versus woorddiff

Regeldiff is de juiste standaard voor code, JSON, CSV, logbestanden en alles waarbij de structuur op regelniveau zit. Eén karakterwijziging verschijnt als verwijderde regel plus toegevoegde regel — makkelijk te scannen, en past bij wat versiebeheer-tools doen. Woorddiff blinkt uit voor proza: het markeert exact welke woorden zijn veranderd binnen een alinea, zodat je de wijzigingen ziet zonder de hele tekst opnieuw te hoeven lezen. Vermijd woorddiff op heel lange documenten — de LCS-berekening wordt kwadratisch en gaat traag aanvoelen boven enkele duizenden woorden.

Veelgestelde vragen

Wordt mijn tekst ergens geüpload?
Nee. De hele diff wordt in je browser berekend. Bevestig dit door DevTools > Network te openen en je teksten te plakken — er gaan geen requests af. Daardoor is de tool veilig voor diff van privé- of gevoelige content zoals contracten, code of configuratiebestanden.
Hoe werkt het diff-algoritme?
Het bouwt een longest-common-subsequence (LCS)-tabel tussen de getokeniseerde invoer en doorloopt die tabel achterstevoren om een edit-script te produceren — dezelfde techniek als die door Hunt-McIlroy werd geïntroduceerd en door klassieke diff wordt gebruikt. Bij heel grote invoer (boven ~2.000 tokens per kant) valt de tool terug op een naïeve positie-voor-positievergelijking, sneller maar minder optimaal.
Waarom ziet het resultaat er soms verkeerd uit?
LCS kiest de langste gemeenschappelijke deelreeks, wiskundig optimaal maar visueel soms verrassend bij veel korte herhaalde tokens (veel lege regels, herhaalde woorden). Zie je vreemde groeperingen, schakel dan naar de andere granulariteit — regel- en woorddiff lossen gelijke gevallen soms anders op, en één van beide past meestal beter bij je verwachting.
Hoe zit het met witruimte?
Witruimte is significant. Spaties aan het einde, andere indentatie en CRLF versus LF regeleinden verschijnen allemaal als verschillen. Geef je alleen om echte wijzigingen, normaliseer dan beide teksten (trim trailing whitespace, converteer tabs/spaties, uniformeer regeleinden) voordat je plakt.
Kan ik de diff exporteren?
Nog niet als unified-diff-patch — deze tool richt zich op visuele vergelijking naast elkaar. Voor een unified patch draai je diff -u a.txt b.txt vanaf de commandline, of git diff --no-index a.txt b.txt voor een rijkere uitvoer die overeenkomt met wat GitHub toont.
Waarom worden regeleinden soms als wijziging gemarkeerd?
Verschillende besturingssystemen gebruiken verschillende regeleinden: Windows traditioneel \r\n (CRLF), Unix en macOS \n (LF). Bij kopiëren tussen systemen kunnen regeleinden mengen, en de diff behandelt regel\r en regel als verschillend. Run de tekst eerst door iets als dos2unix of plak via een platte-tekst-editor die de einden normaliseert voordat je vergelijkt.