Password strength meters

Password strength, measured honestly.

Passcore estimates how hard a password is to guess, checks it against your rules and tells people what to fix, in their own language. A tiny core with no dependencies, plus ready-made meters for jQuery, plain JavaScript, React, Vue and Svelte.

Try it

@passcore/vanilla
Estimate
0 bits
Level
—
Rules
—

Or try one of these:

Everything runs in your browser: nothing you type here leaves this page.

Signup forms

Show every requirement

Every result lists each enabled rule and whether it passes, so the checklist people expect on a signup form takes a few lines with any binding. Try a username, then a password that contains it.

Build it with

Why Passcore

Honest numbers, clear words, any framework

Bindings

Pick your stack

Every binding renders the same markup with the same stylesheet, so moving between frameworks doesn’t change what people see.

Get started

Install

Pick a package and your package manager; the command and a first snippet follow.

Package manager
pnpm add @passcore/core
TypeScript
import { createMeter } from '@passcore/core'

const meter = createMeter({ rules: { minLength: 10 } })
const result = meter.evaluate(password, [username])

result.percent // 0 to 100
result.message // { key: 'rule.minLength', params: { min: 10 } }