¿Necesitas una forma rápida y justa de generar un número aleatorio? Este generador de números aleatorios en línea es gratuito y genera un número – o una lista entera de números – en cualquier rango que definas, desde un sencillo rango del 1 al 10 hasta rangos que llegan a los miles de millones. Indica los valores mínimo y máximo en «Mín» y «Máx», elige cuántos números necesitas con «Cantidad» y haz clic en «Generar». Ambos límites están incluidos: un rango de 1 a 10 puede devolver tanto el 1 como el 10.
Cada resultado se genera directamente en tu navegador mediante la Web Crypto API (crypto.getRandomValues) – la fuente criptográficamente segura de tu sistema operativo. Nada se envía a un servidor, nada se registra, y nosotros nunca vemos tus números. La generación es instantánea, privada y sigue funcionando en una conexión lenta una vez que la página ha cargado.
Las opciones están pensadas para las situaciones reales en las que se necesitan números aleatorios. Activa «Sin duplicados» para que ningún número se repita – justo lo que necesitas para rifas, sorteos o selecciones aleatorias o repartir personas en grupos sin repeticiones. ¿Necesitas elegir 20 ganadores entre 500 participantes? Pon «Mín» en 1 y «Máx» en 500, activa «Sin duplicados», ajusta «Cantidad» a 20 y haz clic en «Generar». El «Orden» organiza el resultado de forma ascendente o descendente, y un botón copia toda la lista. Al cambiar el «Formato del resultado» de «Saltos de línea» a «Separados por espacios» o «Separados por comas», aparece «Número de conjuntos»: varias generaciones independientes a la vez – veinte conjuntos de tres números para veinte rondas de sorteo – mientras que «Permitir duplicados entre conjuntos» decide si un mismo número puede aparecer en más de un conjunto.
¿Cómo se genera realmente la aleatoriedad? La aleatoriedad del navegador proviene del generador criptográficamente seguro de tu sistema operativo, nunca de JavaScript en sí. Cuando haces clic en «Generar», el JavaScript de la página le pide al navegador valores brutos de 32 bits mediante crypto.getRandomValues y los traslada al rango que definiste. No hay ninguna semilla que adivinar, ningún atajo algorítmico que repetir y ninguna solicitud de red en ningún paso.
Trasladar un valor bruto a tu rango es donde los generadores fallan en silencio, y merece un párrafo propio. Tomar el valor módulo del tamaño del rango parece la solución obvia, pero introduce un sesgo: a menos que el rango divida exactamente 2^32, los números más bajos aparecen ligeramente más a menudo que el resto. Ese defecto se llama sesgo de módulo (modulo bias), y es medible, no solo teórico. Este generador, en cambio, descarta los valores que podrían introducir sesgo y vuelve a generar otro – una técnica llamada muestreo por rechazo (rejection sampling). Eso cuesta unos cuantos intentos extra y, a cambio, ofrece una garantía exacta: cada número entre «Mín» y «Máx» tiene exactamente la misma probabilidad, no solo aproximadamente la misma.
¿Qué hace que un número sea verdaderamente aleatorio? Un número es suficientemente aleatorio cuando los resultados anteriores no revelan nada sobre el siguiente – y en la práctica podemos distinguir tres formas de generar valores aleatorios. Una función pseudoaleatoria común como Math.random() ejecuta un algoritmo determinista: cualquiera que conozca su estado interno puede reproducir toda la secuencia – perfecto para mezclar una presentación de diapositivas, pero inadecuado para cualquier cosa cuyo resultado no deba ser predecible. Un generador criptográficamente seguro – el nivel que usa esta herramienta – también es un algoritmo, pero está diseñado para producir valores impredecibles a partir de una fuente segura de aleatoriedad del sistema, y construido para que observar su salida no revele nada sobre lo que viene después. La aleatoriedad física, procedente por ejemplo del ruido atmosférico o la desintegración radiactiva, se basa en fenómenos físicos en lugar de un proceso algorítmico, aunque para elegir un número dentro de un rango la diferencia práctica desaparece. Por eso los navegadores ofrecen una API criptográfica independiente en lugar de mejorar Math.random(): resuelven problemas distintos, y solo uno de ellos es seguro cuando el resultado le importa de verdad a alguien.
Una secuencia aleatoria no está pensada para parecerle aleatoria a un humano. Elige diez números entre 1 y 10 y verás con regularidad repeticiones como 7, 7, pequeñas rachas de números altos o agrupaciones como 7, 7, 8 – y cada uno de esos casos es perfectamente normal. La aleatoriedad verdadera es impredecible y no tiene por qué verse distribuida de forma uniforme: cada resultado es independiente, los números anteriores no influyen en absoluto en los siguientes, y ningún número se vuelve jamás «atrasado». El instinto que sostiene lo contrario es la falacia del jugador, y es ese mismo instinto el que convierte a las personas en malos generadores de números aleatorios – cuando nos piden inventar una secuencia aleatoria, evitamos las repeticiones y repartimos los valores mucho más uniformemente de lo que el azar hace jamás. Un resultado que parece sospechosamente ordenado lleva la huella de un humano; la aleatoriedad genuina produce agrupaciones.
¿Por qué elegir este generador de números aleatorios?
- Generación solo en el navegador: los números se generan en tu dispositivo y nunca se envían a ningún sitio
- Aleatoriedad de la Web Crypto API: criptográficamente segura, no Math.random()
- Sin sesgo de módulo: el muestreo por rechazo mantiene cada número del rango igual de probable
- Cualquier rango: desde el 1 al 10 hasta valores de miles de millones, ambos límites incluidos
- Modo «Sin duplicados»: una lista sin repeticiones para rifas y formar grupos al azar
- Varios conjuntos: varias generaciones independientes con un solo clic
- Orden y formatos de salida: ascendente o descendente, nueva línea, espacios o comas
- Historial y guardado: conserva los resultados que quizá tengas que justificar
- Ilimitado y gratuito: sin registro, sin límites de uso, nada en nuestros servidores
En México, los números aleatorios se utilizan en muchas más situaciones de las que uno imagina. El personal docente elige a estudiantes sin mostrar favoritismo. Los streamers y los equipos de marketing sortean premios y ganadores de rifas escolares o del trabajo ante un público que tiene que poder creer en el resultado. En el intercambio de regalos de la posada, un número aleatorio decide el orden en que cada quien elige su regalo, y en los juegos de mesa reemplaza un dado perdido o decide quién empieza. Los equipos de investigación eligen una muestra aleatoria para que sus resultados sean válidos más allá de quienes participaron. Los equipos de desarrollo generan datos de prueba, inicializan simulaciones y eligen identificadores durante la QA. El hilo común es un proceso de selección aleatoria que se puede explicar y justificar después – porque la generación se basa en una fuente de aleatoriedad criptográficamente segura que nadie, ni siquiera nosotros, puede manipular ni predecir, el resultado se sostiene si alguien lo pone en duda.
Este generador de números aleatorios tiene algunos límites honestos que vale la pena conocer. El modo «Sin duplicados» no puede generar más números de los que contiene el rango: 20 valores únicos entre 1 y 10 simplemente no existen. Las generaciones son independientes y los resultados anteriores no influyen en los siguientes, así que recargar la página no reinicia ningún ciclo – porque no existe tal ciclo. Y aunque la generación utiliza una fuente criptográficamente segura, una generación aquí es una elección justa, no una predicción: ya sea para el Melate o la Lotería Nacional, los sorteos oficiales usan su propio equipo físico o certificado, y nada de lo que se calcula en tu navegador tiene ninguna relación con ellos. Dentro de esos límites, la garantía es sólida: cada número de tu rango tiene exactamente la misma probabilidad en cada generación.