Tools100% Local
← Todas las herramientas

Generador de Números Aleatorios

crypto.getRandomValues · uniforme · en navegador

Saca enteros o decimales criptográficamente aleatorios de crypto.getRandomValues. La página usa muestreo por rechazo para que el resultado sea uniforme en cualquier rango — sin sesgo de módulo. Configurable: rango, cantidad, decimales, orden, separador de salida y modo solo-únicos.
Modo
Rango
Cantidad
Únicos
Ordenar
Formato
 
waiting
Click Generate
Clic para copiar

Por qué esto es "verdaderamente aleatorio"

Los navegadores exponen dos fuentes aleatorias: Math.random(), un generador pseudoaleatorio rápido pero determinista por ejecución, y crypto.getRandomValues(), un RNG criptográficamente seguro sembrado del pool de entropía del sistema operativo — la misma fuente usada para generar claves de sesión TLS. Esta página usa la última para cada valor que extraes.

Evitar el sesgo de módulo

Las implementaciones ingenuas de entero-desde-RNG hacen rand() % n — eso da ligeramente más peso al extremo inferior del rango cuando n no divide el tamaño de palabra del RNG de forma exacta. El sesgo es pequeño, pero real y trivialmente detectable a millones de extracciones.

Modo decimal

Cuando pides decimales, la página extrae un valor uniforme en [0, 1) de 53 bits de crypto.getRandomValues y lo escala al rango pedido. Hay hasta 15 dígitos de precisión disponibles — el límite práctico de los flotantes IEEE-754 de doble precisión, que son los números de JavaScript.

Modo único

Con Sin duplicados activado, la página usa una mezcla parcial de Fisher–Yates del rango entero, lo que garantiza extracciones únicas uniformemente distribuidas — el enfoque estándar para muestreo justo sin reemplazo (el mismo algoritmo que se usa para barajar cartas o para una lotería sin re-extracciones).

Privacidad

Cada valor se genera localmente. La página no hace solicitudes de red tras la carga estática inicial y no hay scripts de analítica. Ninguna de tus entradas o valores generados sale de la página.