Generador de números aleatorios — Elige un rango
Un generador de números aleatorios criptográfico con rangos, modo sin repetir y decimales
Funciona en tu navegador · no se sube nada
Qué es
Indica un mínimo, un máximo y cuántos números necesitas, y la herramienta los saca por ti. Sirve para rifas, turnos, datos de prueba, reglas caseras de juegos de mesa o cualquier momento en que quieras un número que nadie haya elegido. Los rangos negativos funcionan, y puedes pasar a decimales con una cantidad fija de cifras. Todo se ejecuta dentro de la pestaña de tu navegador; tus ajustes y resultados nunca se envían a un servidor.
Cómo se usa
- Elige Enteros o Decimales.
- Escribe el mínimo y el máximo. Ambos extremos pueden salir.
- Indica cuántos números quieres, de 1 a 10.000.
- Activa Sin repetir si todos los números deben ser distintos. En decimales, elige también cuántas cifras decimales.
- Pulsa Generar. Puedes cambiar el orden y el separador mientras ves el resultado, y después usar Copiar para llevártelo.
Cómo funciona
- Fuente de azar: solo valores de 32 bits de
crypto.getRandomValues. Nunca se usaMath.random. - Uniformidad: tomar un valor de 32 bits y aplicarle el módulo del tamaño del rango favorece ligeramente a los números pequeños. La herramienta descarta los valores de la cola desigual y vuelve a sacar (muestreo por rechazo), así que cada número tiene la misma probabilidad.
- Rangos enormes: cuando el intervalo supera 2^32, el cálculo pasa a aritmética BigInt, de modo que incluso el rango completo de más o menos 9.007.199.254.740.991 sigue sin sesgo.
- Sin repetir: el algoritmo de muestreo de Floyd elige exactamente la cantidad pedida sin recorrer todo el rango. Todos los conjuntos posibles son igual de probables, y el orden se mezcla salvo que elijas ordenarlos.
- Decimales: se elige de forma uniforme entre todos los múltiplos de 10^-cifras dentro de tus límites (pasos de 0,01 con dos cifras) y se muestran como texto exacto, sin ruido de coma flotante. El resultado usa el punto como separador decimal (por ejemplo 0.27).
- Opciones de visualización: el orden y el separador (coma, espacio, salto de línea) reorganizan los números ya generados sin volver a sortear.
Ejemplos
| Ajustes | Resultado posible |
|---|---|
| 1–45, 6 números, sin repetir, ascendente | 3, 11, 19, 27, 38, 44 |
| -10–10, 5 números | 7, -3, -3, 0, 10 (se permiten negativos y repeticiones) |
| 0–1, 2 decimales, 3 números | 0.27, 0.84, 0.05 |
| 1–100, 1 número | cualquier valor entre 1 y 100 |
Preguntas frecuentes
¿Los números son realmente aleatorios? ¿En qué se diferencia de Math.random?
La herramienta usa solo el generador criptográfico integrado en tu navegador (crypto.getRandomValues) y nunca Math.random. Además elimina el sesgo del módulo descartando los pocos valores brutos que favorecerían a los números pequeños y volviendo a sacar otro (muestreo por rechazo), así que cada número del rango tiene exactamente la misma probabilidad.
¿Qué pasa en modo sin repetir si pido más números de los que caben en el rango?
No se pueden sacar 6 números distintos del 1 al 5, así que la herramienta muestra un error y no genera nada. Amplía el rango o baja la cantidad. Incluso con rangos enormes solo se hace el trabajo necesario para la cantidad pedida, por lo que sigue siendo rápido.
¿Qué tamaño pueden tener los números?
El modo entero admite cualquier entero seguro desde -9.007.199.254.740.991 hasta 9.007.199.254.740.991, el límite de números enteros exactos en JavaScript. Puedes generar entre 1 y 10.000 números de una vez.
¿Cambiar el orden o el separador genera números nuevos?
No. El orden y el separador solo cambian cómo se muestran los números que ya salieron. Pulsa Generar cuando quieras otros nuevos.