Names in, matches out. Keep couples from drawing each other, share a private reveal link with each person β or print fold-and-pick cards β and nobody has to know who got whom. Not even you.
The hat-draw ritual has two classic failure modes: someone draws themselves, and the organizer ends up knowing everyone's match. This tool fixes both. Enter the names, add "can't match" rules for couples or housemates, and hit draw β every assignment is valid on the first try, and the reveal links mean each person sees only their own match, including you.
A neat trick: each reveal link carries its own match encoded in the part of the URL after the # symbol β the "fragment." Browsers never send the fragment to any server; it lives entirely in the link itself and is read by the page on the recipient's own device. So there's no database of assignments anywhere, no emails collected, and no account β the link is the assignment. (That's also why the same link always shows the same match.)
Enter the names, run the draw, and share each person's private reveal link however you like (text, chat, carrier pigeon). Each link shows only that person's match, and no email addresses enter the process at any point.
The match is encoded in the link itself, never stored on a server, so opening your link reveals your giftee and nothing else. Even the organizer can stay unspoiled, with an optional peek if someone loses their link.
Yes: set can't-match rules (spouses, siblings, last year's pairs) and the draw respects them while keeping everything else random.
Yes: print fold-and-pick cards, each with the giver's name outside and their match inside (rotated so it cannot be read through the fold), and pass the hat like tradition demands.
Fair by cryptographic randomness, secret by architecture: the draw runs on your device and matches live only in the links, so there is no list on a server for anyone to peek at.