Generador de Números Aleatorios

Genera números aleatorios en cualquier rango, uno o en lote, más presets de tirada de dados y lanzamiento de moneda. Todo en tu navegador, nada se sube.

🌐 English

🔒 Privado por diseño: todo se genera localmente en tu navegador; nada se sube nunca a ningún servidor.

Cómo generar números aleatorios

  1. Elige qué quieres: un número aleatorio en un rango personalizado, una tirada de dado (1-6), o un lanzamiento de moneda (cara/cruz).
  2. Para un rango personalizado, ajusta el Mínimo y el Máximo, se ignoran para los presets de dado y moneda, que usan sus propios rangos fijos.
  3. Ajusta ¿Cuántos números? para generar un solo resultado o un lote entero (hasta 1000).
  4. Marca opcionalmente Sin repeticiones para solo valores únicos, y Ordenar resultados para verlos en orden ascendente.
  5. Haz clic en Generador de Números Aleatorios, los resultados aparecen al instante, uno por línea, listos para copiar.

No hay ningún archivo que subir, esta es una herramienta de un clic y resultado instantáneo que se ejecuta enteramente en tu propio dispositivo.

Aleatoriedad real, no un patrón previsible

Esta herramienta usa crypto.getRandomValues(), la fuente de números aleatorios criptográficamente segura de la Web Crypto API (la misma calidad de aleatoriedad que usan los navegadores para claves de cifrado) en lugar del más débil y genérico Math.random(). Además, cada extracción pasa por muestreo por rechazo: en lugar de un ingenuo valor % rango (que está sutilmente sesgado siempre que el rango no divida exactamente 2^32), la herramienta descarta cualquier extracción que introduciría sesgo y vuelve a tirar, garantizando que cada número de tu rango elegido tiene exactamente la misma probabilidad de aparecer.

Número único o generación masiva

¿Necesitas solo un número entre 1 y 100? Deja la cantidad en 1. ¿Necesitas 50 números de rifa, un lote de datos de prueba, o una muestra para un ejercicio de estadística? Ajusta la cantidad hasta 1000 y cada valor cae en su propia línea, listo para copiar todo de una vez.

Sin repeticiones, cuando necesitas valores distintos

Elegir números de lotería, asignar entradas únicas de rifa, o barajar una lista de identificadores requieren todos valores que nunca se repitan dentro de un lote. Marca Sin repeticiones y el generador extrae solo números distintos, si el rango es demasiado pequeño para el tamaño de lote que pediste (p. ej. 10 números únicos de un rango 1-5), te lo indica con claridad en lugar de colgarse o darte duplicados silenciosamente.

Tiradas de dados y lanzamientos de moneda

Más allá de rangos arbitrarios, esta herramienta incluye dos presets clásicos para cuando no tienes a mano dados físicos o una moneda: una tirada de dado (del 1 al 6) y un lanzamiento de moneda (Cara o Cruz). Ajusta la cantidad para tirar varios dados o lanzar varias monedas a la vez, útil para noches de juegos de mesa, ejercicios de probabilidad, o zanjar una discusión de forma justa.

La trampa del módulo en la que cae la mayoría de sorteadores aleatorios

Hay un fallo tan común en el código de números aleatorios que tiene nombre propio. Tomas un byte o una palabra aleatoria, tomas el resto contra tu rango, y das el trabajo por hecho. Parece correcto, pasa una inspección superficial, y es demostrablemente incorrecto.

La razón es aritmética. Una palabra de 32 bits tiene 4.294.967.296 valores posibles. Si tu rango tiene 100 de ancho, eso no divide de forma exacta, así que los valores sobrantes de la parte alta del espacio dan la vuelta y aterrizan en los primeros números de tu rango una fracción más a menudo que en el resto. Con un puñado de extracciones no lo notarás nunca. En un sorteo con diez mil participantes, o en una simulación, el sesgo es real.

Este generador descarta esos sobrantes. Calcula el mayor múltiplo exacto de tu rango que cabe dentro de 32 bits, extrae palabras hasta que una cae por debajo de esa línea, y solo entonces toma el resto. Las palabras por encima de la línea se descartan y se vuelve a extraer. El coste es alguna extracción extra ocasional; el beneficio es una distribución genuinamente plana.

Dos formas de pedir algo imposible

Un mínimo por encima del máximo se rechaza en lugar de intercambiarse calladamente. Quien escribe 100 y después 1 casi con seguridad ha cometido una errata, y reinterpretarlo en silencio escondería el error tras un resultado de aspecto plausible.

Pedir más valores únicos de los que el rango puede suministrar también se rechaza, y este importa más de lo que parece. Sin la comprobación, una petición de diez valores distintos de un rango de cinco seguiría extrayendo eternamente buscando un sexto que no existe, y la pestaña se quedaría bloqueada. El recuento contra el tamaño del rango ocurre antes de la primera extracción, así que el rechazo es instantáneo.

Los dos rechazos son honestos dentro del código e invisibles en pantalla. El contenedor que envuelve esta herramienta captura todo lo que una herramienta lanza y muestra una única frase fija sobre que algo ha ido mal, así que el diagnóstico concreto nunca te llega. Si te encuentras ese aviso, mira tu rango y tu casilla de sin repeticiones antes que nada.

