Generador de Números Aleatorios Online
Distribución de los resultados
Prueba de uniformidad
Genera más números en un rango más estrecho para poder hacer la prueba.
Sorteos recientes
Ajustes guardados
¿Cómo funciona el Generador de Números Aleatorios?
El generador te ofrece dos fuentes de aleatoriedad, y tú eliges cuál se ajusta a tu necesidad.
Aleatorio seguro obtiene entropía de tu sistema operativo a través de la Web Crypto API (crypto.getRandomValues()). Es impredecible e irrepetible — la opción correcta para un sorteo real en el que nadie debe poder adivinar el resultado de antemano.
Por semilla convierte cualquier texto que escribas en un estado inicial para un generador determinista (xoshiro128**). La misma semilla siempre produce los mismos números, así que cualquiera puede repetir tu sorteo y confirmar que obtuviste lo que dices haber obtenido.
Ambos se ejecutan por completo en tu navegador. Ningún número llega jamás a un servidor.
Sin sesgo de módulo
La mayoría de los generadores sencillos hacen encajar un valor aleatorio de 32 bits en tu rango con value % range. Cuando el rango no divide 2³² de forma exacta, los números más bajos aparecen ligeramente más a menudo que el resto. En miles de sorteos, eso es medible.
Este generador usa en su lugar muestreo por rechazo: los valores que caerían en la cola desigual se descartan y se vuelven a sortear. Cada número de tu rango tiene exactamente la misma probabilidad. Puedes comprobarlo tú mismo con la prueba de uniformidad incorporada.
Qué puede hacer el generador
Rango
- Mínimo y máximo — cualquier rango entero o decimal, incluidos valores negativos
- Cuántos números — de 1 hasta 1.000.000 en un solo sorteo
- Sin repeticiones — cada número aparece como máximo una vez, como en un sorteo real
- Ordenar — orden de sorteo, ascendente o descendente; ordenar nunca afecta a la aleatoriedad
- Paso — restringe los resultados a múltiplos de un valor, de modo que solo salgan 0, 5, 10, 15
- Excluir números — indica valores que nunca deben salir sorteados
Modo
- Fuente de aleatoriedad — seguro (Web Crypto) o por semilla (reproducible)
- Semilla — cualquier texto; la misma semilla siempre repite el mismo sorteo
- Distribución — uniforme, normal (gaussiana), exponencial, Poisson, triangular, binomial
- Pesos — da a determinados números una probabilidad mayor, escritos como
number:weight - Notación de dados —
3d6+2,d20,2d20kh1para ventaja,4d6dl1para tirar estadísticas
Salida
- Separador — coma, espacio, punto y coma, tabulación, salto de línea, o lo que escribas
- Sistema numérico — decimal, binario, octal, hexadecimal o base 36
- Rellenar con ceros — convierte 7 en 007 para números de tique o de identificación
- Prefijo y sufijo — envuelve cada número con texto fijo
- Plantilla —
{n}es el número,{i}su posición, asíuser{n}se convierte enuser42 - Copiar como — texto plano, CSV, JSON o una tabla Markdown
Estadísticas
Cada sorteo se resume en vivo: suma, media, mediana, mínimo, máximo, desviación típica, además de cuántos resultados son pares, impares o primos. Un histograma muestra la forma de la distribución, y una prueba de chi-cuadrado te dice si los resultados realmente coinciden con una distribución uniforme.
Historial
Los últimos 50 sorteos se guardan en tu navegador, junto con la configuración que los produjo — un clic restaura cualquiera de ellos. Las configuraciones que uses a menudo pueden guardarse como preajustes con nombre, y todo el conjunto se exporta a un archivo JSON que puedes importar en otro equipo. Nada se almacena en ningún sitio salvo en este navegador.
Teclado
Pulsa Espacio o R para volver a sortear sin tocar el ratón.
Preajustes rápidos
| Preajuste | Rango | Cantidad | Uso |
|---|---|---|---|
| 🎲 Dado | 1–6 | 1 | Juegos de mesa, tomar decisiones |
| 🪙 Moneda | 0–1 | 1 | Cara o cruz |
| 🎰 Lotería | 1–49 | 6 | Único, ordenado, como un sorteo real |
| 💯 1–100 | 1–100 | 1 | Porcentajes, divisiones A/B |
| 🔢 PIN | 0–9 | 4 | Cuatro dígitos, con repeticiones permitidas |
Sorteos reproducibles
El modo por semilla existe para los momentos en que “confía en mí, fue aleatorio” no basta.
Elige una semilla que todos puedan acordar de antemano — una fecha, un hashtag, el precio de cierre de algo público — y anúnciala antes de sortear. Cualquiera podrá entonces escribir la misma semilla con la misma configuración y obtener el resultado idéntico. No has demostrado que los números fueran impredecibles; has demostrado que no repetiste el sorteo hasta que te gustó el resultado.
Así es también como se hace repetible la aleatoriedad en un trabajo que debe poder verificarse: un plan de muestreo que un compañero pueda volver a ejecutar, un conjunto de datos de prueba (fixtures) que se mantiene estable a lo largo de una batería de tests, un ejercicio de clase donde cada estudiante recibe los mismos datos “aleatorios”.
Elegir una distribución
Uniforme da a cada número del rango la misma probabilidad. Es lo que la gente suele entender por aleatorio, y es la opción por defecto.
Las demás agrupan los resultados en torno a un valor, que es lo que tienden a hacer las magnitudes del mundo real:
- Normal (gaussiana) — alturas, errores de medición, notas de exámenes. Se define una media y una desviación típica.
- Exponencial — tiempos de espera entre eventos independientes.
- Poisson — recuentos de eventos en un intervalo fijo: llegadas por hora, defectos por lote.
- Triangular — cuando conoces el mínimo, el máximo y el valor más probable, pero nada más. Habitual en estimaciones de proyectos.
- Binomial — éxitos sobre un número fijo de pruebas con una probabilidad fija.
Toda distribución queda recortada al rango que definas, así que una cola gaussiana larga no puede escapar de tu mínimo y tu máximo.
Dónde se usan los números aleatorios
Juegos y entretenimiento
- Juegos de mesa — tiradas de dados, orden de turnos
- Juegos de rol de mesa (RPG) —
4d6dl1para atributos de personaje,2d20kh1para ventaja - Sorteos — elegir un ganador, con una semilla para que los participantes puedan verificarlo
- Cuestionarios — orden aleatorio de preguntas
Estadística y ciencia
- Muestreo — extraer una muestra de una población sin repeticiones
- Pruebas A/B — asignar participantes a grupos
- Simulación Monte Carlo — estimar probabilidades por repetición
- Bootstrapping — remuestreo para estimar la incertidumbre
Desarrollo
- Datos de prueba — un millón de valores, generados en segundo plano para que la página siga respondiendo
- Fixtures — con semilla, para que un test que falla, falle siempre de la misma manera
- IDs aleatorios — con relleno, prefijos o una plantilla
- Pruebas de carga — identificadores con plantilla como
user{n}@example.com
Números verdaderamente aleatorios vs. pseudoaleatorios
Math.random() | crypto.getRandomValues() | Por semilla (xoshiro128**) | |
|---|---|---|---|
| Tipo | Pseudoaleatorio | Criptográficamente seguro | Pseudoaleatorio, determinista |
| Fuente de entropía | Semilla elegida por el motor | CSPRNG del sistema | Tu texto de semilla |
| ¿Predecible? | Potencialmente | No | Sí, por diseño |
| ¿Repetible? | No | No | Siempre |
| Adecuado para seguridad | No | Sí | No |
| Adecuado para estadística | Depende | Sí | Sí |
| Adecuado para sorteos verificables | No | No | Sí |
Math.random() no se usa en ningún punto de esta herramienta.
Sorteos sin repetición
Con Sin repeticiones activado, cada número del rango aparece como máximo una vez. Ideal para:
- Sorteos — nadie puede ganar dos veces
- Permutaciones — barajar un conjunto de elementos
- Bingo — cantar números que quedan marcados
- Lotería — seis números distintos del 1 al 49
El sorteo utiliza un barajado parcial de Fisher-Yates, así que pedir 6 números de entre un millón es tan rápido como pedir 6 de entre 49 — nunca repite intentos esperando evitar una colisión. Si pides más números únicos de los que el rango puede ofrecer, el generador te lo indica en lugar de quedarse bloqueado.
Exportar resultados
Copia los números como texto plano con el separador que prefieras, como CSV para una hoja de cálculo, como JSON para código, o como una tabla Markdown para documentación. Los sorteos muy grandes se mantienen íntegros en memoria y se copian íntegros, aunque solo se muestren en pantalla los primeros dos mil.
Generar números aleatorios en tu propio código
JavaScript / TypeScript
// Entero criptográficamente seguro en [min, max], sin sesgo de módulo.
// El enfoque ingenuo `value % range` favorece a los números bajos cuando
// el rango no divide 2**32 de forma exacta - por eso rechazamos los
// valores que caen en la cola desigual.
function randomInt(min, max) {
const range = max - min + 1;
const limit = Math.floor(0x100000000 / range) * range;
const arr = new Uint32Array(1);
let value;
do {
crypto.getRandomValues(arr);
value = arr[0];
} while (value >= limit);
return min + (value % range);
}
Python
import random
import secrets
# Criptográficamente seguro, sin sesgo de módulo
n = secrets.randbelow(max - min + 1) + min
# Reproducible: la misma semilla siempre da la misma secuencia
rng = random.Random('my-seed')
n = rng.randint(min, max)
# Sin repetición
sample = random.sample(range(min, max + 1), count)
PHP
// Criptográficamente seguro (PHP 7+), sin sesgo de módulo
$n = random_int($min, $max);
// Reproducible
mt_srand(crc32('my-seed'));
$n = mt_rand($min, $max);
Preguntas frecuentes (FAQ)
¿El resultado es realmente aleatorio?
En modo seguro, sí. Proviene decrypto.getRandomValues(), un generador criptográficamente seguro alimentado por el pool de entropía de tu sistema operativo. Los resultados están distribuidos de forma uniforme y son impredecibles. El modo por semilla es deliberadamente lo contrario: es reproducible, que es justo su propósito.
¿Cuántos números puedo generar de una vez?
Hasta 1.000.000. Los sorteos por encima de 50.000 se calculan en un worker en segundo plano para que la página siga respondiendo, y la pantalla muestra los primeros 2.000 junto con el recuento del resto — al copiar obtienes todo igualmente.¿Puedo generar números negativos?
Sí. Establece un mínimo negativo. Funciona con todo el rango de números de JavaScript, incluidos rangos negativos en ambos extremos.¿Afecta el ordenado a la aleatoriedad?
No. Los números se sortean primero y se ordenan después. Ordenar solo cambia el orden en que los ves.¿La misma semilla dará los mismos números mañana?
Sí, y en cualquier otro dispositivo o navegador. El generador por semilla es totalmente determinista y depende únicamente de tu semilla y tu configuración.¿Qué me dice la prueba de uniformidad?
Ejecuta una prueba de chi-cuadrado que compara cuántas veces salió realmente cada número frente a cuántas veces debería haber salido. Si el estadístico se mantiene por debajo del valor crítico, los resultados son coherentes con una distribución uniforme. Necesita un rango razonablemente estrecho y sorteos suficientes — al menos cinco por valor posible — para poder decir algo significativo.¿Cómo funcionan los pesos?
Se escriben como paresnumber:weight, por ejemplo 1:5, 2:1, 3:1. Aquí el 1 tiene cinco veces más probabilidad que el 2 o el 3. Los números que no incluyas reciben un peso de cero y nunca salen sorteados.
¿Qué notación de dados se admite?
3d6 tira tres dados de seis caras. Añade un modificador con 3d6+2. Conserva o descarta dados con kh, kl, dh, dl — así 2d20kh1 conserva el más alto de dos d20 (ventaja) y 4d6dl1 descarta el más bajo de cuatro d6.