DevTools Hub

Search tools

Search for a developer tool

WPA/WPA2 PSK Strength Checker

Derive the real PBKDF2 PMK from a WiFi passphrase and SSID, and flag weak passphrase choices.

Part of the WiFi Security Toolkit

What this does

Computes the actual Pairwise Master Key (PMK) a WPA/WPA2-Personal network derives from a passphrase and SSID — PBKDF2-HMAC-SHA1 with 4096 iterations, producing a 256-bit key — and flags passphrase choices that are technically valid but meaningfully weaker against offline cracking: too short, purely numeric, identical to the SSID, or paired with one of the internet's most common default router SSIDs. Entirely in your browser, using the Web Crypto API.

Verified against the published test vectors

This isn't an approximation — it runs the real PBKDF2-HMAC-SHA1 derivation the WPA2 standard specifies, and produces the exact PMK values published as reference test vectors for this derivation (SSID IEEE, passphrase password → PMK f42c6fc5...9710a12e). If you paste those exact values in, you'll get that exact output.

FAQ

Why does the SSID matter for the derived key, not just the passphrase?

WPA-Personal's key derivation (PBKDF2-HMAC-SHA1, 4096 iterations) uses the SSID as the cryptographic salt, not just as a network label — the exact same passphrase produces a completely different PMK on a network named "HomeWifi" than on one named "HomeWifi2". This is also why precomputed cracking tables exist per-SSID for common default names: the salt has to match exactly for a precomputed table to be useful.

Why is a 12-character passphrase considered weak when it would be fine for a website login?

Website logins are usually rate-limited or lock out after a handful of failed attempts, and a well-implemented one hashes passwords with something deliberately slow (bcrypt, Argon2, scrypt). WPA2's PBKDF2 with only 4096 iterations is comparatively fast on modern GPUs, and an attacker who's captured a handshake can test candidates completely offline with no rate limit at all — so a 12-character passphrase that would be perfectly reasonable for a website is meaningfully weaker for WiFi.

Is a raw 64-character hex PSK better than a passphrase?

If it was actually generated with a proper random source, yes — it uses the full 256 bits of key space directly, with no PBKDF2 derivation (and no dependency on SSID) in between. The tradeoff is practical: a random 64-hex-digit string is much harder for a person to type into a new device correctly than a memorable passphrase.

Does this tool send my passphrase or SSID anywhere?

No — the PBKDF2 derivation runs entirely in your browser using the Web Crypto API, and nothing you enter is transmitted anywhere. That said, treat any real network's passphrase as sensitive regardless of which tool you check it with, and prefer a placeholder when just testing behavior.

Why does changing WPA2 to WPA3 matter if PBKDF2 is the weak point?

WPA3-Personal replaces this entire derivation with SAE (Simultaneous Authentication of Equals, based on the Dragonfly key exchange), which is specifically designed to resist offline dictionary attacks even against short or weak passphrases — a captured WPA3 handshake doesn't hand an attacker the same offline-cracking opportunity a WPA2 handshake does. This tool models WPA2's PBKDF2-based derivation specifically, not WPA3's SAE.

Try it yourself

For the full picture of why WPA2's key derivation has this specific weakness and how WPA3 addresses it, see WPA2 vs WPA3 Security Explained.

Related tools