CodeKitHub
Generatortools

Namen Trekken Generator

Laatst bijgewerkt:

Namen trekken voor Secret Santa of een cadeautjesruil met de hand levert een echt wiskundig probleem op: een puur willekeurige schudbeurt kan per ongeluk iemand aan zichzelf koppelen, en opnieuw trekken tot het "goed voelt" is dan geen echte willekeur meer. Deze tool lost dat netjes op — vul ieders naam in, en de tool berekent een derangement (een schudbeurt met de wiskundige garantie dat niemand op zijn eigen naam uitkomt), en verbergt daarna elk resultaat achter een tik-om-te-onthullen-knop, zodat iedereen op een gedeeld scherm zijn eigen toewijzing kan bekijken zonder die van anderen te zien.

Wat is deze tool?

Een derangement is een specifiek wiskundig begrip: een permutatie (herschikking) van een verzameling waarbij geen enkel element op zijn oorspronkelijke plek terechtkomt. Toegepast op een cadeautjesruil betekent dat: ieders naam herschikken zodat niemand aan zichzelf gekoppeld wordt — precies de voorwaarde die een eerlijke Secret Santa-trekking nodig heeft, en precies wat een naïeve `array.sort(() => Math.random() - 0.5)` schudbeurt op zichzelf NIET garandeert.

Deze tool genereert een derangement door de lijst herhaaldelijk willekeurig te schudden met een algoritme en de zelfkoppel-voorwaarde te controleren, met `crypto.getRandomValues()` als onderliggende willekeurbron in plaats van `Math.random()` — dezelfde cryptografisch veilige bron die deze site gebruikt voor de [Wachtwoordgenerator](/password-generator/) en de [Random Letter Generator](/random-letter-generator/).

Het ontwerp met onthulknoppen lost een apart, heel praktisch probleem op bij het trekken van namen in een groep: als je alle toewijzingen tegelijk op het scherm toont, bederf je de verrassing voor iedereen tegelijk. Door ieders resultaat achter een eigen knop te verbergen, kan één toestel worden doorgegeven (of een scherm gedeeld) zodat iedereen alleen zijn eigen naam checkt.

Waarom gebruiken?

  • Het is het kerstfeestje op kantoor en iemand herinnert zich net dat niemand Secret Santa heeft geregeld — typ de 14 namen uit de teamchat in het vak en trek de koppels tijdens de vergadering voordat iedereen naar de lunch verdwijnt.
  • Je familie-appgroep kan het niet eens worden over wie voor wie dit jaar cadeautjes koopt, en de helft wil liever geen extra app downloaden voor een naamtrekking — open dit op één telefoon, geef hem rond aan tafel en laat iedereen zijn eigen onthulknop indrukken.
  • Iemand is twee dagen voor de ruil uit de groep gestapt en het spreadsheet van vorig jaar klopt niet meer — plak de bijgewerkte namenlijst opnieuw en trek in enkele seconden opnieuw in plaats van koppels handmatig te herstellen.
  • Je probeerde een snelle `sort(() => Math.random() - 0.5)`-schudbeurt voor een werkruil en iemand werd aan zichzelf gekoppeld — deze tool bestaat juist om dat uit te sluiten met een gegarandeerde derangement in plaats van een gelukkige herschikking.
  • Je wilt de onthulling live doen tijdens een videogesprek zonder dat andermans toewijzing op het scherm oplicht — deel je scherm en laat elke deelnemer zeggen wanneer je op zijn regel moet klikken, zodat alleen hij het ziet.

Hoe te gebruiken

  1. Typ elke deelnemersnaam op een eigen regel — minstens 3 verschillende namen.
  2. Klik op "Trek koppels" — de tool berekent een geldige derangement zodat niemand aan zichzelf gekoppeld wordt.
  3. Elke regel toont een naam met een verborgen resultaat — geef het toestel rond of deel het scherm, en laat iedereen zijn eigen "Tik om te onthullen"-knop indrukken om te zien voor wie hij een cadeau geeft.
  4. Klik nogmaals op onthullen om het resultaat weer te verbergen zodra iemand heeft gekeken, zodat het scherm klaar is voor de volgende persoon.

Voorbeeld

Invoer

Anne, Bram, Cato, Daan

Uitvoer

Anne → Cato, Bram → Daan, Cato → Bram, Daan → Anne

Elke run levert een andere geldige derangement op — dit is één voorbeelduitkomst. Merk op dat niemand aan zichzelf is gekoppeld, de ene harde voorwaarde die een echte Secret Santa-trekking nodig heeft en die een gewone willekeurige schudbeurt niet garandeert.

Derangement versus een gewone willekeurige schudbeurt

Een gewone schudbeurt en een derangement lijken op elkaar, maar slechts één van beide is echt veilig voor een cadeautjesruil.

MethodeKan iemand zichzelf koppelen?Eerlijk om opnieuw te draaien tot het "goed voelt"?
Gewone willekeurige schudbeurtJa — een reële mogelijkheid, zeker in kleine groepenNee — slechte resultaten handmatig afwijzen vertekent de uitkomst
Derangement (deze tool)Nee — wiskundig uitgesloten door de opzetN.v.t. — elk geldig resultaat voldoet al aan de voorwaarde

