De code van deze pagina is niet gestart.

Open je index.html rechtstreeks uit een map, dan worden JavaScript-modules geblokkeerd en gebeurt er niets zodra je een bestand kiest. Serveer de map in plaats daarvan over http:

powershell -ExecutionPolicy Bypass -File serve.ps1

Open daarna http://localhost:8080/.

Tekstvergelijker — twee teksten vergelijken, naast elkaar

Twee teksten erin, elk verschil gemarkeerd, regel voor regel en woord voor woord. Er wordt niets in andermans server geplakt.

Taal: Nederlands
Broncode bekijken
Je teksten worden nooit geüpload. Er is geen server.

Een vergelijking is rekenwerk op twee tekenreeksen, hier gedaan, in deze pagina. Het algoritme is dat van Myers — hetzelfde dat git diff gebruikt —, met de hand geschreven in src/diff.js, waar je het kunt nalezen. Deze tool heeft geen enkele netwerkfunctie, niets op te halen en niets te versturen, en dat telt hier: wat mensen vergelijken zijn contracten, configuratiebestanden en nog niet uitgebrachte code, altijd in paren.

Live controle: bezig met controleren…

Offline: bezig met controleren…

Geloof ons vooral niet op ons woord. Open DevTools, hou het tabblad “Netwerk” in de gaten en vergelijk iets. Geen enkel verzoek draagt één teken van wat je plakte. Of trek de stekker uit je internet en vergelijk het alsnog.

1 Plak de twee teksten

leeg
leeg

2 Kies hoe je het leest

3 Lees wat er veranderde

Nog niets.

Als Markdown bekijken

Zo vergelijk je twee teksten zonder ze te uploaden

  1. Plak de twee teksten, of sleep de twee bestanden. Het origineel links, de gewijzigde versie rechts. Twee bestanden die je tegelijk op de kiezer sleept landen aan weerskanten, in de volgorde waarin je ze losliet; wissel de kanten om als het andersom was.
  2. Kies hoe je het leest. Naast elkaar, of in één kolom. Een telefoon begint in één kolom, want naast elkaar vraagt twee kolommen tekst en op een telefoon past er ongeveer één; het menu staat er hoe dan ook naast.
  3. Negeer wat er niet toe doet. Witruimte, hoofd- en kleine letters, lege regels — elk apart te negeren, zodat een opnieuw geformatteerd bestand niet leest als honderd wijzigingen. Standaard wordt het ongewijzigde middenstuk opgevouwen tot een telling, met drie regels aan weerszijden van elke wijziging.
  4. Lees wat er veranderde. Verwijderde regels zijn links gemarkeerd, toegevoegde rechts, en binnen een gewijzigde regel zijn de woorden die verschillen uitgelicht — een diff van twee alinea's toont dus het woord dat verschoof en niet twee hele alinea's.
  5. Neem de patch mee. De download is een .patch in het unified-formaat, precies wat een codereview, git apply en elke diff-viewer verwachten. Kopiëren zet hetzelfde op je klembord.

De uitgebreide versie

Zo vergelijk je twee JSON-bestanden Formatteer beide bestanden hetzelfde, sorteer de sleutels, en vergelijk dan. Waarom een rauwe JSON-diff vooral ruis is, hoe je beide kanten in de browser in canonieke vorm brengt, en wat er overleeft tot in de patch.

Vragen

Worden mijn teksten ergens naartoe geüpload?

Nee. De vergelijking is een functie die in je eigen browser draait, op je eigen hardware. Deze tool heeft geen enkele netwerkfunctie: hij haalt nooit iets op en verstuurt nooit iets, en de Content-Security-Policy van de pagina noemt elk adres dat ze mag benaderen, waarvan er geen enkele van ons is. Dat is de reden om hem te gebruiken voor een contract, een configuratiebestand of niet uitgebrachte code: zoiets in andermans vergelijker plakken is beide versies tegelijk weggeven.

Wat doet die vergelijking eigenlijk?

Hij zoekt de kortste reeks bewerkingen die de linkertekst in de rechtertekst verandert, met het algoritme van Myers, hetzelfde dat git diff gebruikt. Dat het de kortste is, is precies wat een diff leesbaar maakt: een regel die in het midden wordt ingevoegd hoort als één invoeging te verschijnen en niet alsof elke regel erna veranderd is. Binnen een gewijzigde regel worden ook de woorden gemarkeerd die verschillen, dus een diff van twee alinea's laat het verschoven woord zien in plaats van twee hele alinea's.

Kan hij twee bestanden vergelijken in plaats van twee plakjes tekst?

Ja. Sleep ze allebei tegelijk op de kiezer en ze landen aan weerskanten, in de volgorde waarin je ze losliet. Je browser leest ze in deze pagina, en verder gaan ze nergens heen. Wissel de kanten om als je ze verkeerd om hebt neergezet.

Wat komt er uit een vergelijking, en kan ik dat toepassen?

De download is een unified diff: het @@ -3,5 +3,5 @@-formaat dat git apply, patch en elk code-reviewhulpmiddel lezen. Kopiëren doet hetzelfde naar je klembord. Wat op het scherm staat is een weergave daarvan: naast elkaar, of in één kolom, met de onveranderde stukken tot een aantal ingeklapt tenzij je ze allemaal vraagt.

Kan hij witruimte, hoofdletters of lege regels negeren?

Ja, elk apart. Witruimte negeren laat een opnieuw geformatteerd bestand als ongewijzigd vergelijken; hoofd- en kleine letters negeren behandelt Error en error als hetzelfde woord; lege regels negeren slaat de regels over die niets dragen. De tellers boven het resultaat zeggen dan dat de twee gelijk zijn zodra de verschillen die je vroeg te negeren genegeerd zijn — wat niet dezelfde bewering is als identiek, en de pagina houdt die twee beweringen uit elkaar.

Hoe groot mag de vergelijking zijn?

Hier is geen limiet ingesteld, want er is geen server die ervoor betaalt. Twee teksten van twintigduizend regels met een handvol wijzigingen vergelijken meteen, want het gedeelde begin en einde worden weggeknipt voordat het echte werk begint. Een vergelijking van twee teksten die helemaal niets gemeen hebben stopt vroeg en zegt dat, in plaats van een minuut te besteden aan het bewijzen van het vanzelfsprekende; en een heel lange vergelijking tekent de eerste paar duizend regels en laat de rest aan de gedownloade patch.

Is het gratis, en heb ik een account nodig?

Het is gratis, en er komt geen account, geen inlog, geen proefperiode en geen limiet op hoeveel je plakt aan te pas. De site draait op advertenties, en die betalen hem; die advertenties krijgen niets over je tekst mee.

Werkt het offline?

Ja. Laad de pagina één keer, verbreek daarna je internetverbinding en hij werkt gewoon door. Dat is meteen de eenvoudigste manier om te bewijzen dat er niets geüpload wordt, want een tool die je teksten wegstuurde om ze te laten vergelijken zou ermee ophouden zodra je de stekker eruit trok.