Twee tekstbestanden vergelijken en zien wat er veranderd is

De snelste manier om twee tekstbestanden te vergelijken is ze allebei in een naast-elkaar-diff-tool te plakken en de regels te lezen die het markeert. Groen voor wat is toegevoegd, rood voor wat is verwijderd, en een gewijzigde regel verschijnt als een van elk. Geen installatie, geen upload, binnen een paar seconden klaar.

Dat dekt de meeste gevallen. Maar twee bestanden die op het scherm identiek lezen, kunnen toch byte voor byte verschillen, en daar verliezen mensen een middag aan. Deze gids laat de snelle methode zien, een uitgewerkt voorbeeld, de onzichtbare verschillen die de moeite waard zijn om te kennen, en waar een AI-chatbot zoals ChatGPT echt helpt. Als je alleen de tool wilt: onze tekstvergelijkingspagina doet het hele ding in je browser.

Wat "twee tekstbestanden vergelijken" echt betekent

Een tekstbestand is een reeks tekens, opgesplitst in regels. Twee ervan vergelijken betekent de delen die overeenkomen op één lijn brengen en de delen die dat niet doen markeren. De klassieke tool hiervoor is het Unix-hulpprogramma diff, en elke moderne diff-viewer, ook de onze, doet dezelfde klus met een vriendelijkere weergave.

De meeste diff-tools werken eerst regel voor regel. Dat houdt ze snel bij lange bestanden en sluit aan bij hoe mensen lezen: je scant naar de regel die is verschoven, en kijkt er dan in naar het woord dat is veranderd. Onze engine is gebouwd op Googles diff-match-patch, die een doorloop in regelmodus doet voordat het naar individuele tekens kijkt, zodat een log van duizend regels toch direct wordt gediffed.

Manieren om twee tekstbestanden te vergelijken

Er is geen enkele juiste methode. Het hangt ervan af waar de bestanden staan en hoe exact je moet zijn.

MethodeHet best voorExact?Moeite
Ze naast elkaar lezenEen paar regels, één duidelijke wijzigingJij bent de scheidsrechterLaag
Online diff-toolSnelle controles, plakken vanaf overalJa, tekenexactLaag
Opdrachtregel (diff, git diff)Bestanden op schijf, scripting, enorme bestandenJaGemiddeld
Code-editor (VS Code "Vergelijken")Bestanden die al open zijn in je editorJaLaag
AI-chatbot (ChatGPT)Een samenvatting van de wijziging in gewone taalNee, kan iets missen of herformulerenLaag

Voor een eenmalige controle wint een browsertool op snelheid, omdat er niets te installeren is en je direct kunt plakken vanuit een e-mail, een log of een code-review. Voor bestanden die al in een repository staan, is git diff meteen bij de hand. We komen terug op de AI-optie, want die is echt nuttig voor de juiste klus en een val voor de verkeerde.

Twee tekstbestanden vergelijken in je browser, stap voor stap

Dit is de routine als iemand je twee versies van een document stuurt en vraagt "wat is er anders?" Het duurt ongeveer tien seconden.

  1. Open de tekstvergelijkings-tool.
  2. Plak het origineel links en de nieuwe versie rechts. Of gebruik Uploaden om een bestand rechtstreeks van schijf te laden.
  3. Lees de markeringen. Toegevoegde regels zijn groen, verwijderde regels zijn rood, en een gewijzigde regel verschijnt als een rood-groen paar.
  4. Scroll door de gewijzigde regels. Binnen elke regel zijn precies de woorden gemarkeerd die verschillen, zodat je niet de hele regel opnieuw hoeft te lezen.
  5. Als de twee bestanden veel verschillender lijken dan zou moeten, spring dan naar het gedeelte over onzichtbare verschillen hieronder.

Een uitgewerkt voorbeeld

Stel dat een collega een bewerkte alinea terugstuurt en je vraagt zijn wijzigingen te controleren. Hier is jouw origineel:

The service starts at 9am on weekdays.
Refunds are processed within 14 days.
Contact [email protected] for help.

