Generate strong and secure passwords.
Use your own settings.
Used only when special characters are enabled.
Minimum types are enforced by the selected checkboxes.
Click generate to create a password
Passwords are generated entirely in your browser with the Web Crypto API. This page does not save generated passwords to localStorage and does not send them to any API endpoint.
const getRandomInt = (max: number) => {
const array = new Uint32Array(1);
crypto.getRandomValues(array);
return array[0] % max;
};
// Password/token generation runs in your browser only.
const generatePassword = () => {
const pools = buildCharset();
const charset = pools.map(pool => pool.chars).join('');
const chars: string[] = [];
// pick required category chars...
for (let i = chars.length; i < passwordLength; i += 1) {
chars.push(charset[getRandomInt(charset.length)]);
}
return shuffleArray(chars).join('');
};
const generateToken = () => {
const bytes = new Uint8Array(tokenBytes);
crypto.getRandomValues(bytes);
// encode as base64url or hex, then optional prefix/grouping
};