Homsy

Secret Santa-generator

Skriv allas namn, håll isär par och dra. Varje person får en egen länk att öppna i telefonen och se vem hen köper till – inga mejl, inget konto, ingen app. Lägg till en budget och ett datum så följer de med i varje länk. Skriv ut QR-kort att dela ut i stället, och om dina regler gör en rättvis dragning omöjlig säger generatorn det och nämner vem som sitter fast.

Aisha Ben Carla Dev Elena Finn Grace Hugo

Exempelgrupp – lägg till ditt första namn så försvinner den.

8 personer, 3 regler. Redo att dra.

Namn per person

Tryck på två namn i ringen för att hålla isär dem. Låt det vara på om du själv är med.

Vilka som är med

8 av 40

Skriv ett namn och tryck på Enter, eller klistra in en hel lista – ett per rad eller åtskilda med kommatecken. Upp till 40 personer.

Håll isär

Par, de som bor ihop, förra årets par – alla som inte ska dra någon viss.

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

Uppgifterna

Valfritt. Det du fyller i här syns på varje avslöjandesida och varje kort.

Lägg generatorn på din webbplats

Klistra in de här två raderna på valfri sida – ett intranät på jobbet, en förenings webbplats, en familjeblogg. Dragningen fungerar inne i ramen, och länkarna den delar ut öppnas här.

Dragningen tar en minut. Resten av december är listor, och Homsy håller julklapparna, maten och vem som tar med vad i allas telefoner.

Dina namn, undantag, uppgifter och dragningen sparas i den här webbläsaren, så att du kan komma tillbaka och skicka en länk igen. Det finns inget konto, och rensar du webbläsarens data försvinner listan.

Så fungerar dragningen, och vad som finns i en länk

Varje person får dra vem som helst utom sig själv och dem du har hållit isär från hen. ”Varandra” tar bort båda riktningarna mellan två personer; ”åt ett håll” tar bara bort den ena. Innan något dras kontrollerar generatorn att det över huvud taget finns en dragning som följer varje regel. Med ett namn per person är det ett matchningsproblem – kan varje person få ett eget namn som hen får dra – och det besvaras exakt, inte genom att pröva och hoppas. När svaret är nej nämner sidan dem som orsakar det: en grupp givare som tillsammans får dra färre namn än de själva är. Halls giftermålssats säger att en dragning finns precis när ingen sådan grupp finns, så att nämna gruppen är att nämna orsaken.

Med ett namn per person är dragningen en blandning. Hela listan blandas med webbläsarens kryptografiska slumptalsgenerator, och blandningen behålls bara om varje person hamnade hos någon hen får dra; annars blandas den igen, upp till tjugotusen gånger. Att bara behålla de blandningar som klarar sig ger varje giltig dragning exakt samma chans. Först när reglerna lämnar så få giltiga dragningar att alla tjugotusen blandningar misslyckas faller sidan tillbaka på en slumpad sökning, som alltid hittar en men inte lovar varje dragning samma chans.

Med två namn per person är kontrollen ett flödesproblem: alla ger två gånger, alla får två gånger, ingen drar samma person två gånger. Själva dragningen är två omgångar av blandningen för ett namn, där den andra inte får upprepa den första. Det kommer nära lika chans för varje giltig dragning med två namn utan att vara exakt lika, och det säger vi hellre än att runda upp det.

Siffran i texten under verktyget är ren aritmetik. När alla i en grupp drar ett namn ur en mössa är andelen dragningar där ingen får sitt eget namn antalet fixpunktsfria permutationer delat med antalet ordningar: 9 av 24 för fyra personer, 44 av 120 för fem, 14 833 av 40 320 för åtta. Från fyra personer och uppåt ligger den mellan 36 % och 38 %, och den närmar sig ett delat med e, ungefär 36,8 %.

