Random Grouping Tutorial
Detailed guide, best practices, and FAQ
Use Cases
The Random Grouping tool is ideal for classroom group activities, team task allocation, raffles, seating arrangements, shift scheduling, board game grouping, etc. No install needed — runs in the browser; names never uploaded.
Features
- Two modes: By group count / By per-group size
- Cryptographically secure: uses Web Crypto API getRandomValues, far fairer than Math.random
- Fisher-Yates shuffle: ensures every permutation has equal probability
- Smart remainder: extra members are distributed front-to-back
- Color-coded cards: each group gets a distinct color with numbered members
- Live preview: shows total count and projected group sizes as you type
- One-click copy: full result copied to clipboard
- Local processing: names and results stay in the browser; no network calls
Examples
Example 1: Scenario 1: Classroom — 30 students into 6 groups; pick "By group count" = 6, paste names, get 5 × 6.
Example 2: Scenario 2: Year-end raffle — 100 people into 3 prize tiers; pick "By group count" = 3; auto-distributes 34/33/33.
Example 3: Scenario 3: Board game — 8 players for Werewolf; pick "By group count" = 2; get 4 vs 4 factions.
Example 4: Scenario 4: Shift scheduling — 12 staff into 4 shifts; pick "By group count" = 4; fair 3 × 4 distribution.
Best Practices
- When pasting from Excel/CSV, use "paste as column" or clean in Notepad first (one name per line)
- Duplicate names are not deduplicated; dedupe externally if needed
- For reproducible results, screenshot the result (each click is a new random)
- Lists over 1000 items still work but consider splitting for responsiveness
- Web Crypto API works on HTTPS and localhost; auto-enabled in production
FAQ
Why is it fairer than Math.random?
Math.random is a pseudo-random number generator (PRNG) with theoretical predictability. Web Crypto API's getRandomValues uses the OS entropy pool (hardware noise), cryptographically secure and unpredictable — fairer grouping.
How are remainders handled? E.g. 30 people into 4 groups.
30 ÷ 4 = 7 remainder 2; the tool produces 8+8+7+7 (remainder distributed front-to-back), keeping group sizes within 1 of each other.
Are names uploaded to a server?
No. All processing is local in the browser; works offline. Open DevTools → Network to verify zero network requests.
Can I save the result?
Click "Copy Result" to copy to clipboard, then paste into Excel/Notion. The tool does not persist results; refresh clears them.