Saltar al contenido principal

Generador de números aleatorios gratis

Genera números aleatorios en cualquier rango, crea listas de números únicos o tira dados. Utiliza aleatoriedad criptográficamente segura.

Funciona sin conexión una vez cargado

🔒 Cada número usa la aleatoriedad criptográficamente segura de tu navegador (crypto.getRandomValues) — genuinamente justo, no el predecible Math.random(). No se envía nada a ningún lugar. Aun así, no uses estos números para generación de claves criptográficas, tokens de seguridad ni aplicaciones de lotería/juegos de azar regulados, que requieren fuentes de aleatoriedad certificadas por hardware.

¿Necesitas elegir un ganador por nombre de una lista, o lanzar una moneda? Usa la herramienta Cara o cruz, ruleta y selector de listas →

Usos habituales

  • Generar números de loteríaElige números de lotería aleatorios para Powerball, Mega Millions, EuroMillions y otros sorteos.
  • Seleccionar un ganador aleatorio para sorteosSelecciona equitativamente un ganador aleatorio de una lista de participantes numerada para concursos y sorteos.
  • Lanzar dados para juegos de mesaLanza cualquier combinación de dados — d4, d6, d8, d10, d12, d20, d100 — para D&D y RPGs de mesa.
  • Muestreo aleatorio para investigaciónGenera muestras aleatorias, asigna ID aleatorios o selecciona un subconjunto aleatorio de un conjunto de datos numerado.
  • Generar números aleatorios para datos de pruebaCrea listas grandes de números aleatorios para probar algoritmos, llenar bases de datos y hacer pruebas de estrés del sistema.

Cómo funciona

Cada número que genera esta herramienta proviene de crypto.getRandomValues: la fuente aleatoria criptográficamente segura del navegador, la misma usada para la generación de claves TLS. Un algoritmo de muestreo por rechazo escrito a mano se superpone para eliminar el sesgo de módulo que afecta a las implementaciones simples de Math.random() % rango, incluyendo rangos más anchos que 2^32 mediante aritmética BigInt.

  1. 1
    Fija tu rango y modo
    Elige entre un número único, una lista en lote (hasta 1000), o dados poliédricos (d4 hasta d100). Para listas también puedes exigir valores únicos y opcionalmente ordenar la salida de forma ascendente.
  2. 2
    crypto.getRandomValues extrae entropía en bruto
    Cada número se extrae de un Uint32Array (o BigUint64Array para rangos más anchos que 2^32) rellenado por el RNG criptográfico del navegador, no Math.random(). El muestreo por rechazo luego descarta valores que sesgarían la distribución, así que cada entero en tu rango tiene exactamente la misma probabilidad.
  3. 3
    El modo de valor único usa Fisher-Yates o seguimiento de rechazo
    Cuando el modo único está activado y el rango cabe en memoria (hasta 100.000 valores), la herramienta materializa el pool completo y lo baraja con Fisher-Yates. Para rangos muy grandes, en cambio extrae valores uno a uno, saltando repeticiones, evitando el costo de memoria de construir un arreglo de miles de millones de entradas.
  4. 4
    Los resultados aparecen con retroalimentación animada y permanecen en el historial de la sesión
    Los valores finales se animan hasta su lugar (un giro de tragamonedas para números, dados girando para el modo dados) usando requestAnimationFrame, y luego aparecen en un registro de historial desplazable que puedes copiar en cualquier momento. Nada sale de tu navegador.

Herramientas relacionadas

Preguntas frecuentes