Skip to content
Security

120 random passwords for servers, master keys, admin accounts

120 random passwords generated with the Unbiased Random Selection method (OS CSPRNG with rejection sampling). Lengths from 32 down to 10 characters. Click any password to copy it to clipboard.

ASCII format passwords

The most secure: 86-character printable charset, ~6.43 bit/char entropy. A 16-character ASCII password already carries about 103 bits of entropy: at one trillion guesses per second (an offline GPU rig against a fast hash) a brute-force search would take about 140 billion years on average. At 30 characters it climbs to about 193 bits, beyond the reach of any brute-force attack. Use these for critical services: server access, master keys, admin accounts.

Charset: !"#$%&'()*+,-./23456789:;<=>?@ABCDEFGHJKMNPQRSTUVWXYZ[\]^_`abcdefghjkmnpqrstuvwxyz{|}~

32 characters · Very strong (~206 bit)

wA/9fAKh?$FSS(P8ytRyQff=VTUKdxd_

mvw>nYh$^'.uS\Yh|-+'j%jfV*6:J#bW

k7y@6)aSGHJH/m7fK]%==Hpb+:/:g}c{

h,wfY&Y8|yY-=j}\yx/=8)ugsbQa6<)`

t/Vhq<K!c8BD)e[>M^?}\bUn<[9\h7cz

zndh-q)=y%}aU#Xn,T4.<P*<*v?C*HRB

ba,Q%m7;T\,5mdx{3*Z|NSgE)\Ee}[%:

6JDcBb]fH|}BY,6fTst+^,eAY,@#gC_%

$:&Vqhu@y*[~Tx9=r<`,hBbX%Arv*^,J

Pj<xHBb.+[!CtxHK(K6}GV>!7>#nWhJ[

24 characters · Very strong (~154 bit)

c8-^.nCFwS#8Mes.G:\dm``a

2XCyde~-RT@H^XZ*5]fw'eRt

eXmc\\Yh2CaW(H^W6\z)j4#(

a8AQ&c+R.D`&QjnJ@\_}aT{Z

cZ}Jgw&e/<m|}qsxH%R~23$k

##8U?7KnZ}jUJ;~\2KmF8#}#

PZ@2DMB3hwA7vTFP\x$5B|N@

B7:vsgdv?~*3pB4%6}k""%4x

{nvSf5$>'F,yV<r^[UGz<)sC

,fFnx~rJ9>Dn%3^_q8u?$scN

20 characters · Very strong (~129 bit)

;-F^!@u`|\^Q;|Q.yY-;

Tx~yXX")h4"%AfBB|&3;

A6BU8U"DkQMFx|cy>-qU

_n_xJ{C7C<:DSk^"T(HH

rE?}&$_Zgq%Zn;s$3e$g

#zRZWRm2RD#TTe&nC-v~

,Fm$Dg9Ank"4TYV*g3r=

[3P!_gU2dq;Asf]_J!fK

|4CS|s&z:95s'S>b.r,J

