Para qué sirve un generador de números aleatorios
Un generador de números aleatorios te entrega uno o varios números tomados al azar dentro del rango que definas. Es la forma más rápida y transparente de resolver situaciones donde nadie debería poder predecir ni manipular el resultado: sorteos en redes sociales, rifas con boletos numerados, muestras para una encuesta o dinámicas de juego como decidir quién empieza.
Defines el rango y la cantidad, y la herramienta hace el sorteo en tu navegador al instante. Todo ocurre en tu dispositivo: los números no viajan a ningún servidor.
Cómo usarlo
- Escribe el mínimo y el máximo del rango (ambos se incluyen en el resultado).
- Indica la cantidad de números que necesitas, de 1 a 1000.
- Activa sin repetir si cada número debe ser único, como en una rifa donde un mismo boleto no puede ganar dos premios.
- Pulsa Generar. Usa Copiar para llevar la lista a WhatsApp, un correo o una hoja de cálculo.
Con “sin repetir” activado, la cantidad no puede superar cuántos números caben en el rango: no puedes sacar 10 números únicos entre 1 y 5.
Aleatorio real frente a pseudoaleatorio
La mayoría de funciones “aleatorias” de los lenguajes de programación, como Math.random, son pseudoaleatorias: parten de una semilla y aplican una fórmula. Son rápidas, pero predecibles si alguien conoce la semilla, y no sirven donde la imparcialidad importa de verdad.
Esta herramienta usa crypto.getRandomValues, el generador criptográfico del propio navegador, alimentado por la entropía del sistema operativo. Es la misma clase de aleatoriedad que se emplea para crear claves de cifrado.
Para que cada número del rango tenga exactamente la misma probabilidad aplicamos muestreo por rechazo: pedimos bits al azar y descartamos los valores que caerían fuera de un múltiplo exacto del rango, eliminando el sesgo que produciría un simple resto.
Ejemplo resuelto
Imagina que simulas un dado (1 a 6) con un solo byte, que toma 256 valores (0 a 255). Como 256 no es múltiplo de 6, repartir con el resto favorecería a algunas caras. La solución: aceptar solo los valores de 0 a 251 (252 en total, porque 252 = 42 × 6) y descartar 252, 253, 254 y 255.
Así cada cara corresponde a exactamente 42 valores, y la probabilidad de que un intento se descarte es 4 de 256, apenas un 1.56%. En un sorteo real de 6 números entre 1 y 49 existen 13,983,816 combinaciones posibles, y todas son igual de probables.
Casos de uso comunes
| Uso | Mínimo | Máximo | Cantidad | Sin repetir |
|---|---|---|---|---|
| Un ganador entre 500 inscritos | 1 | 500 | 1 | No |
| Rifa de 3 premios de 1000 boletos | 1 | 1000 | 3 | Sí |
| Muestra de 10 personas de una lista de 200 | 1 | 200 | 10 | Sí |
| Tirada de un dado | 1 | 6 | 1 | No |
Preguntas frecuentes
¿Es realmente aleatorio?
Sí, en el sentido práctico más fuerte disponible en un navegador. Usamos crypto.getRandomValues, que obtiene entropía del sistema operativo y está diseñado para usos criptográficos. No hay una semilla que puedas adivinar ni un patrón que se repita.
¿Cómo hago un sorteo justo y verificable?
Numera a los participantes de forma consecutiva (1, 2, 3…) y anota cuántos son antes de sortear. Pon ese total como máximo, deja el mínimo en 1 y genera. Para que sea verificable, haz el sorteo en vivo o graba la pantalla mostrando el rango y el resultado; así cualquiera puede comprobar que no cambiaste nada después.
¿Por qué usar “sin repetir” en una rifa?
Porque en una rifa un mismo boleto no debería ganar dos veces. Con “sin repetir” cada número sale una sola vez, así puedes premiar varios boletos distintos en una sola tirada. Si lo dejas desactivado, el mismo número puede aparecer más de una vez, algo válido para dados o simulaciones, pero no para repartir premios únicos.
¿Hay un límite de cantidad?
Puedes generar hasta 1000 números por tirada. Con la opción “sin repetir”, además, la cantidad nunca puede superar el total de números disponibles en el rango que elegiste.