Password Generator Math.random is not used. Instead, crypto.getRandomValues is used which gives unbiased random values Links Demo: password generator Unbiased Random Values: Crypto.getRandomValues()