The classic way is paper slips in a hat, and it has a flaw that the table above puts numbers on. With 6 or more people there's a 63.2% chance that at least one person pulls their own name, and the figure barely changes as the group grows. On average it takes 2.72 full draws to get a clean one.
The tempting shortcut is to let that person put the slip back and draw again. It causes two problems. The last person can be left holding only their own name (a 7.6% chance with 10 people and 13.9% with 4), which forces a full restart anyway. And even when it works, it isn't fair: some pairings come out more often than others, up to 5 times as often with 6 people. The fair fix is to collect every slip and redraw from scratch.
An online draw skips all of this. Our Secret Santa generator only produces draws where nobody gets their own name, can keep couples apart, lets the organizer take part without seeing anyone's match, and gives each person a private link instead of a slip of paper. The draw is the one part of the Secret Santa rules a generator can take off your hands.