Gerador de Números Aleatórios
Sorteie números em qualquer intervalo — com ou sem repetição, ordenados ou embaralhados, prontos para colar.
O que esta ferramenta faz
Gera inteiros aleatórios em qualquer intervalo, em qualquer quantidade de 1 a 10.000. Alterne se duplicatas são permitidas (off para sorteios estilo loteria, on para simular sequências de dados ou moedas), escolha ordenar a saída crescente ou deixar embaralhada e selecione o formato — um número por linha, separado por vírgula para planilhas, por espaço para colar no terminal, ou como array JavaScript para código. A aleatoriedade é uniforme de verdade: usamos crypto.getRandomValues() com rejection sampling para eliminar o viés de módulo que Math.random() % range introduz. Para sorteios únicos em ranges densos, rodamos um Fisher-Yates parcial; para ranges esparsos, um hash-set com retentativas. Tudo roda local — sem upload, sem log, sem limite de taxa.
Como usar
Defina mínimo e máximo — podem ser negativos, zero ou qualquer valor. Defina quantos números quer. Decida se permite duplicatas (off para sorteios, on para lançamentos repetidos). Decida se ordena crescente. Escolha o formato: linhas, vírgula, espaço ou array. Clique em Gerar. O resultado aparece no painel; se pediu um número, ele aparece grande; se pediu vários, vai num bloco de código rolável. Clique em Copiar para mandar tudo para o clipboard. Re-executar com as mesmas configurações dá um novo sorteio toda vez — não há semente.
Como a aleatoriedade funciona
Cada sorteio amostra um inteiro de 32 bits de crypto.getRandomValues() e rejeita qualquer valor acima de floor(2^32 / range) * range. O sorteio aceito módulo range mais min é o seu número — comprovadamente uniforme em todo o range. Para sorteios únicos, usamos uma de duas estratégias: quando o range é denso (≤ 200.000 valores), materializamos o pool inteiro e fazemos um Fisher-Yates parcial nas primeiras count entradas — é O(count), não O(range). Quando o range é esparso e grande, usamos um hash-set com retentativas — limitado pelo teto de 10.000 para que as retentativas não explodam. A ordenação (quando ligada) é uma passada final crescente.
Configurações comuns
Algumas combinações de exemplo para começar.
| Uso | Configurações |
|---|---|
| Números da Mega-Sena (6/60) | Mín 1, máx 60, qtd 6, sem duplicatas, ordenado |
| Sequência de moedas (10 lances) | Mín 0, máx 1, qtd 10, com duplicatas |
| Byte de cor aleatório | Mín 0, máx 255, qtd 1 |
| 3 vencedores entre 100 | Mín 1, máx 100, qtd 3, sem duplicatas |
Perguntas frequentes
É realmente aleatório?
crypto.getRandomValues() com rejection sampling, que é a abordagem padrão de CSPRNG para ranges de inteiros sem viés.E se eu pedir mais únicos do que cabe no range?
Posso semear o RNG?
Qual o máximo de quantidade?
Funciona com números negativos?
max − min + 1, então confira que máx ≥ mín.
EN
PT
ES