Homsy

Secret Santa-generator

Skriv inn alle navnene, hold par fra hverandre, og trekk. Hver person får sin egen lenke som de åpner på telefonen for å se hvem de skal kjøpe til — ingen e-poster, ingen registrering, ingen app. Legg til et budsjett og en dato, så følger de med i hver lenke. Skriv ut QR-kort til å dele ut i stedet, og hvis reglene dine gjør en rettferdig trekning umulig, sier generatoren fra og nevner hvem som står fast.

Aisha Ben Carla Dev Elena Finn Grace Hugo

Eksempelgruppe — legg til ditt første navn, så forsvinner den.

8 personer, 3 regler. Klar til trekning.

Navn hver

Trykk på to navn på ringen for å holde dem fra hverandre. La den stå på hvis du selv er med.

Hvem er med

8 av 40

Skriv et navn, og trykk på Enter, eller lim inn en hel liste — ett per linje eller skilt med komma. Opptil 40 personer.

Hold fra hverandre

Par, folk som bor sammen, fjorårets par — alle som ikke skal trekke en bestemt person.

  • Aisha ⇄ Ben
  • Dev ⇄ Elena
  • Finn → Grace

Detaljene

Valgfritt. Det du fyller ut her, vises på hver visningsside og hvert kort.

Legg generatoren på nettstedet ditt

Lim inn disse to linjene på en hvilken som helst side — et intranett på jobben, nettsiden til en klubb, en familieblogg. Trekningen fungerer inne i rammen, og lenkene den deler ut, åpnes her.

Trekningen tar et minutt. Resten av desember er lister, og Homsy har gavene, maten og hvem som tar med hva, på alles telefon.

Navnene, reglene, detaljene og trekningen lagres i denne nettleseren, så du kan komme tilbake og sende en lenke på nytt. Det er ingen konto, og sletter du nettleserdataene dine, slettes listen.

Slik fungerer trekningen, og hva som ligger i en lenke

