Precisa sortear o vencedor de um prêmio, escolher qual aluno vai responder à pergunta ou decidir quem vai lavar a louça? Este sorteador de nomes escolhe de forma imparcial a partir de qualquer lista que você colar. Coloque suas entradas na caixa “Itens” — uma por linha ou separadas por vírgulas —, defina a quantidade desejada em “Quantidade” e pressione “Gerar”. Uma lista precisa de pelo menos dois itens e comporta até 1000, com no máximo 200 caracteres cada.
Cada sorteio é feito diretamente no seu navegador usando a Web Crypto API (crypto.getRandomValues), que fornece valores aleatórios com segurança criptográfica a partir da aleatoriedade do próprio sistema. A sua lista nunca é enviada para um servidor, nunca é registrada e nós nunca a vemos — algo ainda mais importante aqui, porque o que as pessoas colam costuma ser uma lista de clientes, uma chamada escolar ou nomes de colegas. O botão “Carregar do arquivo” mantém a mesma promessa: é o seu navegador que lê o arquivo e preenche a caixa localmente, sem enviar nada para a internet.
As opções foram feitas para as listas que as pessoas realmente usam. A opção “Separador” fica em “Automático”, que consegue diferenciar quebras de linha e vírgulas, de modo que uma lista copiada de uma planilha, de uma mensagem ou de um documento funciona sem precisar de ajustes. Mude para “Quebra de linha”, “Vírgula” ou “Espaço” quando os seus dados misturarem formatos — e note que “Espaço” é sempre uma escolha manual e nunca automática, porque entradas como nomes completos já contêm espaços, e separá-los por padrão estragaria a maioria das listas. O campo “Quantidade” decide quantos itens sortear, de 1 a 100. Vai sortear três prêmios entre 200 participantes? Cole os participantes, ajuste a “Quantidade” para 3 e pressione “Gerar”. Dois controles só se aplicam quando a quantidade é 2 ou mais, e ficam desabilitados até lá: “Sem repetições”, que decide se o mesmo item pode ser sorteado duas vezes, e “Formato de saída”, que define como as escolhas são separadas — “Um em cada linha”, “Separado por espaços” ou “Separado por vírgulas”.
Uma fileira de botões dentro da caixa “Itens” faz as edições que você normalmente faria em outro lugar. “Carregar do arquivo” puxa uma lista diretamente de um arquivo de texto ou CSV. “Embaralhar” reordena as entradas na caixa, “Classificar” as organiza em ordem alfabética (com os números ordenados naturalmente, e um segundo clique inverte a ordem) e “Limpar” esvazia a caixa. O botão “Preencha com dados de amostra” insere uma lista curta de exemplo para você testar a ferramenta com um clique, enquanto “Expandir para caber no conteúdo” estica a caixa para mostrar uma lista longa inteira e “Recolher para o tamanho padrão” a fecha de volta. Abaixo do resultado, “Copiar tudo” coloca todas as escolhas na sua área de transferência, “Salvar em arquivo” as baixa para o computador, e o “Histórico” guarda os seus últimos 10 sorteios no navegador, deixando um resultado anterior a apenas um clique de distância.
Como o sorteio é realmente feito? Quando você pressiona “Gerar”, a página pede ao navegador valores aleatórios por meio de crypto.getRandomValues e os usa para escolher posições na sua lista, em vez de passar por uma função pseudoaleatória do JavaScript como Math.random(). Transformar um valor bruto de 32 bits em uma posição é onde a maioria das ferramentas erra silenciosamente: usar o módulo do valor pelo tamanho da lista é a abordagem óbvia, porém enviesada, porque a menos que o tamanho da lista divida 2^32 com exatidão, as entradas perto do início da lista saem com uma frequência ligeiramente maior. Essa falha se chama viés de módulo (modulo bias), e é algo mensurável em vez de teórico. Em vez disso, este sorteador descarta qualquer valor que ultrapasse o maior múltiplo exato do tamanho da lista e realiza um novo sorteio — uma técnica chamada amostragem de rejeição (rejection sampling). Ela custa alguns sorteios a mais, mas oferece uma garantia exata em vez de aproximada. A posição na lista não muda nada: a primeira e a última entrada têm a mesma probabilidade em cada sorteio.
O botão “Sem repetições” separa dois tipos fundamentalmente diferentes de sorteio, e a estatística tem um nome para cada um. Quando ele está ativado, o sorteador embaralha uma cópia da sua lista com o algoritmo de Fisher-Yates e retira as entradas do topo — o equivalente a tirar papéis de um chapéu sem colocá-los de volta, o que garante que ninguém seja escolhido duas vezes e que qualquer grupo desse tamanho tenha a mesma chance. Essa é a amostragem sem reposição (sampling without replacement), ideal para sorteios de prêmios, equipes e ordem de turnos. Com ele desativado, cada escolha é feita de forma independente da lista inteira, então a mesma entrada pode sair mais de uma vez — a amostragem com reposição (sampling with replacement), ideal para quando todos continuam elegíveis a cada rodada, como em sorteios repetidos ou em uma amostra estatística rápida. Nenhum dos modos é mais justo que o outro; eles servem para propósitos diferentes.
Um sorteio justo não foi feito para parecer justo. Sorteie cinco nomes entre dez e você verá regularmente duas escolhas que estavam lado a lado na lista original, ou o mesmo nome saindo duas vezes seguidas quando as repetições são permitidas, e tudo isso é perfeitamente normal. Cada sorteio é independente: escolhas anteriores não têm absolutamente nenhuma influência sobre as posteriores, e ninguém passa a “merecer” uma vitória por estar esperando há mais tempo. O instinto que insiste o contrário é a falácia do apostador (gambler's fallacy), e é esse mesmo instinto que nos torna péssimos em escolher aleatoriamente por conta própria — se pedirem para escolhermos ao acaso, evitamos a primeira e a última entrada, evitamos repetir um nome e espalhamos nossas escolhas de forma muito mais uniforme do que o acaso faria. Um resultado que parece suspeitosamente organizado é a marca registrada de um ser humano; a verdadeira aleatoriedade produz agrupamentos.
Por que escolher este sorteador de nomes?
- Sorteio restrito ao navegador: a sua lista é lida no dispositivo e nunca é enviada a lugar nenhum
- Aleatoriedade da Web Crypto API: segurança criptográfica em vez de Math.random()
- Sem viés de módulo: a amostragem de rejeição mantém chances iguais para todas as entradas
- Qualquer formato de lista: um por linha, por vírgula ou por espaço, sem reformatar
- Modo “Sem repetições”: sorteie vencedores ou equipes sem que ninguém seja escolhido duas vezes
- Até 1000 entradas e até 100 escolhas em um único sorteio
- Ferramentas integradas: carregar do arquivo, embaralhar, classificar, limpar, dados de amostra
- Histórico e Salvar em arquivo: guarde o registro de um sorteio que você precise justificar
- Ilimitado e gratuito: sem cadastro, sem limites de uso, nada armazenado em nossos servidores
Sorteios aleatórios são usados sempre que uma escolha precisa sobreviver a questionamentos. Nas escolas, os professores chamam alunos sem favoritismo e dividem a turma para a feira de ciências. Streamers e criadores de conteúdo sorteiam brindes na frente de um público que precisa confiar no resultado. No Brasil, o sorteador resolve rapidamente quem ganha a rifa beneficente, quem tira quem no amigo secreto ou qual será a ordem de uma apresentação. Na pesquisa, coleta-se uma amostra aleatória de registros para uma auditoria. Em casa, acaba com a discussão sobre o que assistir, e um grupo indeciso finalmente escolhe qual lanche pedir. O ponto em comum é uma seleção que qualquer um consegue explicar depois: o sorteio usa aleatoriedade criptográfica, acontece inteiramente no seu dispositivo, e o “Histórico” mantém o resultado caso alguém pergunte mais tarde.
Este sorteador tem alguns limites honestos que valem a pena conhecer. A ferramenta não consegue extrair mais entradas distintas do que a sua lista possui — três vencedores precisam de pelo menos três nomes — e o limite máximo é de 1000 itens de 200 caracteres cada, com até 100 escolhas em um mesmo sorteio. Os botões “Embaralhar” e “Classificar” funcionam linha por linha, então uma lista separada por vírgulas colada em uma única linha só será reordenada depois que for dividida em uma entrada por linha; além disso, ambos reorganizam a caixa, e não o sorteio em si, que continua igualmente justo, não importa a ordem dos itens. Pelo seu próprio design, cada entrada também tem exatamente o mesmo peso, então um sorteio onde um nome deve contar em dobro exige que esse nome seja listado duas vezes. Dentro desses limites, a garantia é forte: cada entrada da sua lista tem exatamente a mesma chance, a cada sorteio individual.