Paste names, pick how many teams, get a fair random split.
Names are shuffled with a cryptographically random Fisher-Yates shuffle, then dealt round-robin into the teams, so team sizes differ by at most one and the assignment is unbiased.
Set the number of teams you want; the tool balances sizes automatically. For a fixed size, pick the team count that gives that size (e.g. 20 people into teams of 4 = 5 teams).
Yes, it uses crypto.getRandomValues, not Math.random, so re-running gives genuinely different fair splits.