Generador de números aleatorios

Genera un número aleatorio, una lista o varios conjuntos de números en cualquier rango – directamente en tu navegador y con aleatoriedad criptográficamente segura, sin enviar los resultados a ningún 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 gratuito y en línea genera un número – o una lista completa de números dentro del rango que definas, desde un sencillo rango del 1 al 10 hasta rangos de hasta 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) – una fuente de aleatoriedad criptográficamente segura. Nada se envía a un servidor ni se registra en nuestros sistemas, 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 – algo útil para rifas, sorteos o para 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 de los resultados» 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 utilizada por el navegador procede de una fuente criptográficamente segura proporcionada por el sistema operativo, no de JavaScript en sí. Cuando haces clic en «Generar», el JavaScript de la página solicita al navegador valores brutos de 32 bits mediante crypto.getRandomValues y los transforma en el rango que has definido. No necesitas conocer ni proporcionar ninguna semilla, y no se realiza ninguna solicitud de red.

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 el tamaño del rango parece la solución obvia, pero introduce sesgo: a menos que el tamaño del 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 ese 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? Una secuencia es suficientemente impredecible cuando conocer los resultados anteriores no permite predecir los siguientes – 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 para que observar su salida no revele 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 es normal ver una repetición como 7, 7 o una pequeña racha de números altos – ninguno de esos casos indica un problema. Una secuencia aleatoria es impredecible; no tiene por qué producir resultados perfectamente repartidos: 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?

Los números aleatorios aparecen en muchos más lugares de los que la mayoría imagina. El personal docente elige a estudiantes sin mostrar favoritismo. Los streamers y los equipos de marketing sortean premios y ganadores de rifas ante un público que tiene que poder creer en el resultado. En los juegos de mesa, un número aleatorio sustituye un dado perdido o decide quién empieza, y en los torneos se sortea el orden de salida. 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 después – porque la generación se basa en una aleatoriedad criptográfica, se realiza localmente en tu dispositivo y nosotros no tenemos acceso a los resultados, 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, cada generación aquí es una elección aleatoria, no una predicción: los sorteos oficiales de lotería 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 sorteo – 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 de los resultados» 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, 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 una secuencia aleatoria es impredecible; no tiene por qué producir resultados perfectamente repartidos. 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 proporciona valores aleatorios criptográficamente seguros que pueden utilizarse para generar material criptográfico, y obtiene su entropía del sistema operativo en lugar de JavaScript. Math.random(), en cambio, no está diseñado para ser impredecible desde el punto de vista criptográfico y no debe utilizarse cuando la seguridad o la impredecibilidad sean importantes.

¿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, los resultados anteriores no permiten predecir los siguientes en la práctica – lo que facilita explicar cómo se obtuvo el resultado si alguien lo cuestiona. Para jugar a la lotería 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.