Pair any group into random partners. Numbered participants, no names needed. Bookmark the URL, share the exact configuration.
Random pairing is a richer problem than it first appears. For 10 participants, there are 45 possible individual pairings (the combination C(10,2) = 10! / (2! × 8!) = 45). The number of ways to divide all 10 into 5 complete pairs, however, is 945. This is the double factorial: 9!! = 9 × 7 × 5 × 3 × 1 = 945. Each of those 945 perfect matchings has equal probability in this generator, ensured by the Fisher-Yates shuffle operating on cryptographic randomness.
The pairing works in two steps. First, the numbers 1 through N are placed in an array and shuffled using the Fisher-Yates algorithm, where each swap position is chosen by crypto.getRandomValues(). Second, consecutive pairs are extracted from the shuffled array: positions 0-1 become Pair 1, positions 2-3 become Pair 2, and so on. If the count is odd, the final element stands alone. This approach guarantees uniform randomness: every participant has equal probability of being paired with every other participant, and every possible complete matching is equally likely.
Each reshuffle produces an independent random pairing with no memory of previous rounds. Over multiple reshuffles, any two participants will be paired together with probability 1/(N-1). For a class of 24, each student has a 1/23 ≈ 4.3% chance of being paired with any specific classmate on any given round. After 23 independent rounds, the expected number of times two specific students are paired is exactly 1. The randomness ensures no favoritism and no avoidance patterns that might emerge from manual assignment.
When the participant count is odd, one person remains unpaired. The tool marks this clearly with a dashed border and "Unpaired" label. In classroom settings, the unpaired participant can join an existing pair to form a trio, work independently, or serve as an observer. Each reshuffle gives a different person the unpaired role, distributing this status fairly across the group over multiple rounds. The probability of being unpaired on any given round is exactly 1/N for each participant.
Random pairing eliminates the social friction of "choose your own partner." Students who might never interact find themselves working together. Research on collaborative learning consistently finds that random assignment produces more diverse interactions and reduces clique formation over a semester. Project this page on the classroom screen, enter your class size, and tap Reshuffle. The cascade animation makes the reveal a shared moment. Students map their assigned number to their name: "I am number 7, who is number 3?"
For specific class sizes, bookmark the direct URL: /pairs/24 for a class of 24, /pairs/30 for 30. The URL IS the tool. Share it with a colleague teaching the same class size. The tool requires no accounts, stores no student data, and sets no tracking cookies.
This tool accepts a count, never a roster. Participants are numbered 1 through N. The mapping between numbers and real people exists only in your head or on your whiteboard. No personal data enters the system, travels over any network, or persists in any storage. The server delivers the page. Your browser generates the pairs. The result lives in your browser's memory until you close the tab or reshuffle.
Type the participant count directly into the address bar:
Send the link. Colleagues get the same tool for the same group size.
Daily Inspiration
Jury-selected work from the A' Design Award, presented fresh each morning.