Generador de Números Aleatorios
Saca números en cualquier rango — con o sin duplicados, ordenados o mezclados, listos para pegar.
Qué hace esta herramienta
Genera enteros aleatorios en cualquier rango, en cualquier cantidad de 1 a 10.000. Activa o desactiva los duplicados (off para sorteos tipo lotería, on para simular secuencias de dados o monedas), elige ordenar la salida ascendente o dejarla mezclada y selecciona el formato — un número por línea, separado por coma para hojas de cálculo, por espacio para pegar en CLI, o como literal de array JavaScript para código. La aleatoriedad es uniforme de verdad: usamos crypto.getRandomValues() con muestreo por rechazo para eliminar el sesgo de módulo que introduce Math.random() % range. Para sorteos únicos en rangos densos, hacemos un Fisher-Yates parcial; para rangos dispersos, un hash-set con reintentos. Todo corre local — sin subida, sin logs, sin límite de tasa.
Cómo usarlo
Define un mínimo y un máximo — pueden ser negativos, cero o lo que sea. Define cuántos números necesitas. Decide si permites duplicados (off para sorteos, on para tiradas repetidas). Decide si ordenas ascendente. Elige formato: líneas, coma, espacio o array. Pulsa Generar. El resultado aparece en el panel; si pides un número, sale grande; si pides varios, va en un bloque de código con scroll. Pulsa Copiar para mandarlo al portapapeles. Volver a ejecutar con los mismos ajustes da un sorteo nuevo cada vez — no hay semilla.
Cómo funciona la aleatoriedad
Cada sorteo muestrea un entero de 32 bits desde crypto.getRandomValues() y rechaza cualquier valor por encima de floor(2^32 / range) * range. El sorteo aceptado módulo range más min es tu número — comprobadamente uniforme en todo el rango. Para sorteos únicos usamos una de dos estrategias: cuando el rango es denso (≤ 200.000 valores), materializamos el pool entero y hacemos Fisher-Yates parcial sobre las primeras count entradas — es O(count), no O(range). Cuando el rango es disperso y grande, usamos un hash-set con reintentos — limitado por el tope de 10.000 para que los reintentos no exploten. La ordenación (cuando está activa) es una pasada final ascendente.
Ajustes habituales
Algunas combinaciones de ejemplo para empezar.
| Uso | Ajustes |
|---|---|
| Números de la Primitiva (6/49) | Mín 1, máx 49, cant 6, sin duplicados, ordenado |
| Secuencia de monedas (10 lanzamientos) | Mín 0, máx 1, cant 10, con duplicados |
| Byte de color aleatorio | Mín 0, máx 255, cant 1 |
| 3 ganadores entre 100 | Mín 1, máx 100, cant 3, sin duplicados |
Preguntas frecuentes
¿Es realmente aleatorio?
crypto.getRandomValues() con muestreo por rechazo, que es el enfoque CSPRNG estándar para rangos enteros sin sesgo.¿Y si pido más únicos de los que cabe el rango?
¿Puedo sembrar el RNG?
¿Cuál es la cantidad máxima?
¿Funciona con números negativos?
max − min + 1, así que asegúrate de que máx ≥ mín.
EN
PT
ES