Tekst vergelijken (verschilcontrole)
Plak twee teksten en zie precies welke regels zijn toegevoegd, verwijderd of ongewijzigd — een overzichtelijk regel-voor-regel verschil in uw browser.
1.143 weergaven
Hoe de vergelijking werkt
De tool splitst beide teksten in regels en past een Langste Gemeenschappelijke Deelrij (LCS)-algoritme toe — dezelfde kernlogica die Git en code-editors gebruiken voor hun "diff"-weergave. In plaats van regels op positie te vergelijken (regel 1 met regel 1, regel 2 met regel 2), zoekt LCS de langste reeks regels die in dezelfde volgorde in beide documenten voorkomt. Alles binnen die gedeelde reeks wordt gemarkeerd als ongewijzigd; wat in het origineel overblijft wordt gemarkeerd als verwijderd, en wat in de herziene tekst overblijft wordt gemarkeerd als toegevoegd.
Dit onderscheid is belangrijk omdat een naïeve, op positie gebaseerde vergelijking al breekt zodra er ergens bovenaan een document één regel wordt ingevoegd of verwijderd — elke regel daarna zou dan als afwijkend verschijnen, terwijl er in werkelijkheid alleen die ene regel is veranderd. Concreet voorbeeld: als het origineel "A / B / C / D" is en de herziene tekst "A / X / B / C / D", zou een eenvoudige regel-voor-regel vergelijking B, C en D allemaal als gewijzigd aanmerken, omdat ze elk één positie zijn opgeschoven. LCS herkent daarentegen dat A, B, C en D in beide teksten nog steeds in dezelfde relatieve volgorde voorkomen, en rapporteert daarom correct slechts één toevoeging — de nieuwe regel X — en markeert de rest als ongewijzigd.
Wat u moet weten
- Op basis van regels, niet van woorden: de vergelijking werkt op hele regels. Het wijzigen van één enkel woord in een lange regel markeert nog steeds die hele regel als één verwijderde plus één toegevoegde regel — de gangbare conventie bij het vergelijken van code en documenten, omdat dit het resultaat overzichtelijk houdt.
- Witruimte en hoofdlettergebruik tellen mee: een spatie aan het einde of een ander hoofdlettergebruik zorgt ervoor dat twee verder identieke regels als verschillend worden geregistreerd — het is de moeite waard om uw tekst eerst te normaliseren als dat niet de vergelijking is die u wilt.
- Verplaatste inhoud wordt correct herkend: omdat LCS zoekt naar de langste gemeenschappelijke reeks in plaats van naar exacte posities, wordt een alinea die elders naartoe is verplaatst maar zijn interne regelvolgorde heeft behouden, herkend als ongewijzigd in plaats van als een verwijder-en-toevoeg-paar.
- Grote documenten schalen prima: het algoritme verwerkt moeiteloos duizenden regels; extreem grote bestanden (tienduizenden regels) kunnen de browser iets langer laten doen over het uitlijnen, maar er wordt nooit iets geüpload — de berekening blijft de hele tijd lokaal.
Dezelfde techniek vormt ook buiten programmeren de basis van "wijzigingen bijhouden"-achtige beoordelingen: een juridisch team dat twee conceptversies van een contractclausule vergelijkt, een redacteur die precies controleert wat een co-auteur in een hoofdstuk heeft herschreven, of een vertaler die bevestigt welke zinnen zijn verschoven tussen twee gelokaliseerde versies van een document. Omdat het algoritme alleen let op de volgorde van regels, niet op hun betekenis, werkt het even goed op broncode, configuratiebestanden, poëzie of een spreadsheet die als platte tekst is geëxporteerd.
Veelgestelde vragen
Wordt er woord voor woord of regel voor regel vergeleken?
Regel voor regel — de standaard voor documenten en code, omdat dit aansluit bij hoe de meeste editors en versiebeheertools een bestand al benaderen. Een gewijzigde regel verschijnt daardoor als één verwijderde plus één toegevoegde regel in plaats van een wirwar van markeringen op woordniveau, wat het resultaat overzichtelijk houdt, zelfs in lange documenten.
Is er een grootte-limiet?
Het algoritme verwerkt moeiteloos duizenden regels, wat de overgrote meerderheid van contracten, artikelen en broncodebestanden dekt. Bij zeer grote bestanden (tienduizenden regels) kan de browser iets langer nodig hebben om de uitlijning te berekenen — het werk blijft in elk geval volledig op uw apparaat, dus er is geen uploadvertraging om op te wachten.
Worden mijn documenten geüpload?
Nee. Beide teksten worden lokaal in uw browser vergeleken met JavaScript, en zowel de invoer als het resultaat verdwijnen zodra u de pagina sluit of vernieuwt — er wordt niets opgeslagen of verzonden.
Hoe worden regels behandeld die zijn verplaatst of opnieuw geordend?
Omdat het LCS-algoritme de langste reeks matcht die beide teksten gemeen hebben, ongeacht de positie, wordt een alinea die is verplaatst maar zijn interne regelvolgorde heeft behouden nog steeds als ongewijzigd weergegeven in plaats van als een vals verwijder-en-toevoeg-paar. Alleen regels die daadwerkelijk verschillen in inhoud of relatieve positie worden gemarkeerd.
Waarom laat het wijzigen van één woord twee regels als gewijzigd zien?
De diff vergelijkt hele regels, niet afzonderlijke woorden. Het bewerken van één woord in een regel zorgt ervoor dat die hele regel telt als één verwijderde regel (de oude versie) plus één toegevoegde regel (de nieuwe versie) — hetzelfde gedrag dat u ziet in Git of code review-tools, waardoor het visuele resultaat consistent blijft, ongeacht hoe klein de wijziging in de regel was.
Vergelijkbare tools
Probleem melden
Tekst vergelijken (verschilcontrole)
Reacties
Nog geen reacties — schrijf de eerste!