Guía
¿Un lanzador de dados online es realmente aleatorio?
Última actualización: 24 de agosto de 2026
Nadie confía automáticamente en la bolsa de dados de un desconocido, y una web que te pide creer que un número apareció "al azar" merece el mismo escepticismo. Esto es lo que ocurre de verdad dentro de un navegador cuando pulsas tirar, y cómo comprobar tú mismo la imparcialidad de cualquier lanzador.
Qué genera el número, exactamente
Este lanzador —y la gran mayoría de herramientas de dados en navegador— usa la función Math.random() de JavaScript. Todo navegador moderno la implementa con un algoritmo bien estudiado (V8, el motor de Chrome y Node, usa uno llamado xorshift128+) que produce un flujo de números sin patrón detectable, sembrado de nuevo desde entropía interna cada vez que carga una página. Tirar un d6 es solo Math.floor(Math.random() * 6) + 1: toma el siguiente número de ese flujo, escálalo a 6 resultados posibles y desplázalo a 1–6 en vez de 0–5.
Ese cálculo ocurre por completo en tu dispositivo. No hay una llamada al servidor decidiendo tu resultado, ni un historial de cuenta que un sitio pudiera usar para empujar los resultados, ni nada que "cargar" o que falle — por eso este lanzador sigue funcionando sin conexión una vez cargada la página.
"Aleatorio" frente a "criptográficamente seguro" — y por qué aquí la distinción apenas importa
Math.random() es un generador de números pseudoaleatorios (PRNG): determinista por dentro, pero estadísticamente indistinguible de la aleatoriedad real para cualquier fin práctico que no sea la seguridad. No es la misma clase de generador que crypto.getRandomValues(), que los navegadores reservan para cosas como generar claves de cifrado, donde un atacante capaz de predecir la secuencia podría romper garantías de seguridad reales.
Para una tirada de dado, esa diferencia no importa. Nadie intenta predecir tu próxima tirada para robar algo — la única propiedad que importa para un juego justo es la distribución uniforme: ¿sale cada cara con la misma frecuencia a lo largo de muchas tiradas? Math.random() lo cumple fácilmente, y la implementación de todos los navegadores principales se ha probado a fondo justo para este tipo de sesgo estadístico.
Por qué una racha no significa que esté amañado
La razón más habitual para desconfiar de un lanzador no es el código, sino una racha de mala suerte que parece imposible. Sacar tres 1 seguidos en un d6 tiene aproximadamente 1 posibilidad entre 216 (ocurre más de lo que sugiere la intuición, sobre todo entre muchos jugadores tirando muchas veces al día). Los eventos independientes e idénticamente distribuidos no tienen memoria: el dado no te "debe" una buena tirada tras una mala, y no se "compensa" en ninguna escala de tiempo concreta. Es la misma falacia del jugador que se trata con más profundidad en la guía de probabilidad de dados — se aplica exactamente igual a una pantalla que a una mesa física.
Compruébalo tú mismo: una prueba de imparcialidad de cinco minutos
No tienes que fiarte de una afirmación de imparcialidad — un lanzador de un solo dado es lo bastante simple para verificarlo con una prueba estadística básica:
- Tira un solo dado (digamos, un d6) muchas veces — 100 tiradas bastan para ver una tendencia, 600+ da una imagen más limpia.
- Anota cuántas veces salió cada cara (del 1 al 6).
- Compara el recuento de cada cara con el recuento esperado:
total de tiradas ÷ 6.
Con un dado justo, los recuentos se agruparán cerca del valor esperado con ruido estadístico normal — ninguna cara debería estar muy sobre- o infrarrepresentada a medida que crece la muestra. Si quieres ser riguroso con lo de "muy", una prueba chi-cuadrado de bondad de ajuste te da una respuesta formal: suma (observado − esperado)² ÷ esperado en las seis caras y compara el resultado con una tabla chi-cuadrado con 5 grados de libertad. Un resultado dentro del rango normal (aproximadamente por debajo de 11 para un umbral de confianza del 95 %) es coherente con un dado justo; un resultado muy por encima sugiere un sesgo real que vale la pena investigar.
Esta prueba funciona en cualquier lanzador, digital o físico — es el mismo método que usan los estadísticos para comprobar si un dado físico de casino tiene un sesgo de fabricación.
Qué haría realmente injusto a un lanzador
Un lanzador digital amañado no es difícil de imaginar, solo fácil de descartar con la comprobación adecuada:
- Un cálculo de rango sesgado. Escalar de forma ingenua un flotante aleatorio a un rango entero puede favorecer ligeramente ciertos números si se hace mal (un error "off-by-one" o de sesgo de módulo). Las implementaciones bien probadas, incluida esta, lo evitan escalando y redondeando hacia abajo correctamente en todo el rango.
- Manipulación del lado del servidor. Si una tirada requiere una llamada al servidor y el servidor decide el resultado, no hay forma de verificar de manera independiente el código que se ejecuta — es un problema de confianza que el software por sí solo no puede resolver. El resultado de este lanzador se decide en tu propio navegador, en código que puedes inspeccionar con las herramientas de desarrollo de tu navegador.
- Ponderación oculta hacia resultados "emocionantes". Algunas apps de juegos sesgan los resultados a propósito para el engagement. Un lanzador de dados sin cuentas, sin resultados monetizados y sin razón para favorecer ningún resultado no tiene incentivo para hacerlo — y, de nuevo, puedes verificarlo con la prueba de arriba en vez de creerlo sin más.
La versión corta
Cada tirada de este sitio se ejecuta en local en tu navegador con un generador pseudoaleatorio estándar y de distribución uniforme — la misma categoría de RNG que usan la mayoría del software de dados, los videojuegos y las herramientas de barajado. No es criptográficamente seguro, y no necesita serlo: la única propiedad que necesita una tirada de dado es una probabilidad igual para cada cara, y eso es exactamente lo que da un PRNG uniforme. Tira un lote en el lanzador de dados y haz la prueba de arriba si quieres verlo por ti mismo.