norito
PDF
Merge PDFCombine multiple PDFs into one
Split PDFPull out pages or split into files
Rotate PDFFix sideways or upside-down pages
PDF to JPG/PNGTurn pages into images
JPG/PNG to PDFCombine images into one PDF
Delete & Reorder PagesDelete or rearrange pages
Add Page NumbersNumber every page
Add WatermarkStamp text across every page
Extract TextPull text out of a PDF
Compress PDFShrink a large PDF's file size
Sign PDFDraw or type a signature
Images
Compress ImageShrink to a target file size
Placeholder GeneratorCustom-size placeholder images
Remove BackgroundCut a person out of a photo
Resize ImageChange width and height, exact or by percentage
Image ConverterConvert between JPG, PNG, and WebP
Crop ImageDrag a box to crop, free-form or locked ratio
Remove MetadataStrip EXIF, GPS, and camera info
Watermark ImageAdd a text watermark with live preview
Developer
Test File GeneratorByte-exact dummy files, any size
JSON FormatterFormat, validate, minify
Markdown EditorLive preview, export as .md/.html
UUID GeneratorBulk random UUID v4 identifiers
Base64 Encode / DecodeText to and from Base64, UTF-8 safe
Hash GeneratorMD5, SHA-1, SHA-256, SHA-512
Timestamp ConverterUnix time to date, both ways
JSON DiffCompare two JSON documents
JWT DecoderDecode a JWT's header and payload
Regex TesterTest a regex with live match highlighting
CSV to JSONConvert a CSV file into JSON
CSV ViewerView and edit a CSV as a table
URL Encoder / DecoderPercent-encode or decode a URL
HTML Entity EncoderEscape or unescape HTML entities
YAML to JSON ConverterConvert YAML and JSON, both ways
Cron Expression ParserExplain a cron schedule, preview next runs
Number Base ConverterBinary, octal, decimal, hex, and more
Text DiffCompare two texts line by line
Text
SEO Slug GeneratorClean URL slugs from titles
Limited Text GeneratorPlaceholder text, exact length
Word CounterLive word, sentence, and paragraph counts
Character CounterCharacter count, with platform limits
Remove Duplicate LinesDeduplicate a list of lines
Sort LinesSort alphabetically, numerically, or shuffle
Case ConverterUPPERCASE, camelCase, snake_case, and more
Lorem Ipsum GeneratorPlaceholder text, by word, sentence, or paragraph
Find and ReplaceFind and replace text, regex supported
Utilities
Password GeneratorRandom passwords & passphrases
QR Code GeneratorCustom colors, error correction
SEO
Meta Tag GeneratorTitle, description, OG, Twitter tags
UTM BuilderBuild campaign tracking URLs
Robots.txt GeneratorAllow/disallow rules, sitemap ref
Sitemap GeneratorURLs in, sitemap.xml out
Design
CSS Gradient GeneratorLinear or radial, copy the CSS
Box Shadow GeneratorSingle or layered shadows
Border Radius GeneratorPer-corner radius, copy the CSS
Favicon GeneratorEvery favicon size you need
Color Palette ExtractorPull dominant colors from an image
Contrast CheckerWCAG contrast ratio, AA/AAA pass
Color ConverterHEX, RGB, HSL, CMYK, live
Blog

norito / Blog / Password Entropy, Explained With Real Numbers

Password Entropy, Explained With Real Numbers

By Shubham Singh · July 20, 2026

Published 2026-07-20

Password strength meters are vibes. Entropy is arithmetic. Here is the actual math behind "password strength," crack times computed from real hardware numbers, and an honest look at which of the rules you have been forced to follow do anything at all.

What a bit of entropy is

Entropy measures how many equally likely possibilities a password was drawn from, expressed as a base-2 logarithm. A password picked uniformly from 1,024 possibilities has 10 bits of entropy, because 210 = 1,024. Every added bit doubles the number of guesses an attacker needs in the worst case. For a randomly generated password the formula is simple: entropy = length × log2(alphabet size).

The word "randomly" is doing all the work in that sentence. The formula applies only when every character is chosen by a proper random generator. A password a human invented does not qualify: humans draw from a tiny, heavily skewed pool of names, dates, keyboard walks, and words with a 1 tacked on, and cracking software is built around exactly those patterns.

The per-character numbers

Lowercase letters only: 26 symbols, 4.70 bits per character. Add uppercase: 52 symbols, 5.70 bits. Add digits: 62 symbols, 5.95 bits. Add every printable ASCII symbol: 95 symbols, 6.57 bits. Notice how weak that progression is. Going from lowercase-only all the way to the full 95-symbol soup gains less than 2 bits per character, while adding one more character to the password gains 4.7 to 6.6 bits. Length beats character-set complexity every time, and it is not close.