Hver person kan trekke alle unntatt seg selv og dem du har holdt fra dem. «Hverandre» fjerner begge retninger mellom to personer; «én vei» fjerner bare den ene. Før noe trekkes, sjekker generatoren om det i det hele tatt finnes en trekning som holder alle reglene. Med ett navn hver er det et matchingproblem — kan hver person få et forskjellig navn de har lov til å trekke — og det besvares nøyaktig, ikke ved å prøve og håpe. Når svaret er nei, nevner siden personene som er årsaken: en gruppe givere som til sammen har lov til å trekke færre navn enn det er personer i gruppen. Halls ekteskapsteorem (Hall's marriage theorem) sier at en trekning finnes nøyaktig når ingen slik gruppe finnes, så å nevne gruppen er å nevne årsaken.

Med ett navn hver er trekningen en stokking. Hele listen stokkes med nettleserens kryptografiske tilfeldighetsgenerator, og stokkingen beholdes bare hvis hver person har landet på noen de har lov til å trekke; ellers stokkes den på nytt, opptil tjue tusen ganger. Ved å beholde bare stokkingene som består, får hver gyldig trekning nøyaktig samme sjanse. Bare når reglene gir så få gyldige trekninger at alle tjue tusen stokkingene feiler, faller siden tilbake på et tilfeldig søk, som alltid finner en, men ikke lover hver trekning lik sjanse.

Med to navn hver er sjekken et flytproblem: alle gir to, alle mottar to, og ingen trekker samme person to ganger. Selve trekningen er to runder av stokkingen med ett navn, der den andre runden ikke får gjenta den første. Det kommer nær lik sjanse for hver gyldig trekning med to navn uten å være helt lik, og det sier vi heller enn å runde opp.

Tallet i teksten under verktøyet er vanlig regning. Når alle i en gruppe trekker ett navn fra en hatt, er andelen trekninger der ingen får sitt eget navn, antallet permutasjoner uten fikspunkter (derangements) delt på antallet rekkefølger: 9 av 24 for fire personer, 44 av 120 for fem, 14 833 av 40 320 for åtte. Fra fire personer og oppover ligger den mellom 36 % og 38 %, og den ender på én delt på e, omtrent 36,8 %.

Hver lenke bærer én persons trekning: navnet på arrangementet, deres eget navn, navnet eller navnene på dem de kjøper til, med eventuelle hint du har lagt til, budsjettet, datoen, beskjeden din, en trekningskode på fire tegn og minuttet trekningen ble gjort. Den er forvrengt, så et navn ikke kan leses ved et raskt blikk i en forhåndsvisning av en melding. Det er ikke kryptering: alle som åpner en lenke, ser hva den inneholder, så send hver person bare sin egen. De utskrevne kortene bærer den samme lenken som en QR-kode, med feilrettingsnivå M, som QR-standarden angir kan gjenopprette omtrent 15 % av et skadet symbol, eller nivå L, omtrent 7 %, for en lenke som er for lang for M. Grensen på førti personer er vårt eget valg — over den blir ringen av navn og siden med kort uleselige. Kalenderfilen på visningssiden inneholder én heldagshendelse på byttedagen med en påminnelse en uke før, og den nevner dagen og budsjettet, men aldri personen. Navnene, reglene, detaljene og trekningen lagres i denne nettleseren, så arrangøren kan sende en mistet lenke på nytt; det er ingen konto.

Hvor tallene kommer fra

  1. 1. On Representatives of Subsets (Hall's marriage theorem) — P. Hall, Journal of the London Mathematical Society, 1935
  2. 2. A000166: Subfactorial or rencontres numbers, or derangements — The On-Line Encyclopedia of Integer Sequences
  3. 3. ISO/IEC 18004:2015 — QR Code bar code symbology specification — International Organization for Standardization
  4. 4. Crypto: getRandomValues() method — MDN Web Docs, Mozilla

Hvert tall over er lest ut av koden som kjører på denne siden. Der et tall er vårt eget skjønn og ikke hentet fra en kilde, sier notatet det og viser ikke til noe. Metoden ble sist sjekket 28. september 2026.

Hvorfor trekning fra en hatt går galt

Navn i en hatt fungerer fortsatt for fire personer rundt kjøkkenbordet. De slutter å fungere når gruppen vokser, og regnestykket viser hvorfor. For enhver gruppe på fire eller flere ligger sjansen for at ingen trekker sitt eget navn, mellom 36 % og 38 % — så de fleste trekninger fra en hatt må tas på nytt, og den siste som trekker, kan ikke ta noe på nytt i det hele tatt, fordi lappen deres er den eneste som er igjen. En generator tar trekningen på nytt for deg, usynlig, så mange ganger som trengs.

Regler er den andre måten en hatt svikter på. Den kan ikke vite at to av navnene er et par som uansett skulle kjøpe til hverandre, eller at de samme to trakk hverandre i fjor. Hver regel du legger til, gjør det mer sannsynlig at trekningen fra hatten går galt, og etter et visst punkt finnes det ingen trekning i det hele tatt som holder alle reglene — og det sier en hatt aldri fra om. Denne generatoren sjekker først, og når ikke alle reglene kan holde, nevner den personene som er klemt, og navnene de er klemt inn mot, så du vet hvilken regel du bør droppe.

Det tredje problemet er arrangøren. Noen må stå for trekningen, og i de fleste grupper vil den personen også bli overrasket. Her forblir parene skjult med mindre du ber om å se dem, og hver person ser sitt eget navn på sin egen telefon, så arrangøren kan være med som alle andre.

Bli enige om budsjettet og datoen før trekningen, ikke etterpå: et beløp skrevet på hvert kort er det som hindrer at én person bruker tre ganger så mye som alle andre. For resten av listen tar planlegging av julegaver for seg hvordan du setter et beløp per person, og Juleplanlegger til utskrift samler gavene, middagen og nedtellingen på tre ark. Hvis Secret Santa er en del av en familiejul, tar planlegging av julemiddagen for seg hvem som tar med hva, og kalkulatoren for rettferdig fordeling av utgifter gjør opp de felles kostnadene etterpå.

Den ærlige grensen er den samme som for alle lenker: den når bare den du sender den til. Hvis noen mister sin, kan du åpne denne siden på enheten du trakk på — trekningen er lagret i den nettleseren — og sende den på nytt.

Ofte stilte spørsmål

Hvordan fungerer denne Secret Santa-generatoren?

Skriv inn alle navnene, marker dem som ikke skal trekke hverandre, legg til et budsjett og en dato hvis dere vil, og trykk på Trekk. Hver person får sin egen lenke. Send den på WhatsApp, SMS, Slack eller hva som helst annet som kan bære en lenke; når de åpner den, pakker en gave seg opp på telefonen deres og viser hvem de skal kjøpe til, med budsjettet, datoen og et eventuelt hint du har lagt til.

Trenger jeg e-postadressen til alle?

Nei. Det er ingen e-poster, ingen kontoer og ingenting å registrere seg for. Generatoren gir deg én lenke per person, og du sender den slik gruppen allerede snakker sammen. Hvis noen av dere er i samme rom, kan du skrive ut QR-kortene i stedet og dele dem ut.

Hvordan hindrer jeg at par trekker hverandre?

Hold dem fra hverandre. Velg to navn, og velg «hverandre» for et par eller noen som bor sammen, eller «én vei» når bare den ene ikke skal trekke den andre — for eksempel fjorårets par. Du kan også trykke på to navn på ringen. Hver trekning holder alle reglene du har satt, og ringen viser hver regel som en knute mellom de to navnene.

Hva om det ikke finnes noen gyldig trekning?

Generatoren sier fra før den trekker, og forteller hvem som står fast — for eksempel «Aisha, Ben og Carla kan bare trekke blant Dev og Elena til sammen: tre personer, to navn». Det skjer når reglene gir en gruppe færre navn å trekke enn det er personer i gruppen. Fjern en av reglene deres, og trekk på nytt.

Kan arrangøren se hvem som fikk hvem?

Bare hvis arrangøren velger det. Trekningen skjer på arrangørens telefon eller datamaskin, og parene forblir skjult med mindre arrangøren slår dem på, så en arrangør som selv er med, kan stå for trekningen og likevel bli overrasket. Alle lenkene står riktignok på arrangørens skjerm, og alle som åpner en lenke, ser hva den inneholder — så send hver person bare sin egen, og ikke åpne dem selv.

Kan alle kjøpe til to personer?

Ja. Sett «Navn hver» til to, så trekker alle to navn og blir selv trukket to ganger, uten at noen trekker samme person to ganger. Reglene gjelder fortsatt. Det krever minst tre personer, og en gruppe med mange regler har større sjanse for at det ikke finnes noen gyldig trekning med to navn — generatoren sier fra når det er tilfellet.

Fungerer det med et oddetall personer?

Ja. Secret Santa er en kjede og ikke en rekke par, så alle antall fra tre til førti fungerer. Med to personer er det ingenting hemmelig ved det, så generatoren ber om en tredje.

Hva skjer hvis jeg trekker på nytt?

Alle får en ny lenke. Lenker fra den forrige trekningen kan fortsatt åpnes og viser fortsatt den forrige trekningen, fordi hver lenke bærer sitt eget resultat. Hver visningsside og hvert kort viser en trekningskode på fire tegn og tidspunktet for trekningen, så si til gruppen hvilken kode som gjelder, og send de nye lenkene.

Kan jeg skrive ut Secret Santa-trekningen?

Ja, på to måter. Kortene skrives ut åtte per side, ett per person, med navnet på forsiden og en QR-kode som åpner visningen deres; klipp dem ut, og del dem rundt. Listen skriver ut hvert navn ved siden av lenken, med en boks du kan krysse av når du har sendt den. Velg Lagre som PDF i utskriftsvinduet hvis du heller vil ha en fil.

Er trekningen virkelig tilfeldig?

Ja. Med ett navn hver stokker generatoren hele listen med nettleserens kryptografiske tilfeldighetsgenerator og beholder stokkingen bare hvis alle har landet på noen de har lov til å trekke, så hver gyldig trekning har samme sjanse. Med to navn hver kjører den to runder av dette, der den andre ikke får gjenta den første, og det kommer nær lik sjanse uten å være helt lik.

Lagrer generatoren listen min?

Ja, i denne nettleseren. Navnene, reglene, detaljene og trekningen lagres i nettleserens lokale lagring, så du kan komme tilbake senere og sende en lenke på nytt til noen som har mistet sin. Det er ingen konto, og sletter du nettleserdataene dine, slettes listen.

Beslektede verktøy

Hold resten av desember på én liste med Homsy

Trekningen tar et minutt. Resten av desember er lister — gavene, maten, hvem som tar med hva. Homsy har dem på alles telefon, delt med dem som skal gjøre jobben.