Precisa de um jeito rápido e justo de conseguir um número aleatório? Este gerador de números aleatórios gratuito e online sorteia um número — ou uma lista inteira de números — em qualquer intervalo que você escolher, de um simples intervalo de 1 a 10 até intervalos com valores na casa dos bilhões. Defina o valor mínimo e máximo em “Mín” e “Máx”, escolha quantos números você precisa em “Quantidade” e clique em “Gerar”. Os dois limites são incluídos, então um intervalo de 1 a 10 pode retornar tanto 1 quanto 10.
Cada resultado é produzido diretamente no seu navegador usando a Web Crypto API (crypto.getRandomValues) — que fornece valores aleatórios criptograficamente fortes a partir da aleatoriedade do sistema subjacente do seu navegador. Nada é enviado a um servidor, nada é registrado, e nós nunca vemos seus números. A geração é instantânea, privada, e continua funcionando mesmo em uma conexão lenta depois que a página carrega.
As opções foram feitas para as situações em que as pessoas realmente precisam de números aleatórios. Ative “Sem repetições” para que nenhum número apareça duas vezes — exatamente o que você precisa para rifas, sorteios e divisão de pessoas em grupos sem repetição. Precisa de vinte vencedores entre 500 participantes? Defina “Mín” como 1 e “Máx” como 500, ative “Sem repetições”, defina “Quantidade” como 20 e clique em “Gerar”. “Ordem de classificação” organiza o resultado em ordem crescente ou decrescente, e um botão copia todos os resultados. Ao mudar o “Formato de saída” de “Quebra de linha” para “Separado por espaços” ou “Separado por vírgulas”, aparece “Número de conjuntos”: vários sorteios independentes de uma vez — por exemplo, vinte conjuntos de 3 números para vinte rodadas de sorteio — com “Permitir duplicatas entre conjuntos” decidindo se o mesmo número pode aparecer em mais de um deles.
Como a aleatoriedade é realmente gerada? Seu navegador fornece valores aleatórios criptograficamente fortes através da Web Crypto API, em vez de um PRNG em JavaScript como o Math.random(). Ao clicar em “Gerar”, a página solicita valores aleatórios com crypto.getRandomValues e os usa para produzir números dentro do intervalo escolhido. A fonte subjacente de aleatoriedade vem do navegador e do sistema operacional, então a página não precisa manter sua própria semente fixa ou sequência pseudoaleatória.
Converter um valor bruto para o seu intervalo é exatamente onde os geradores erram silenciosamente, e isso merece um parágrafo só seu. Pegar o valor módulo o tamanho do intervalo é o método óbvio — e o enviesado: a menos que o intervalo divida 2^32 de forma exata, os números mais baixos aparecem um pouco mais que os demais. Essa falha é chamada de modulo bias, e ela é mensurável, não apenas teórica. Este gerador, em vez disso, descarta qualquer valor além do maior múltiplo exato do intervalo e sorteia de novo — uma técnica chamada rejection sampling. Isso custa alguns sorteios extras, mas garante que cada número entre “Mín” e “Máx” tenha exatamente a mesma probabilidade, não apenas quase a mesma.
O que torna um número verdadeiramente aleatório? Um número é aleatório o suficiente quando os resultados anteriores não revelam nada sobre o próximo — e, na prática, existem três níveis disso. Uma função pseudoaleatória comum, como o Math.random(), roda um algoritmo determinístico: quem conhece seu estado interno consegue reproduzir toda a sequência, o que é ótimo para embaralhar uma apresentação de slides, mas inadequado para qualquer coisa em que o resultado não possa ser previsível. Um gerador criptograficamente seguro (CSPRNG) — o nível que esta ferramenta usa — também é um algoritmo, mas é projetado para produzir valores imprevisíveis a partir de uma fonte segura de aleatoriedade do sistema, e construído de forma que observar sua saída não revele nada sobre o que vem a seguir. A aleatoriedade física, de fontes como o ruído atmosférico ou o decaimento radioativo, é diferente das duas, embora a diferença prática desapareça quando se trata de sortear um número dentro de um intervalo. É exatamente por isso que os navegadores oferecem uma API de criptografia separada em vez de simplesmente melhorar o Math.random(): as duas resolvem problemas diferentes, e só uma delas é segura quando o resultado importa para alguém.
Uma sequência aleatória não precisa parecer aleatória para os humanos. Sorteie dez números entre 1 e 10 e você regularmente verá uma repetição, uma quase repetição como 7, 7, 8, ou uma sequência curta que cai toda em números altos — e cada uma dessas situações é perfeitamente normal. A aleatoriedade verdadeira é imprevisível, não uniformemente distribuída: cada sorteio é independente, números anteriores não têm absolutamente nenhuma influência sobre os seguintes, e nenhum número jamais fica “devendo” uma aparição. O instinto que insiste no contrário é a falácia do jogador, e é o mesmo instinto que faz das pessoas geradores de números aleatórios ruins — quando pedem para inventarmos uma sequência aleatória, evitamos repetições e distribuímos os valores de forma muito mais uniforme do que o acaso jamais faria. Um resultado que parece suspeitosamente arrumado é a marca de um ser humano; a aleatoriedade genuína produz aglomerados.
Por que escolher este gerador de números aleatórios?
- Geração só no navegador: os números são sorteados no seu dispositivo e nunca são enviados a lugar nenhum
- Aleatoriedade da Web Crypto API: criptograficamente segura, não Math.random()
- Sem modulo bias: rejection sampling mantém cada número do intervalo igualmente provável
- Qualquer intervalo: de 1 a 10 até valores na casa dos bilhões, com os dois limites incluídos
- Modo “Sem repetições”: sorteie uma lista sem repetição para rifas e divisão de grupos
- Vários conjuntos: vários sorteios independentes em um único clique
- Ordenação e formatos de saída: crescente ou decrescente, quebra de linha, espaços ou vírgulas
- Histórico e salvamento em arquivo: mantenha um registro de um sorteio que talvez precise justificar
- Ilimitado e gratuito: sem cadastro, sem limites de uso, nada guardado em nossos servidores
Números aleatórios aparecem em mais lugares do que a maioria imagina. Professores chamam alunos sem favorecer ninguém. Streamers e profissionais de marketing sorteiam vencedores de giveaways e rifas na frente de um público que precisa acreditar no resultado. Jogadores substituem um dado perdido ou decidem quem começa, e torneios sorteiam a ordem de largada. Pesquisadores escolhem uma amostra aleatória para que suas descobertas se generalizem além das pessoas que participaram. Desenvolvedores geram dados de teste, inicializam simulações e escolhem identificadores durante o QA. O fio condutor é um processo de seleção aleatória que pode ser explicado depois: como o sorteio usa aleatoriedade criptográfica e acontece inteiramente no seu dispositivo, você pode mostrar como o resultado foi gerado se alguém questionar.
Este gerador tem algumas limitações honestas que vale a pena conhecer. O modo “Sem repetições” não consegue sortear mais números do que o intervalo contém: vinte valores únicos entre 1 e 10 simplesmente não existem. Os sorteios são independentes, e resultados anteriores não afetam os seguintes, então recarregar a página não reinicia nenhum ciclo — não existe ciclo nenhum para se estar dentro. E, embora os números sejam criptograficamente fortes, um sorteio aqui é uma escolha justa, não uma previsão: os sorteios oficiais de loteria usam seus próprios equipamentos físicos ou certificados, e nada calculado no seu navegador tem qualquer conexão com eles. Dentro desses limites, a garantia é ainda mais forte: cada número do seu intervalo tem exatamente a mesma chance, em cada sorteio.