Varje länk bär en persons dragning: tillfällets namn, personens eget namn, namnet eller namnen hen köper till med eventuella ledtrådar du lagt till, budgeten, datumet, ditt meddelande, en dragningskod på fyra tecken och minuten då dragningen gjordes. Den är omkastad så att ett namn inte kan läsas i en blick i förhandsvisningen av ett meddelande. Det är inte kryptering: den som öppnar en länk ser vad den innehåller, så skicka bara var och en sin egen. De utskrivna korten bär samma länk som QR-kod, med felkorrigeringsnivå M, som enligt QR-standarden kan återställa ungefär 15 % av en skadad kod, eller nivå L, ungefär 7 %, för en länk som är för lång för M. Taket på fyrtio personer är vårt eget val – över det blir ringen med namn och sidan med kort oläsliga. Kalenderfilen på avslöjandesidan innehåller en heldagshändelse på dagen för utdelningen med en påminnelse en vecka före, och nämner dagen och budgeten men aldrig personen. Namnen, undantagen, uppgifterna och dragningen sparas i den här webbläsaren så att organisatören kan skicka en borttappad länk igen; det finns inget konto.

Var siffrorna kommer ifrån

  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

Varje siffra ovan är hämtad ur koden som körs på den här sidan. Där en siffra är vår egen bedömning i stället för en publicerad uppgift säger noten det, och hänvisar inte till någon källa. Metoden kontrollerades senast 28 september 2026.

Varför en dragning ur en mössa går fel

Lappar i en mössa fungerar fortfarande för fyra personer runt ett köksbord. Ju större gruppen blir, desto sämre fungerar det, och matematiken visar varför. För varje grupp på fyra eller fler ligger chansen att ingen drar sitt eget namn mellan 36 % och 38 % – de flesta dragningar ur en mössa måste alltså göras om, och den sista som drar kan inte göra om alls, eftersom hens lapp är den enda som är kvar. En generator gör om dragningen åt dig, osynligt, så många gånger som behövs.

Undantag är det andra sättet en mössa misslyckas. Den kan inte veta att två av namnen är ett par som ändå skulle köpa till varandra, eller att samma två drog varandra förra året. Varje regel du lägger till gör en dragning ur mössan mer sårbar, och efter en viss punkt finns det ingen dragning alls som följer varje regel – något en mössa aldrig säger. Den här generatorn kontrollerar först, och när alla regler inte kan gälla samtidigt nämner den personerna som är klämda och namnen de är klämda mellan, så att du vet vilket undantag du ska stryka.

Det tredje problemet är den som organiserar. Någon måste göra dragningen, och i de flesta grupper vill den personen också bli överraskad. Här förblir paren dolda om du inte ber att få se dem, och varje person ser sitt namn i sin egen telefon, så organisatören kan vara med som alla andra.

Bestäm budget och datum före dragningen, inte efter: en summa på varje kort är det som hindrar att en person gör av med tre gånger så mycket som alla andra. För resten av listan går att planera julklappar igenom hur ni sätter en summa per person, och Julplanerare att skriva ut samlar julklapparna, middagen och nedräkningen på tre ark. Om Secret Santa är en del av en familjejul går att planera julmiddagen igenom vem som tar med vad, och Kalkylator för rättvis fördelning av familjens utgifter delar de gemensamma kostnaderna efteråt.

Den ärliga gränsen gäller varje länk: den når bara den du skickar den till. Om någon tappar bort sin, öppna den här sidan på enheten där du gjorde dragningen – dragningen är sparad i den webbläsaren – och skicka den igen.

Vanliga frågor

Hur fungerar den här Secret Santa-generatorn?

Skriv allas namn, markera vilka som inte får dra varandra, lägg till en budget och ett datum om du vill och tryck på ”Dra namn”. Varje person får en egen länk. Skicka den via WhatsApp, sms, Slack eller vad som helst som kan bära en länk; när personen öppnar den packas ett paket upp i telefonen och visar vem hen ska köpa till, med budgeten, datumet och varje ledtråd du har lagt till.

