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.
🔒 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.
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.
- 1Fija tu rango y modoElige 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.
- 2crypto.getRandomValues extrae entropía en brutoCada 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.
- 3El modo de valor único usa Fisher-Yates o seguimiento de rechazoCuando 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.
- 4Los resultados aparecen con retroalimentación animada y permanecen en el historial de la sesiónLos 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
Lanzador de dados
Lanza de 1 a 10 dados (d4, d6, d8, d10, d12, d20 o d100) con una animación breve, consulta el total y cada resultado, y guarda una lista de las últimas tiradas.
Generador de colores aleatorios
Genera colores aleatorios de uno en uno o como una paleta de cinco, bloquea los que te gusten, copia valores HEX, RGB o HSL y exporta la paleta como PNG o CSS.
Lanzar moneda y ruleta
Lanza una moneda virtual, gira una rueda personalizable o elige al azar de una lista de opciones. Utiliza la aleatoriedad criptográficamente segura de tu navegador — no es un sorteo verificable públicamente, así que evita concursos regulados.