En hier is zijn versie:

The service starts at 8am on weekdays.
Refunds are processed within 30 days.
Contact [email protected] for help.
Priority support is available on request.

Gooi beide in de diff en het echte verhaal is kort, ook al is het makkelijk om er in proza overheen te lezen:

Wat er werkelijk veranderd is
RegelVoorNaWijziging
Starttijd9am8amGewijzigd
Terugbetalingstermijn14 days30 daysGewijzigd
Supportregel[email protected][email protected]Geen wijziging
Priority-supportgeenPriority support is available on request.Toegevoegd

Twee getallen zijn verschoven en er is een zin toegevoegd. Dat de terugbetalingstermijn verdubbelt van 14 naar 30 dagen, is precies het soort wijziging dat je wilt opmerken voordat het live gaat, en het is één teken verwijderd van onzichtbaar zijn in een snelle blik. Dat is het hele argument om tekst te diffen in plaats van op je ogen te vertrouwen.

De onzichtbare verschillen waar mensen over struikelen

Soms schildert een diff twee bestanden af als volledig verschillend, terwijl ze op het scherm identiek lijken. De oorzaak is bijna altijd een teken dat je niet kunt zien. Hier zijn de gebruikelijke verdachten.

Onzichtbaar verschilWaar het vandaan komtWat te doen
Regeleindes: CRLF vs LFHet ene bestand is opgeslagen op Windows, het andere op macOS of LinuxNormaliseer de regeleindes; zie newline-conventies
Spaties aan het einde van een regelSpaties of tabs achtergelaten aan het einde van een regelVerwijder de spaties aan het einde, of negeer ze als je tool dat kan
Een byte order mark (BOM)Een editor heeft een onzichtbaar teken aan de eerste regel toegevoegdOpslaan als UTF-8 zonder BOM
Tabs vs spatiesVerschillende editors of inspring-instellingenKies er één en converteer; ze zien er op het scherm hetzelfde uit
TekstcoderingHet ene bestand is UTF-8, het andere Latin-1, dus letters met accenten verschillen in bytesSla beide opnieuw op als UTF-8
Vaste spatiesGeplakt vanaf een webpagina of een tekstverwerkerZoek ze en vervang ze door normale spaties

Wat het hardst bijt, zijn de regeleindes. Een Windows-bestand gebruikt aan het einde van elke regel een carriage return plus een line feed (CRLF); een Mac- of Linux-bestand gebruikt alleen een line feed (LF). Open beide in dezelfde editor en ze zien er hetzelfde uit, maar elke afzonderlijke regel verschilt op byteniveau, zodat een naïeve diff oplicht als een kerstboom. Als je hele bestand als gewijzigd wordt weergegeven, controleer dit dan eerst.

Kan ChatGPT twee bestanden vergelijken?

Ja, en veel mensen doen nu precies dat: twee versies plakken in ChatGPT (of een andere AI-assistent) en vragen "wat is er veranderd?" Voor korte bestanden werkt het goed en geeft het je iets wat een gewone diff niet kan: een samenvatting in gewone taal. "De terugbetalingstermijn ging van 14 naar 30 days en er is een priority-support-regel toegevoegd" is voor een drukke lezer vaak nuttiger dan een muur van rood en groen.

Het addertje is precisie. Een taalmodel is geen diff-algoritme. Het kan een wijziging van één teken missen, een regel stilletjes herformuleren tijdens het samenvatten, of bij een lang bestand ruimte tekortkomen en het midden overslaan. Het betekent ook je tekst aan een derde partij geven, wat je bij iets gevoeligs misschien niet wilt. De twee soorten tools zijn dus aanvullingen, geen rivalen.

Een goede werkwijze: laat de bestanden eerst door een deterministische diff-tool lopen om de exacte, tekengenaue lijst met wijzigingen te krijgen, plak dan die korte lijst in een AI-chatbot en vraag hem de impact in gewone taal uit te leggen. Je krijgt de nauwkeurigheid van een diff en de leesbaarheid van een samenvatting, zonder erop te vertrouwen dat een van beide het werk van de ander doet.

