Sorteador de equipes aleatório

Divida uma lista de nomes em equipes por sorteio com um embaralhamento Fisher-Yates criptograficamente justo. Tudo roda no seu navegador.

O sorteio acontece localmente no seu navegador. Sua lista de nomes não sai do dispositivo.

Cada linha é uma pessoa; linhas em branco são ignoradas.

Como funciona

Digite um nome por linha, escolha entre o número de equipes (2–10) ou um tamanho fixo, e a ferramenta distribui os grupos na hora: primeiro a lista é embaralhada e depois percorrida em ciclo, cada pessoa recebendo uma carta. Qualquer mudança — nome, modo, número — redistribui imediatamente, e o botão de novo sorteio gera um layout completamente novo.

Fisher-Yates com Web Crypto
O embaralhamento é o algoritmo clássico de Fisher-Yates (Knuth): percorre-se o array uma vez e cada posição troca com uma anterior escolhida de forma uniforme. A aleatoriedade vem do crypto.getRandomValues com amostragem com rejeição — valores que enviesariam a distribuição perto do topo do intervalo de 32 bits são descartados e sorteados de novo —, então o sorteio é imparcial do ponto de vista criptográfico.
Distribuição circular
Depois de embaralhar, o nome 1 vai para a equipe 1, o 2 para a equipe 2, e assim por diante, dando a volta. Como a ordem do baralho já é aleatória, distribuir em rotação fixa cria grupos individualmente imprevisíveis e coletivamente tão iguais quanto os números permitem: nenhuma equipe pode ficar com duas pessoas a mais que outra.
Por que embaralhar e dividir vence a escolha um a um
Puxar pessoas para as equipes uma a cada vez com uma escolha nova tende a produzir tamanhos desiguais e depende da ordem em que as equipes são preenchidas. Um único embaralhamento imparcial seguido de distribuição circular elimina os dois problemas — é exatamente como se faz com um baralho de cartas.

Perguntas frequentes

O sorteio é realmente justo?

Sim. Os nomes são distribuídos por um embaralhamento Fisher-Yates acionado pelo crypto.getRandomValues — a fonte aleatória criptográfica do navegador —, então cada permutação é igualmente provável, e os inteiros vêm por amostragem com rejeição para evitar o viés de módulo dos atalhos. Depois de embaralhar, a distribuição circular garante que os tamanhos das equipes diferem em no máximo uma pessoa.

Como funciona o modo de membros por equipe?

Você fixa o tamanho da equipe e a ferramenta calcula quantas equipes isso implica: 11 nomes em equipes de 4 viram 3 equipes, com a última ficando com o resto. O modo de número de equipes funciona ao contrário — você fixa a quantidade e os tamanhos saem o mais iguais possível.

E se duas pessoas tiverem o mesmo nome?

A ferramenta continua funcionando — duplicatas são tratadas como pessoas separadas porque cada linha é uma entrada —, mas ela mostra um aviso para você conferir se não foi engano de copiar e colar. Se forem duplicatas reais, adicione uma inicial ou um código curto (Sam K, Sam R) para as equipes impressas ficarem sem ambiguidade.

Posso travar alguém em uma equipe ou recuperar o sorteio anterior?

Não. Não há travas, histórico nem salvamento: cada sorteio é um sorteio novo e independente, e o layout anterior some no momento em que você embaralha de novo. Se um resultado for bom, copie-o antes de sortear novamente.

Algo é enviado para um servidor?

Não. O embaralhamento é JavaScript puro com a API Web Crypto dentro da sua aba. Sua lista de nomes nunca sai do dispositivo e nada é armazenado — recarregar a página apaga tudo.