Elegir la herramienta adecuada a la forma de tu sorteo

Un número no siempre es lo que quieres en realidad. Si estás eligiendo a una persona y no un valor, la Ruleta de Nombres gira sobre una lista que pegues y se detiene en una entrada. Para un cuadro de eliminatorias o un conjunto de grupos equilibrados, el Generador de Equipos Aleatorios y el Generador de Brackets de Torneo hacen el reparto por ti en lugar de obligarte a mapear números de vuelta a nombres.

Para una partida de mesa, el Tirador de Dados te da la versión animada del preajuste de seis caras de aquí, y Cara o Cruz hace lo mismo para el caso de dos resultados. Cuando el valor aleatorio es un secreto y no una elección, usa el Generador de Contraseñas, que extrae de la misma fuente criptográfica con la misma disciplina de muestreo por rechazo aplicada a nivel de byte.

Privado, porque nada sale jamás de tu dispositivo

Cada número se genera con una sola línea de JavaScript nativo del navegador, sin llamada a un backend, sin registro, sin forma de que un tercero vea qué generaste o cuándo. También funciona sin conexión, una vez que la propia página ha cargado.

Usos habituales

Cómo funciona, en imágenes

Captura de pantalla de la herramienta Generador de Números Aleatorios con What do you want to generate? en Random number (custom range), Minimum (ignored for dice/coin) en 1
Generador de Números Aleatorios en pleno proceso: What do you want to generate? en Random number (custom range), Minimum (ignored for dice/coin) en 1.
Captura de pantalla del resultado de Generador de Números Aleatorios mostrando la salida generada «12»
El resultado final: la salida generada «12». El enlace de descarga es una URL blob local: el archivo nunca sale de tu dispositivo.

Preguntas frecuentes

¿Estos números se envían a un servidor para generarse?

No. Cada número se genera enteramente dentro de tu pestaña del navegador usando el generador de números aleatorios criptográficamente seguro de la Web Crypto API (crypto.getRandomValues). Nada (ni el rango, ni la cantidad, ni los resultados) se transmite jamás a ningún servidor.

¿Por qué crypto.getRandomValues() en lugar de Math.random()?

Math.random() es un generador pseudoaleatorio rápido y de propósito general sin ninguna garantía contra sesgo estadístico o previsibilidad, algo que importa para una herramienta cuyo propósito entero es producir un número genuinamente aleatorio. crypto.getRandomValues() es en cambio una fuente aleatoria criptográficamente segura (la misma clase que se usa para claves de cifrado) combinada aquí con muestreo por rechazo a nivel de palabra, así que el resultado también está libre de sesgo por módulo (consulta la siguiente pregunta).

¿Qué es el sesgo por módulo, y cómo lo evita esta herramienta?

Una forma ingenua de convertir un valor aleatorio de 32 bits en un número entre, digamos, 1 y 100 es `valor % 100`, pero eso está sutilmente sesgado siempre que el rango (100) no divida exactamente 2^32, algunos números acaban siendo muy ligeramente más probables que otros. Esta herramienta en cambio genera un nuevo valor aleatorio de 32 bits y descarta (vuelve a tirar) cualquier valor que caiga por encima del múltiplo exacto más grande del rango que cabe en 32 bits, antes de tomar el resto, una técnica estándar llamada muestreo por rechazo que garantiza que todo número del rango tiene exactamente la misma probabilidad.

¿Puedo generar números sin repeticiones?

Sí, marca "Sin repeticiones (números únicos)" y cada valor generado en un lote será distinto. Si pides más números únicos de los que el rango puede realmente ofrecer (por ejemplo, 10 números únicos entre 1 y 5, o más de 6 tiradas de dado únicas), la herramienta muestra un error claro en lugar de colgarse o devolver duplicados silenciosamente.

¿Cómo funcionan los presets de tirada de dado y lanzamiento de moneda?

Usan exactamente el mismo motor aleatorio sin sesgo que el modo de rango personalizado, solo que con el rango fijado a 1-6 para el dado o mapeado a Cara/Cruz (0/1 internamente) para la moneda, tus ajustes de Mínimo/Máximo se ignoran en estos dos modos. Ajusta "¿Cuántos números?" para tirar o lanzar más de una vez seguida, p. ej. 5 para cinco dados o 10 para diez lanzamientos de moneda.

¿Cuál es el rango o tamaño de lote más grande que puedo generar?

El mínimo y el máximo pueden ir cada uno de -1.000.000.000 a 1.000.000.000, y puedes generar hasta 1000 números en un lote, más que suficiente para sorteos, rifas, muestreo estadístico, o datos de prueba masivos, mientras la página se mantiene ágil.

¿Necesito instalar algo o registrarme para usar esto?

No. No hay cuenta, ni clave de API, ni límite de peticiones, y nada que instalar, abre la página, ajusta tus opciones, y haz clic en Generar. Sigue funcionando sin conexión una vez que la propia página ha cargado.

Herramientas relacionadas