Bestanden vergelijken op de opdrachtregel

Als de bestanden al op schijf staan, is de ingebouwde opdracht diff één regel:

diff old.txt new.txt

Voeg -u toe voor het unified formaat dat Git gebruikt, of -w om witruimteverschillen te negeren. Voor bestanden in een repository doet git diff old.txt new.txt hetzelfde met kleur en markering op woordniveau. De browsertool is de terminalvrije versie hiervan: plakken, lezen, klaar.

Verwante tools

Platte tekst is zelden het enige wat je vergelijkt. Als je bestanden gestructureerd zijn, leest een formaatbewuste weergave beter: JSON vergelijken gaat om met herschikte sleutels en inspringruis, en CSV vergelijken lijnt rijen en kolommen uit. Een rommelige lijst opschonen voordat je hem diffet, is een klus voor dubbele regels verwijderen en regels sorteren.

Veelgestelde vragen

Worden tekstbestanden ergens geüpload wanneer je ze online vergelijkt?
Op comparetext.org draait de vergelijking in je browser. Beide bestanden worden gediffed door JavaScript op je eigen machine, dus er wordt niets naar een server gestuurd tenzij je bewust op Opslaan of Delen klikt. Dat maakt het veilig voor concepten, contracten, configuratie en al het andere dat je niet zou willen plakken op een site die bij elke toetsaanslag uploadt.
Waarom tonen mijn twee tekstbestanden elke regel als verschillend?
Bijna altijd zijn het de regeleindes. Het ene bestand is opgeslagen op Windows (CRLF) en het andere op macOS of Linux (LF), zodat elke regel op byteniveau verschilt hoewel ze identiek lijken. Een verborgen byte order mark (BOM) op de eerste regel of tabs versus spaties kunnen hetzelfde doen. Normaliseer de regeleindes en sla beide opnieuw op als UTF-8, en diff daarna opnieuw.
Kan ik twee tekstbestanden vergelijken zonder iets te installeren?
Ja. Open de tekstvergelijkings-tool, plak het ene bestand links en het andere rechts, of gebruik Uploaden om ze van schijf te laden. De diff verschijnt direct, gewoon in de browser, met gewijzigde regels gemarkeerd. Er valt niets te downloaden en er is geen account aan te maken.
Kan ChatGPT twee bestanden voor mij vergelijken?
Ja, en het is handig voor een samenvatting in gewone taal van wat er in korte bestanden is veranderd. Maar een taalmodel is geen diff-algoritme: het kan een kleine wijziging missen, een regel herformuleren tijdens het samenvatten, of het midden van een lang bestand overslaan. Voor een exacte, tekengenaue vergelijking gebruik je een diff-tool, en geef je het resultaat daarna aan een AI als je het in woorden uitgelegd wilt hebben.
Hoe vergelijk ik twee bestanden en negeer ik witruimte?
Op de opdrachtregel negeert diff -w old.txt new.txt witruimteverschillen, en diff -b negeert wijzigingen in de hoeveelheid witruimte. In een browser verwijder je spaties aan het einde en normaliseer je de regeleindes voordat je plakt, want dat zijn de witruimtewijzigingen die een diff het vaakst vervuilen. Het doel is alleen de bewerkingen over te houden die de betekenis veranderen.
Wat is het verschil tussen tekst vergelijken en code vergelijken?
De mechaniek is hetzelfde: beide lijnen overeenkomende regels uit en markeren de rest. Het verschil is wat als een echte wijziging telt. In proza kan een opnieuw ingedeelde alinea eruitzien als een grote bewerking terwijl alleen een woord is verschoven. In code doen inspringing en een verplaatste functie ertoe. Een formaatbewuste weergave zoals JSON vergelijken of een taalbewuste editor vermindert die ruis bij gestructureerde bestanden.

Klaar om het te proberen? Plak je twee bestanden in de tekstvergelijkings-tool en zie wat er veranderd is.