Crack times, concretely

Assume the worst realistic case: your password hash leaked in a breach, the site used a fast algorithm like MD5 or NTLM (the same kind of hash you can compute instantly in our hash generator, which is precisely the problem), and the attacker runs a modern multi-GPU rig doing about 100 billion guesses per second. Time to try every combination:

PasswordEntropyTime to exhaust
8 random lowercase letters37.6 bitsabout 2 seconds
8 random characters, full 95-symbol set52.6 bitsabout 18 hours
12 random lowercase letters56.4 bitsabout 11 days
5 random diceware words64.6 bitsabout 9 years
16 random lowercase letters75.2 bitsabout 14,000 years
6 random diceware words77.5 bitsabout 70,000 years
12 random characters, full 95-symbol set78.8 bitsabout 170,000 years

Halve those numbers for the average case, since an attacker typically finds the password halfway through the space. If the site used a slow hash like bcrypt or Argon2, the guess rate collapses by a factor of a million or so and every row gets a million times longer. But you rarely know what a site uses, so plan for the fast case.

Why passphrases win

A word chosen at random from the standard 7,776-word diceware list is worth log2(7776) = 12.9 bits. Five words reach 64.6 bits; six words reach 77.5 bits, roughly the strength of 12 truly random characters drawn from the full symbol set. The difference is that "maple-thunder-oboe-crisp-vandal" can be typed on a phone keyboard and remembered after a few uses, and "xX9#qL!2mFp$" cannot. The same caveat applies, though: the words must come from a random generator. Pick them yourself and you will pick common, related words, and the real entropy craters.

Where good randomness comes from

Every modern browser exposes a cryptographically secure random generator, crypto.getRandomValues, which is seeded from the operating system's entropy pool. A generator built on it, with care taken to avoid biased sampling when mapping random bytes onto a character set, produces passwords whose entropy actually matches the formula. That is the whole difference between a generated password and an invented one: the generated password's entropy is real and computable, while the invented one's is a guess, and usually a flattering one.

Three myths worth retiring

Mandatory symbols. Composition rules ("at least one uppercase, one digit, one symbol") barely move the math, as the per-character numbers above show, and in practice they push people toward predictable templates: capital first letter, exclamation mark last, @ for a. Cracking rulesets have encoded those substitutions for decades, so P@ssw0rd! falls in milliseconds no matter what a strength meter says. NIST's guidance (SP 800-63B) has recommended against composition rules since 2017.

Forced rotation every 90 days. The predictable outcome is Summer2025! becoming Autumn2025!. NIST again: change a password when there is evidence of compromise, not on a calendar.

Judging entropy by looking at the string. Entropy is a property of the process that generated a password, not of the output. "xK4pQ9vT" invented in your head is far weaker than eight characters from a cryptographic random generator, even though the two look identical. This is also why strength meters mislead: they can only see the output.

Practical targets

For accounts where an attacker can only guess online against a rate limiter, 40 bits is plenty: at 100 guesses per hour, walking through even 230 possibilities would take over a thousand years. For anything that could be attacked offline after a breach, which is the safe assumption for accounts you care about, aim for 75 bits or more: about 14 random mixed characters, or six diceware words. And make each password unique per site so one breached forum cannot unlock your email, which realistically means a password manager plus a generator.

If you want to see the math in action, norito's password generator offers both modes, random character strings and word-based passphrases, with a live entropy readout. Like every tool on this site, it runs entirely in your browser, which is rather the point for passwords.

Try it yourself: Password Generator builds random passwords and passphrases locally. Nothing is sent anywhere.
norito

Small utilities that solve one annoying problem each. Everything runs in your browser, nothing is uploaded.

PDF

Merge PDF Split PDF Rotate PDF PDF to JPG/PNG JPG/PNG to PDF Delete & Reorder Add Page Numbers Add Watermark Extract Text Compress PDF Sign PDF

Images

Compress Image Resize Image Image Converter Crop Image Remove Metadata Watermark Image Placeholder Remove BG

Developer

Test Files JSON Formatter Markdown Editor UUID Generator Base64 Hash Generator Timestamp JSON Diff JWT Decoder Regex Tester CSV to JSON CSV Viewer URL Encoder HTML Entities YAML to JSON Cron Parser Base Converter Text Diff

Text

Slug Generator Text Limit Word Counter Character Counter Dedupe Lines Sort Lines Case Converter Lorem Ipsum Find & Replace

Utilities

Password QR Code

SEO

Meta Tags UTM Builder Robots.txt Sitemap

Design

Gradient Box Shadow Border Radius Favicon Color Palette Contrast Checker Color Converter
© 2026 norito. All tools run locally in your browser. Compare How it Works Privacy Policy Buy me a coffee
Esc