Generador de números aleatorios

Genera un número aleatorio, una lista o varios conjuntos de números en cualquier rango – para una rifa escolar o del trabajo, directamente en tu navegador, con aleatoriedad criptográfica, nunca en un servidor.

Presione Generar para obtener el resultado
Opciones

¿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?

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.

FAQ

¿Este generador de números aleatorios es realmente aleatorio?

Usa la Web Crypto API de tu navegador (crypto.getRandomValues), que obtiene la aleatoriedad de la fuente criptográficamente segura de tu sistema operativo. A diferencia de las funciones pseudoaleatorias simples, su resultado no presenta patrones prácticos, y el muestreo por rechazo mantiene cada número del rango igual de probable en lugar de favorecer los valores más bajos.

¿Cómo genero un número aleatorio en un rango específico?

Introduce el valor más pequeño posible en el campo «Mín» y el más grande en «Máx», y haz clic en «Generar». Ambos límites están incluidos en el resultado, así que un rango de 1 a 10 puede producir tanto el 1 como el 10.

¿Puedo generar varios números aleatorios a la vez?

Sí. Ajusta el campo «Cantidad» a la cifra que necesites (hasta 1000) y el generador creará toda la lista con un clic. Después puedes copiar todos los resultados al portapapeles con el botón de copiar, o guardarlos como archivo.

¿Puedo generar varios conjuntos de números a la vez?

Sí. Cambia el «Formato del resultado» de «Saltos de línea» a «Separados por espacios» o «Separados por comas» para que aparezca el campo «Número de conjuntos». Ajústalo al número de generaciones independientes que necesites – por ejemplo, veinte conjuntos de tres números para veinte rondas de una rifa escolar – y elige si los mismos números pueden repetirse entre distintos conjuntos con «Permitir duplicados entre conjuntos».

¿Puedo ordenar los números generados?

Sí. Usa la opción «Orden» para organizar cada lista de forma ascendente o descendente, o déjala en «Ninguno» para mantener los números en el orden en que se generaron.

¿Cómo evito los números duplicados?

Activa el interruptor «Sin duplicados». Con él activado, cada número generado en la lista es distinto – ideal para rifas escolares o del trabajo, sorteos de premios o formar grupos de manera aleatoria. Ten en cuenta que la cantidad no puede superar el tamaño del rango: no puedes generar 20 números únicos entre 1 y 10.

¿Por qué se repiten los mismos números una y otra vez?

Porque las generaciones independientes pueden producir el mismo resultado, y así es como se ve la aleatoriedad. Cada generación ignora todas las anteriores, así que en un rango de 1 a 10 la probabilidad de que el mismo número aparezca dos veces seguidas es de 1 entre 10 cada vez – algo habitual, no un fallo. Si necesitas una lista sin repeticiones, activa «Sin duplicados»: eso restringe la generación de forma deliberada, no corrige ningún defecto.

¿Por qué una secuencia aleatoria no parece aleatoria?

Porque la aleatoriedad verdadera es impredecible, y una secuencia aleatoria no tiene por qué verse distribuida de forma uniforme. Las personas esperan que un resultado aleatorio se vea repartido con orden, así que las agrupaciones, repeticiones y rachas cortas como 7, 7, 8 parecen errores, cuando en realidad son justo lo que produce el azar. Una secuencia que le parece ordenada a un humano suele ser la que no era aleatoria.

¿Puedo confiar en la aleatoriedad generada en un navegador?

Sí, siempre que provenga de la Web Crypto API, como en este caso. crypto.getRandomValues obtiene la aleatoriedad de la fuente criptográficamente segura de tu sistema operativo. Math.random(), en cambio, no es de fiar para nada que importe de verdad: es determinista y nunca se diseñó para ser impredecible.

¿Se pueden predecir o influir los números aleatorios?

Aquí no. Los valores provienen del generador criptográficamente seguro de tu sistema operativo, así que observar resultados anteriores no revela nada sobre el siguiente, y la generación se realiza por completo en tu dispositivo – no existe ningún servidor que alguien pueda manipular ni solicitud que nadie pueda interceptar. Tampoco nosotros podemos influir en tus resultados, porque nunca los vemos.

¿Sirve para elegir ganadores de sorteos o rifas?

Sí. Asigna un número a cada participante, genera un resultado en ese rango, y gana quien tenga el número correspondiente. Como la fuente es criptográficamente segura y la generación se realiza de forma local, nadie puede predecir ni influir en el resultado, ni siquiera nosotros – lo que permite justificar el resultado si alguien lo cuestiona. Para el Melate o la Lotería Nacional funciona igual, pero es una elección justa, no una predicción: los sorteos oficiales no tienen ninguna relación con él.

¿Recargar la página cambia la aleatoriedad?

No, y no hace falta. Cada generación ya le pide valores aleatorios nuevos al sistema operativo, así que los resultados son independientes tanto si haces clic en «Generar» diez veces como si recargas entre cada clic. No hay ningún ciclo que reiniciar ni ningún estado que caduque – recargar solo borra los resultados que se muestran en pantalla.

¿El generador es gratuito, y guarda mis números?

La herramienta es completamente gratuita y no requiere registro. Todos los números se generan localmente en tu navegador y nunca salen de tu dispositivo, así que no podríamos guardar ni ver tus resultados aunque quisiéramos.