Saltar para o conteúdo principal
LibraTool logoLibraTool

Gerador de números aleatórios grátis

Gere números aleatórios em qualquer intervalo, crie listas de números exclusivos ou jogue dados. Usa aleatoriedade criptograficamente segura.

Funciona offline depois de carregado

🔒 Cada número usa a aleatoriedade criptograficamente segura do seu navegador (crypto.getRandomValues) — genuinamente justa, não o previsível Math.random(). Nada é enviado a lugar algum. Mesmo assim, não use esses números para geração de chaves criptográficas, tokens de segurança ou aplicações regulamentadas de loteria/jogo, que exigem fontes de aleatoriedade certificadas por hardware.

Precisa sortear um vencedor por nome em uma lista ou jogar uma moeda? Use a ferramenta Cara ou Coroa, Roleta e Sorteio de Lista →

Usos comuns

  • Gerar Números de LoteriaEscolha números de loteria aleatórios para Powerball, Mega Millions, EuroMillions e outros sorteios.
  • Escolher um Vencedor Aleatório para SorteiosSelecione equitativamente um vencedor aleatório de uma lista de entrada numerada para concursos e sorteios.
  • Rolar Dados para Jogos de TabuleiroRole qualquer combinação de dados — d4, d6, d8, d10, d12, d20, d100 — para D&D e RPGs de tabuleiro.
  • Amostragem Aleatória para PesquisaGere amostras aleatórias, atribua IDs aleatórios ou selecione um subconjunto aleatório de um conjunto de dados numerado.
  • Gerar Números Aleatórios para Dados de TesteCrie grandes listas de números aleatórios para testar algoritmos, preencher bancos de dados e fazer testes de carga do sistema.

Como funciona

Todo número que esta ferramenta gera vem de crypto.getRandomValues — a fonte aleatória criptograficamente segura do navegador, a mesma usada para geração de chaves TLS. Um algoritmo de amostragem por rejeição escrito à mão fica por cima para eliminar o viés de módulo que afeta implementações simples de Math.random() % intervalo, incluindo intervalos mais largos que 2^32 via aritmética BigInt.

  1. 1
    Defina o seu intervalo e modo
    Escolha entre um único número, uma lista em lote (até 1000), ou dados poliédricos (d4 a d100). Para listas também pode exigir valores únicos e opcionalmente ordenar a saída ascendentemente.
  2. 2
    crypto.getRandomValues extrai entropia bruta
    Cada número é extraído de um Uint32Array (ou BigUint64Array para intervalos mais largos que 2^32) preenchido pelo RNG criptográfico do navegador — não Math.random(). A amostragem por rejeição depois descarta valores que distorceriam a distribuição, para que cada inteiro no seu intervalo tenha exatamente igual probabilidade.
  3. 3
    O modo de valor único usa Fisher-Yates ou acompanhamento de rejeição
    Quando o modo único está ativado e o intervalo cabe em memória (até 100.000 valores), a ferramenta materializa o conjunto completo e baralha-o com Fisher-Yates. Para intervalos muito grandes extrai valores um de cada vez, saltando repetições — evitando o custo de memória de construir um array de milhares de milhões de entradas.
  4. 4
    Os resultados aterram com feedback animado e permanecem no histórico da sessão
    Os valores finais se animam para o lugar (um rolo de máquina caça-níqueis para números, dados tombando para o modo de dados) usando requestAnimationFrame, depois aparecem em um registro de histórico deslizável que você pode copiar a qualquer momento. Nada sai do seu navegador.

Ferramentas relacionadas

Perguntas frequentes