Sorteador de nomes

Cole qualquer lista para fazer um sorteio seguro e imparcial. A escolha é processada localmente no seu dispositivo e os seus dados permanecem sempre privados.

Prima «Gerar» para sortear
O separador é detetado automaticamente, mas pode escolher um abaixo.
Opções avançadas

Precisa de sortear o vencedor de um prémio, escolher que aluno vai responder à pergunta ou decidir quem vai lavar a loiça? Este sorteador de nomes para Portugal escolhe de forma imparcial a partir de qualquer lista que colar. Coloque as entradas na caixa «Itens» — uma por linha ou separadas por vírgulas —, defina a quantidade desejada em «Quantidade» e prima «Gerar». Uma lista precisa de pelo menos dois itens e comporta até 1000, com um máximo de 200 carateres 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 é registada e nós nunca a vemos — algo ainda mais importante aqui, porque o que as pessoas colam costuma ser uma lista de clientes, uma pauta escolar ou nomes de colegas. O botão «Carregar do arquivo» mantém a mesma promessa: é o seu navegador que lê o ficheiro 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 distinguir quebras de linha de vírgulas por conta própria, de modo a que uma lista copiada de uma folha de cálculo, de uma mensagem ou de um documento funcione sem precisar de ajustes. Mude para «Quebra de linha», «Vírgula» ou «Espaço» quando os 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 predefiniçã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 prima «Gerar». Dois controlos só se aplicam quando a quantidade é 2 ou mais, e ficam desativados 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 normalmente faria noutro lugar. «Carregar do arquivo» puxa uma lista diretamente de um ficheiro de texto ou CSV. «Embaralhar» reordena as entradas na caixa, «Classificar» organiza-as por 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 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 área de transferência, «Guardar em ficheiro» transfere o resultado para o computador, e o «Histórico» guarda os últimos 10 sorteios no navegador, deixando um resultado anterior a apenas um clique de distância.

Como o sorteio é realmente feito? Quando prime «Gerar», a página pede ao navegador valores aleatórios por meio de crypto.getRandomValues e usa-os para escolher posições na lista, em vez de passar por uma função pseudoaleatória do JavaScript como Math.random(). Transformar um valor bruto de 32 bits numa 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. Esta falha chama-se 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). 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 controlo «Sem repetições» separa dois tipos fundamentalmente diferentes de sorteio, e a estatística tem um nome para cada um. Quando está ativado, o sorteador embaralha uma cópia da lista com o algoritmo de Fisher-Yates e retira as entradas do topo — o equivalente a tirar papéis de um chapéu sem os voltar a colocar, o que garante que ninguém seja escolhido duas vezes e que qualquer grupo desse tamanho tenha a mesma probabilidade. Esta é a amostragem sem reposição (sampling without replacement), ideal para sorteios de prémios, equipas e ordem de turnos. Com ele desativado, cada escolha é feita de forma independente da lista inteira, por isso 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 ronda, como em sorteios repetidos ou numa amostra estatística rápida. Nenhum dos modos é mais justo que o outro; servem propósitos diferentes.

