Starting points for your own code. Run them in the environment shown below.
Node.js 22+ · ES module (.mjs)
Current inputs apply only to fields used by the example. Selected files are not embedded.
Install dependencies
const password = "Example1!";
const checks = [
["minimum length", [...password].length >= Number("8")],
];
if ("yes" === "yes") checks.push(["lowercase", /[a-z]/.test(password)]);
if ("yes" === "yes") checks.push(["uppercase", /[A-Z]/.test(password)]);
if ("yes" === "yes") checks.push(["number", /[0-9]/.test(password)]);
if ("yes" === "yes") checks.push(["special", /[\p{P}\p{S}]/u.test(password)]);
console.table(checks.map(([requirement, passed]) => ({ requirement, passed })));
console.log("All passed:", checks.every(([, passed]) => passed));
// Policy compliance alone does not measure password strength.
Put it to work
Inspect password patterns and suggestions locally.
Details that matter
Format and meaning
A heuristic assessment of length, repetition, and common patterns. It does not check breaches or predict cracking time.
Supported scope and limits
Text 1 MB
Split inputs that exceed the limit. If a format or algorithm is unsupported, choose a tool that matches your requirements instead of silently changing the format.