Behöver jag allas mejladresser?

Nej. Det finns inga mejl, inga konton och inget att registrera sig för. Generatorn ger dig en länk per person och du skickar den på det sätt som gruppen redan pratar med varandra. Om en del av gruppen är i samma rum kan du skriva ut QR-korten och dela ut dem i stället.

Hur hindrar jag att par drar varandra?

Håll isär dem. Välj två namn och välj ”varandra” för ett par eller för dem som bor ihop, eller ”åt ett håll” när bara den ena inte får dra den andra – förra årets par, till exempel. Du kan också trycka på två namn i ringen. Varje dragning följer varje regel du ställer in, och ringen visar varje regel som en knut mellan de två namnen.

Vad händer om det inte finns någon giltig dragning?

Generatorn säger det innan den drar och berättar vem som sitter fast – till exempel: ”Aisha, Ben och Carla kan tillsammans bara dra från Dev och Elena: tre personer, två namn.” Det händer när undantagen lämnar en grupp med färre namn att dra från än det finns personer i den. Ta bort ett av deras undantag och dra igen.

Kan den som organiserar se vem som fick vem?

Bara om hen vill. Dragningen görs i organisatörens telefon eller dator, och paren förblir dolda tills organisatören slår på dem, så en organisatör som själv är med kan göra dragningen och ändå bli överraskad. Alla länkar finns dock på organisatörens skärm, och den som öppnar en länk ser vad den innehåller – så skicka bara var och en sin egen och öppna dem inte själv.

Kan alla köpa till två personer?

Ja. Ställ ”Namn per person” på två så drar alla två namn och blir dragna två gånger, utan att någon drar samma person två gånger. Undantagen gäller fortfarande. Det kräver minst tre personer, och i en grupp med många undantag är det större risk att det inte finns någon giltig dragning med två namn – generatorn säger till när det är så.

Fungerar det med ett udda antal personer?

Ja. Secret Santa är en kedja, inte en samling par, så alla antal från tre till fyrtio fungerar. Med två personer finns det inget hemligt med det, så generatorn ber om en tredje.

Vad händer om jag drar igen?

Alla får en ny länk. Länkar från den tidigare dragningen går fortfarande att öppna och visar den tidigare dragningen, eftersom varje länk bär sitt eget resultat. Varje avslöjandesida och varje kort visar en dragningskod på fyra tecken och tiden för dragningen, så berätta för gruppen vilken kod som gäller och skicka de nya länkarna.

Kan jag skriva ut dragningen?

Ja, på två sätt. Korten skrivs ut åtta per sida, ett per person, med namnet på framsidan och en QR-kod som öppnar avslöjandet; klipp ut dem och dela ut. Listan skriver ut varje namn bredvid sin länk, med en ruta att bocka för när du har skickat den. Välj ”Spara som PDF” i utskriftsfönstret om du hellre vill ha en fil.

Är dragningen verkligen slumpmässig?

Ja. Med ett namn per person blandar generatorn hela listan med webbläsarens kryptografiska slumptalsgenerator och behåller blandningen bara om alla hamnade hos någon de får dra, så varje giltig dragning har samma chans. Med två namn per person gör den så i två omgångar, där den andra inte får upprepa den första, vilket kommer nära lika chans utan att vara exakt lika.

Sparar generatorn min lista?

Ja, i den här webbläsaren. Namnen, undantagen, uppgifterna och dragningen ligger i webbläsarens lokala lagring, så att du kan komma tillbaka senare och skicka en länk igen till någon som tappat bort sin. Det finns inget konto, och rensar du webbläsarens data försvinner listan.

Liknande verktyg

Håll resten av december på en lista med Homsy

Dragningen tar en minut. Resten av december är listor – julklapparna, maten, vem som tar med vad. Homsy håller dem i allas telefoner, delade med dem som gör jobben.