Generate cryptographically random PINs for banks, phones, and apps
*At 1,000 guesses/second — typical ATM rate limiting
0000 · 1111 · 1234 · 4321 · 0123 · 9999 · 1212 · 7777 · 2222 · 3333 · 4444 · 5555 · 6666 · 8888 · 2580 · 1357 · 0852 · 1470 · 2468 · 9876 · 1004 · 2000 · 2001 · 1984 · 0007 · 1122 · 1313 · 2323 · 6969 · 6666
These 30 PINs account for ~25% of all PINs used — attackers try these first.
A PIN (Personal Identification Number) is a short numeric code used to authenticate access to bank accounts, phone lock screens, apps, and secure facilities. Despite being short, a random PIN is secure — as long as the system limits guessing attempts. PassKit.in generates cryptographically random PINs using crypto.getRandomValues() and automatically excludes the most common PINs that attackers try first.
The security of a PIN depends almost entirely on its length and randomness. Here is what each PIN length gives you:
Research on leaked PIN databases shows that people overwhelmingly choose predictable PINs. The top 20 most common 4-digit PINs — including 1234, 0000, 1111, 1212, and birth-year patterns — account for over 25% of all PINs. An attacker who tries just these 20 combinations has a 1-in-4 chance of guessing a randomly-chosen user's PIN.
PassKit.in's "Avoid Common PINs" option automatically excludes the top 100 most commonly used PINs, as well as sequential patterns (1234, 4321) and repeating digits (1111, 2222).
A PIN is secure when the system enforces lockout after a small number of wrong guesses (typically 3–10). With lockout enforced, even a 4-digit PIN is practically uncrackable because an attacker can only try a handful of guesses. Where PINs are less safe is when a device is stolen and the PIN hash can be brute-forced offline — for those scenarios, use a 6-digit or longer PIN.
A good PIN is completely random — generated by a computer, not chosen by a human. Avoid any PIN that represents a date, a year, a phone number pattern, or a sequence. A 6-digit random PIN generated by PassKit.in using crypto.getRandomValues() is the best balance of security and usability for most applications.
If your PIN is random and the system locks after a few wrong guesses, your PIN is very hard to guess — a 4-digit PIN allows only 3 tries out of 10,000 (0.03%). The danger is using a common PIN like 1234 or 0000, which an attacker will always try first. PassKit.in's PIN generator avoids these common patterns automatically.
A random 6-digit PIN is 100× more secure than a random 4-digit PIN (1,000,000 vs 10,000 combinations). Most security experts recommend 6-digit PINs for phone lock screens and banking apps. If your service supports it, always choose 6 digits over 4.