ap6s@4sVx8(8p([Q,U>`

16 characters · Strong (~103 bit)

2Q6-p+$6m#/A4f8,

nP2g{.Nv='E$3t@Q

Eec>*vw93/TWp}fQ

pfKe\2uN_hGZ7ThV

eauuPcSr@DEK&c)$

3CR;/22aM*V;u5V3

nHB_`h'=}%"XHDg7

{'3kd.A@F4\Y_`G`

p$[`E&e$q*SwSKTK

JqQa*#$t|kktbcze

12 characters · Fair (~77 bit)

sa`rn$Khf+?q

2v\Ku:^d(Dg$

J|T=Hfw~v^?q

7fc@W;gc{qa_

'ynbXc6/A_`$

4trbTZMKPga'

$wPs(wc9fE]n

@WU.aE&[w6tN

?;/y>}Vy[)>Y

TnrA-2(RPcA~

10 characters · Fair (~64 bit)

$+']+Qq?r+

.\Az6>Y2^|

(Y8g<hj}Au

y:K^hY+@N%

+x",nQh/Ta

Ce!+KD=tsP

)d)Y[VHBuD

.s]zf^m)GN

~~TpVj3QN?

*ZgE:`ax*&

Alphanumeric format passwords

Reduced charset (54 characters): more readable and typable, lower entropy per symbol. OK for services that forbid special characters. For everything else, prefer ASCII above.

Charset: ABCDEFGHJKMNPQRSTUVWXYZabcdefghjkmnpqrstuvwxyz23456789

32 characters · Very strong (~184 bit)

NsXrCcgs26xe5WRb6BKdJRd8JgR5XRcH

XxntvvfphwFn4zG35pjHp4ZgXUeTPg9N

Sw6wsm9CPzvEpmfaSC9q9CtSybHWcnKG

spnnSXhf9yvUaxSeBqMEZpcH69hMnMAh

vy3AbhMn3UC975X3FjStqw9PGWKG7YKE

sB3jWRRYAYnpgBGsNMAQWzn83m8htTUY

CzQhs4P3ke2TxSw72h8swFg93CHJdb7Z

BnbBkUjpGcmK5eSd6kGtxKRXwJfuYxqf

wEfSgNfjxrzJezaCr676rBcSYtAKBzts

hV77bfRSvF9bm5auj6F79qC7tm3TfRKz

24 characters · Very strong (~138 bit)

PSxxDGvz2zdJkFfn2wtUUzGx

uguANjWHZkfNaeuPQncz9MzK

ZVXZfBm9fXWcXMfXXQJasVQT

6uChTmfD9MebysNg4yM9h3J3

NZtnYxvcS829yrQHptK6CR8T

a5KqxuUYZKeVKBavKbDvRkup

ECnVSXx96CsBh2zWkn4ZjM5V

Em8HVApBFT8AeghCgzBQvsZP

hYRYH9XUeNThRVHphjguJV5C

569WDvGuJKgau8FXaMVVKTNf

20 characters · Very strong (~115 bit)

kebRPBgH7HRCAg7qa9yF

Wv7Tbv8M5ScTksCBBukS

6QG7p8zHBSXBnnnfQNnF

BsabrXKJTXQfNBgHAErk

zUb3W6tx5s5XzEQ8AXAz

D4nhDft6y3wHcFXQwKTV

CZWUwvzBkzRTTjKzvqDR

DMdKa8D3rbqjhjCbwCuk

3NCtsk3PvMCHb3jEus4Q

Vjtmj9vKw6xNxZW83kjr

16 characters · Strong (~92 bit)

MJRZMC3xcskE2WcB

mS7y3gMTfnKSZRNc

vmUkTx4kXYxE8WFz

As3BVJe3pGTg2a6D

kVHM9YGfExjrYYps

FJJvkPdb8E9gC9mg

bAv9t6NEFTTudGnf

6r2djRcjaXZWJJqs

mzmCvu4VXxUczZ2f

Z2BAJyPZYYrDATh6

12 characters · Fair (~69 bit)

6v3Pvjn8sXsv

wSTBcsjChHj8

r3Bxaj6ETpzJ

vtrze2hdGkz6

wkNJxNMTZtSA

QQHYHPUqbWvj

yjMtDYhTbJbV

2J73HFU8jmzf

57WXszT4FaNs

gskyyCWpaZQa

10 characters · Weak (~58 bit)

U79bgNy4k3

DXwJy2Vv2J

aKq2Fm9M4z

9kTmECEvAU

FaAbbugArv

b9mdMSzhqR

uV9WMeBE22

4xfcNNVBrQ

dEb8bhh4Se

htFYPM9b2b

Why these passwords are genuinely secure

Generation uses unbiased random sampling via PHP's random_bytes(), which calls into the OS CSPRNG (/dev/urandom on Linux, equivalents on other OSes), with rejection sampling (bit mask, out-of-range values discarded) that avoids the modulo bias many artisan generators get wrong: every character has probability exactly 1/|charset|. On 20 ASCII characters the real entropy is 128 bits. For comparison, a "strong" password picked by a human typically has 30-50 bits of entropy and is brute-forceable in hours on modern GPUs. The passwords served on the page exist only in the HTML sent to your browser: they are not logged, not persisted anywhere, and do not survive page reload.

Frequently asked questions

How long is a truly secure password in 2026?
Personal accounts: at least 16 ASCII characters (roughly 100 bits of entropy). SSH servers, API keys, admin accounts: 24-32 characters. The real security factor is total entropy, not character class: a 30-char ASCII password is more secure than a 12-char password with 'mandatory symbols'.
Why don't the passwords contain '0', '1', 'l', 'I', 'O'?
Visual ambiguity. If you have to read or type the password by hand (on mobile, on a serial console, on a remote terminal), lookalike characters cause errors. Excluding 8 chars out of 94 (0, 1 and the letters I/L/O both upper and lower case) only changes per-char entropy by ~0.13 bits, negligible compared to total length.
Are generated passwords logged or sent anywhere?
No. The PHP that generates passwords runs server-side in an isolated process, doesn't log output, doesn't store anywhere. Every page reload produces 120 fresh passwords that only exist in the HTML served to you. HTTPS always.
Is random_bytes() really secure?
Yes. In PHP 8.x random_bytes() reads from the OS CSPRNG (/dev/urandom on Linux, equivalents on other OSes): the same entropy source that backs standard cryptographic tooling, and when no entropy is available it throws an exception instead of returning weak bytes. The generator applies rejection sampling to avoid modulo bias, a critical detail many artisan generators get wrong and which leads to non-uniform character distributions across the charset.
Can I use these passwords for encryption or API keys?
For account and service passwords they are fit for purpose. For cryptographic keys (AES, RSA, ECDSA) no: keys must be generated directly with the crypto library that will use them, in the format and length specific to the algorithm. Using an ASCII password as a crypto key introduces an unnecessary KDF derivation, typically done wrong.
What if I work at a company where passwords are shared in an Excel file?
Very common, very risky, very fixable. Migrating to an enterprise password manager (self-hosted Bitwarden, 1Password Business, Vaultwarden) takes 2-3 days of setup + training. If you want a structured path for your SMB, get in touch: this is one of the areas I work on regularly.

Password hygiene at your company is a mess?

If your SMB still uses shared passwords in Excel, reused credentials across services, or lacks a centralized password manager, the compromise risk is high and measurable. I offer targeted consulting on enterprise password policy, migration to self-hosted password managers (Vaultwarden/Bitwarden), and audit of service credentials in use. 20+ years backend + applied cybersecurity.

Talk to me about password security