Get to know MDN better
Esta página ha sido traducida del inglés por la comunidad. Aprende más y únete a la comunidad de MDN Web Docs.
This feature is well established and works across many devices and browser versions. It’s been available across browsers since julio de 2015.
La función Math.random() devuelve un número de coma flotante pseudo-aleatorio, comprendido en el rango de 0 a menor que 1 (es decir, incluido el 0 pero no el 1), con una distribución aproximadamente uniforme en este rango. Dicho rango puede ser ampliado hasta los valores deseados. La implementación selecciona la semilla inicial del algoritmo de generación de números aleatorios, no pudiendo ser esta elegida o restablecida por el usuario.
Nota: Math.random() no proporciona números aleatorios criptográficamente seguros, por lo que no debe ser usado para cualquier cosa relacionada con seguridad. En su lugar, puede hacer uso de la API web Crypto. Concretamente, puede utilizar el método window.crypto.getRandomValues().
Un número de coma flotante pseudo-aleatorio entre los números 0 (incluido) y 1 (excluido).
Tenga en cuenta que los números de coma flotante en JavaScript cumplen con la norma IEEE 754. Debido a esto, dichos números tienen un comportamiento de redondeo al evento más cercano. Es por eso que en las funciones descritas en los siguientes ejemplos (excluyendo a la propia Math.random() ) los rangos declarados no son exactos. Si se eligen límites extremadamente grandes (2^53 o superiores), es posible, en casos extremadamente raros, calcular el "habitualmente excluido" límite superior.
Este ejemplo devuelve un número aleatorio situado entre dos valores específicos. El valor devuelto será mayor o igual que min y menor que max.
Este ejemplo devuelve un número aleatorio situado entre los valores especificados. El valor devuelto no será más bajo que min (o el siguiente entero más alto, en caso de que min no sea un número entero), y será menor (pero no igual) que max .
Nota: Puede ser tentador utilizar Math.round() para conseguir lo mismo, pero al hacerlo, los números aleatorios devueltos no seguirán una distribución uniforme. Esto podría no ser aceptable para sus necesidades.
La función getRandomInt() descrita anteriormente incluye el valor mínimo, pero excluye al máximo. ¿Y si necesitamos que el resultado incluya tanto al mínimo como al máximo? La siguiente función getRandomIntInclusive() lo consigue.
| ECMAScript® 2027 Language Specification # sec-math.random |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 21 jul 2025 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.