Gerelateerde tools

Voor andere willekeurige trekkingen en generatoren, probeer deze tools.

→ Fantasy Naam Generator · Random Nummer Generator

Een groepstrekking uitvoeren zonder het voor jezelf te bederven

Het lastigste aan een Secret Santa-trekking is niet de willekeur — het is ervoor zorgen dat degene die de trekking organiseert niet per ongeluk ieders toewijzing ziet tijdens het instellen. Een paar gewoontes maken dat makkelijker.

  • Typ de namenlijst en klik op "Trek koppels" zonder zelf door de resultaten te scrollen — geef het toestel direct aan de eerste deelnemer in plaats van vooraf te kijken wie wie kreeg.
  • Als jij de organisator bent én meedoet, vraag iemand anders om het toestel vast te houden voor jouw eigen onthulling, of wacht tot het laatst zodat niemand zich gehaast voelt terwijl jij kijkt.
  • Voor een groep op afstand: deel het scherm maar houd je cursor weg van de onthulknoppen — vertel wiens beurt het is en laat iedereen zelf zijn regel aanklikken via spraak of chat.
  • Bij een grote groep: ga in dezelfde volgorde als een zitplan of deelnemerslijst zodat niemand per ongeluk wordt overgeslagen of dubbel gecontroleerd.

Veelgestelde vragen

Wat gebeurt er als een naam twee keer wordt ingevoerd?

De tool vereist dat elke naam uniek is voordat er getrokken wordt — bij een duplicaat vraagt de tool je eerst de lijst aan te passen, omdat twee deelnemers met dezelfde naam onmogelijk uit elkaar te houden zijn in de resultaten.

Kan iemand zijn eigen naam trekken?

Nee — de tool berekent specifiek een derangement, een schudbeurt met de wiskundige eigenschap dat geen enkel element (persoon) op zijn eigen oorspronkelijke plek terechtkomt. Die garantie wordt afgedwongen door het algoritme, niet aan het toeval overgelaten zoals bij een gewone willekeurige schudbeurt.

Wat is het minimale aantal deelnemers?

Drie. Met slechts twee personen is een derangement onmogelijk zonder dat ze steeds simpelweg aan elkaar gekoppeld worden, wat niet echt willekeurig meer is, dus vereist de tool minstens drie deelnemers.

Hoe houden we de resultaten privé als we allemaal naar hetzelfde scherm kijken?

Ieders resultaat wordt verborgen achter een eigen "Tik om te onthullen"-knop in plaats van in één keer getoond te worden. Geef het toestel (of deel het scherm) om beurten door, laat iedereen alleen zijn eigen regel onthullen en noteren, en klik er daarna weer op om te verbergen voordat je doorgeeft aan de volgende.

Worden de namen of het trekresultaat naar een server gestuurd?

Nee. Alles — het lezen van de namen, het berekenen van de derangement en het tonen van de onthulknoppen — gebeurt volledig in je browser. Niets wordt geüpload, en het sluiten van het tabblad wist alles, dus er blijft nergens een trekgeschiedenis achter die per ongeluk kan verklappen.

Kan ik bepaalde koppels uitsluiten, zoals stellen die niet voor elkaar mogen kopen?

Op dit moment niet — de derangement garandeert alleen dat niemand aan zichzelf gekoppeld wordt, niet dat andere specifieke koppels zoals partners of broers/zussen worden vermeden. Als dat belangrijk is voor jouw groep, controleer het resultaat en trek handmatig opnieuw als een ongewenst koppel naar voren komt.

Wat gebeurt er als ik het tabblad ververs of sluit halverwege het onthullen?

De trekking gaat verloren — er wordt bewust niets bewaard tussen paginaladingen, zodat er geen achterblijvend record is dat de verrassing later kan bederven. Vul in dat geval gewoon de namen opnieuw in en trek opnieuw; je krijgt een nieuwe (andere) geldige derangement.

Kunnen twee mensen apart trekken en verschillende resultaten krijgen voor dezelfde namen?

Ja — elke trekking wordt opnieuw willekeurig gemaakt met `crypto.getRandomValues()`, dus dezelfde namenlijst twee keer invoeren levert zeer waarschijnlijk twee verschillende geldige derangementen op, niet dezelfde koppeling herhaald.

Is er een maximum aantal deelnemers?

Er is geen harde limiet ingesteld — het derangement-algoritme werkt hetzelfde of je nu 3 of 30 namen invoert. Zeer grote groepen kosten mogelijk iets meer rekentijd, maar in de praktijk merk je daar niets van tot een paar honderd namen.

Beïnvloedt de volgorde waarin ik namen typ wie aan wie wordt gekoppeld?

Nee — de schudbeurt is onafhankelijk van de invoervolgorde willekeurig, dus namen alfabetisch, per zitplan of in willekeurige volgorde typen heeft geen effect op de eerlijkheid of uitkomst van de trekking.

Gerelateerde tools