Um sorteio justo não foi feito para parecer justo. Sorteie cinco nomes entre dez e verá regularmente duas escolhas que estavam lado a lado na lista original, ou o mesmo nome a sair duas vezes seguidas quando as repetições são permitidas, e tudo isto é 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 à espera há mais tempo. O instinto que insiste no contrário é a falácia do apostador (gambler's fallacy), e é esse mesmo instinto que nos torna péssimos a escolher aleatoriamente por conta própria — se nos pedirem para escolhermos ao acaso, evitamos a primeira e a última entrada, evitamos repetir um nome e espalhamos as nossas escolhas de forma muito mais uniforme do que o acaso faria. Um resultado que parece suspeitamente organizado é a marca registada de um ser humano; a verdadeira aleatoriedade produz aglomerados.

Porquê escolher este sorteador de nomes?

Sorteios aleatórios são usados sempre que uma escolha precisa de sobreviver a questionamentos. Nas escolas, os professores chamam alunos sem favoritismo e dividem a turma em grupos de trabalho. Em Portugal, uma escolha imparcial resolve rapidamente quem ganha a rifa de escola ou de coletividade, quem calha a quem num amigo secreto no trabalho ou a ordem de uma apresentação. Na investigação, recolhe-se uma amostra aleatória de registos para uma auditoria. Em casa, acaba com a discussão sobre o filme a ver, e um grupo indeciso finalmente escolhe de que restaurante encomendar o jantar. O ponto em comum é uma seleção que qualquer pessoa 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 de uma rifa precisam de pelo menos três nomes — e o limite máximo é de 1000 itens de 200 carateres cada, com até 100 escolhas num mesmo sorteio. Os botões «Embaralhar» e «Classificar» funcionam linha a linha, por isso uma lista separada por vírgulas colada numa única linha só será reordenada depois de ser dividida numa 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 deva contar a dobrar exige que esse nome seja listado duas vezes. Dentro destes limites, a garantia é forte: cada entrada da sua lista tem exatamente a mesma probabilidade, a cada sorteio individual.

FAQ

Como faço para sortear um nome aleatório de uma lista?

Cole os nomes na caixa «Itens» — um em cada linha, ou separados por vírgulas ou espaços —, deixe a «Quantidade» em 1 e prima «Gerar». Um nome será sorteado na hora. Para vários nomes de uma só vez, aumente a «Quantidade» para o número que precisa.

A escolha é realmente justa?

Sim. Cada escolha usa a Web Crypto API do seu navegador (crypto.getRandomValues) em conjunto com a amostragem de rejeição, o que elimina o viés de módulo que uma implementação ingénua traria. Cada entrada tem exatamente a mesma probabilidade, não importa a posição na lista, e o sorteio de várias entradas distintas usa um embaralhamento de Fisher-Yates, garantindo que qualquer grupo desse tamanho seja igualmente provável.

A minha lista é enviada para o vosso servidor?

Não. Todo o sorteio acontece localmente no seu navegador: a lista, as escolhas e o histórico nunca saem do seu dispositivo, pelo que é perfeitamente seguro colar nomes, e-mails ou qualquer lista privada da sua empresa ou coletividade. O botão «Carregar do arquivo» também é local — o próprio navegador lê o ficheiro e nada é enviado para a rede.

Posso colar uma lista separada por vírgulas ou espaços em vez de um item por linha?

Sim. A opção «Separador» está em «Automático», que consegue distinguir quebras de linha de vírgulas por conta própria, permitindo que uma lista copiada de uma folha de cálculo, mensagem ou documento funcione tal como está. Uma lista separada por espaços exige um passo extra — mude o «Separador» para «Espaço» —, porque entradas como nomes completos contêm espaços internos e nunca são divididas dessa forma automaticamente. Trave o «Separador» em «Quebra de linha» ou «Vírgula» se os seus dados misturarem formatos.

O que faz a opção «Sem repetições»?

Com o controlo «Sem repetições» ativado, cada entrada sorteada é diferente — como tirar papéis de um chapéu sem os voltar a colocar, o que é ideal para sorteios de prémios ou divisão de equipas. Com ele desativado, a mesma entrada pode ser sorteada mais de uma vez, um processo a que os estatísticos chamam de amostragem com reposição.

Porque estão os controlos «Sem repetições» e «Formato de saída» desativados?

Porque ambos só se aplicam quando sorteia mais de uma entrada, como diz a dica ao lado deles: «Aplica-se apenas se a quantidade for superior a 1.» Aumente a «Quantidade» para 2 ou mais e ambos ficarão disponíveis; com a quantidade em 1, não há o que repetir nem o que separar.

O que faz a opção «Formato de saída»?

Define como as várias escolhas são mostradas e copiadas: «Um em cada linha», «Separado por espaços» para uma mensagem rápida num chat, ou «Separado por vírgulas» para colar direto numa folha de cálculo ou script. Fica disponível assim que a «Quantidade» for 2 ou mais.

O que fazem os botões «Embaralhar» e «Classificar»?

O botão «Embaralhar» reordena as entradas dentro da caixa «Itens», e «Classificar» organiza-as por ordem alfabética com os números ordenados de forma natural — clicar nele de novo inverte a ordem. Ambos mudam apenas a forma como a lista está escrita, não como o sorteio funciona: a escolha é igualmente justa, não importa a ordem das entradas.

Quantos itens pode a lista conter e quantos posso sortear de uma vez?

A lista comporta de 2 a 1000 entradas, cada uma com até 200 carateres, e um sorteio devolve até 100 escolhas. Linhas vazias e espaços em volta são ignorados, de forma a que uma lista colada de uma folha de cálculo ou de um documento funcione diretamente.

É adequado para escolher vencedores de prémios ou rifas?

Sim, e esse é um dos usos mais comuns num sorteio na aula ou numa rifa em Portugal. Cole os participantes, defina a «Quantidade» para o número de prémios, mantenha a opção «Sem repetições» ativada para que ninguém ganhe duas vezes e prima «Gerar». Como a escolha usa aleatoriedade criptograficamente segura e corre inteiramente no seu dispositivo, o processo é fácil de explicar, e o «Histórico» mantém o resultado caso um participante tenha alguma dúvida depois.

Posso usar para dividir as pessoas em equipas?

Sim. Ajuste a «Quantidade» para o tamanho da primeira equipa e prima «Gerar» — os nomes escolhidos formam a primeira equipa. Remova-os da lista e repita o processo para a próxima. Deixe a opção «Sem repetições» ativada para que ninguém acabe em duas equipas diferentes ao mesmo tempo durante um torneio escolar.

Porque saiu o mesmo nome duas vezes seguidas?

Porque sorteios independentes repetem-se, e é assim que a aleatoriedade funciona. Cada sorteio ignora todos os que vieram antes, pelo que, numa lista de dez nomes, a probabilidade de o mesmo nome sair duas vezes seguidas é de 1 em 10 todas as vezes — isso é comum, não um defeito. Ative o controlo «Sem repetições» se precisa que cada escolha dentro de um único sorteio seja diferente.

O sorteador lembra-se das minhas escolhas e é gratuito?

O «Histórico» guarda os seus últimos 10 sorteios no seu próprio navegador, permitindo-lhe restaurar, copiar ou apagar um resultado anterior, e limpar tudo quando quiser. A ferramenta é totalmente gratuita, sem registo, e, como nada é transmitido, nós não conseguiríamos ver ou armazenar as suas escolhas nem se quiséssemos.