Sorteador de listas
Embaralhe uma lista, escolha N ao acaso, ou tire um vencedor - sorteio criptograficamente justo.
Cole uma lista, escolha um modo: embaralhar, escolher N, dividir em equipes equilibradas, ou tirar um vencedor. Pondere entradas com nome:peso para rifas. Cada sorteio é criptograficamente aleatório e sem viés.
Como usar
Cole sua lista
Uma entrada por linha. Linhas vazias são ignoradas; ative aparar e remover duplicatas para limpar a entrada.
Escolha um modo
Embaralhar tudo, escolher N, formar equipes, ou tirar vencedor.
Rode o sorteio
Clique em Executar. A saída é a nova ordem, a seleção ou as equipes - copie ou clique num sorteio recente para trazê-lo de volta.
O que é?
Um sorteador de listas pega uma sequência de strings e produz uma permutação, uma amostra ou um sorteio único. A parte interessante não é o algoritmo (shuffle Fisher-Yates, amostragem k-de-n) - é a fonte de aleatoriedade. Math.random serve para uma rifa de hobby; para qualquer coisa que precise se defender, o CSPRNG por trás de window.crypto.getRandomValues é a ferramenta certa.
Quando usar
Tirar o vencedor de um giveaway. Embaralhar uma lista de alunos para a ordem de apresentação. Amostrar 10 linhas de um log de 1000 para uma passagem manual de QA. Aleatorizar uma playlist quando o app tem «shuffle» mas não mostra a ordem. Dividir uma equipe em duplas.
Erros comuns
Usar Math.random para um sorteio com peso - não é imparcial o suficiente, e versões antigas do Safari tinham fraquezas conhecidas. Esquecer que tirar de uma lista com duplicatas pedindo «único» devolve o conjunto único primeiro; deixe claro se «único» é por conteúdo ou por posição. E rodar o shuffle e depois ordenar a saída para exibição, o que anula o ponto.
FAQ
- Quão «aleatório» é o aleatório aqui?
- Criptograficamente seguro. Usamos crypto.getRandomValues, o CSPRNG do navegador - a mesma fonte que sustenta a geração de chaves TLS, com amostragem por rejeição para evitar viés de módulo. Para sorteios, rifas e qualquer coisa auditável, é mais do que suficiente.
- Escolher N: com ou sem reposição?
- Sem reposição por padrão - cada entrada pode ser escolhida no máximo uma vez. Ligue «permitir duplicatas» para amostragem com reposição (útil para stress-test ou simular dados).
- Dá para dividir uma lista em equipes?
- Sim. Escolha «Formar equipes», informe quantas equipes, e a lista é embaralhada e distribuída em rodízio em grupos equilibrados cujos tamanhos diferem em no máximo um.
- Posso dar mais chance a algumas entradas?
- Ligue «Ponderado» e acrescente :peso a uma linha, ex. «Alice:5». Entradas mais pesadas têm proporcionalmente mais chance de serem sorteadas. Linhas sem peso valem 1 por padrão.
Avalie esta ferramenta
Compartilhe sua experiência para ajudar outras pessoas.