Home › Developer Tools › Passphrase Generator

Passphrase Generator

Create a random passphrase of real words that is easy to remember and type but very hard to guess. Pick the number of words and the style, and see exactly how many bits of entropy it has. Everything is generated on your device.

Last updated:

Options
Strength

Words and their dice numbers

Use real dice instead (diceware)

Roll five six-sided dice for each word and type the five numbers (for example 35214). Separate words with spaces or new lines. Nothing leaves your device either way.

Strength by number of words

Average time to guess = half of all combinations ÷ guesses per second. "Online" assumes 1,000 guesses/s against a website with rate limits; "offline" assumes 100 billion guesses/s against a leaked fast hash. Words only, separators and extras not counted.

Advertisement
Advertisement

How to use the Passphrase Generator

  1. Choose the number of words: 6 words gives about 77 bits, enough for most uses; use 7 or more for a password-manager master password.
  2. Pick a separator and capitalization that the site you are using accepts.
  3. Add digits or a symbol only if a site's password rules demand them; the words already provide the strength.
  4. Click Generate passphrase until you get one you like, then click Copy.
  5. Store it safely: memorize it or save it in a password manager, and never reuse it on another site.

How passphrase entropy is calculated

Entropy measures how many guesses an attacker needs. When every word is picked uniformly at random from a list of L words, a passphrase of n words has H = n × log2(L) bits of entropy. With L = 7,776, each word adds 12.925 bits, so 6 words = 77.5 bits, or 7,7766 ≈ 2.2 × 1023 possible passphrases. An attacker must try half of them on average.

Extras add less than you might expect: random capitalization of each word adds 1 bit per word, a random digit added to a random word adds log2(10) + log2(n) bits, and a random symbol from 12 adds log2(12) + log2(n) bits. Fixed choices, such as always capitalizing the first letter or always using a hyphen, add nothing because the attacker can assume them.

UseSuggested lengthEntropy
Low-value website login (with rate limiting and 2FA)4–5 words52–65 bits
Email, banking, Wi-Fi (WPA2/WPA3) key6 wordsabout 77 bits
Password-manager master password7 wordsabout 90 bits
Disk encryption, PGP or SSH key passphrase, crypto wallet8 words or more103+ bits

Rolling a passphrase with real dice

If you prefer not to trust any computer, use five ordinary six-sided dice. Roll all five, read them left to right (for example 3-5-2-1-4 gives 35214), and type the number into the real-dice box to see the word. Repeat once per word. The dice number shown under every generated word is simply the word's position in the sorted list written in base 6, so the two methods use exactly the same list.

  • Do not reroll because you dislike a word, and do not rearrange words into a sentence: both reduce the randomness.
  • Write it down safely until it is memorized, then destroy the note or keep it somewhere locked.
  • One passphrase per account. Use a password manager for everything else, protected by one strong passphrase, and turn on two-factor authentication.
  • Check an existing password with the Password Strength Checker, or create random character passwords with the Password Generator.

Frequently asked questions

What is a diceware passphrase?

Diceware is a method, published by Arnold Reinhold in 1995, for choosing passphrases with true randomness. You roll five dice to get a number from 11111 to 66666, look the number up in a list of 7,776 words (6^5), and repeat for each word. Because each word is chosen uniformly at random, the strength can be calculated exactly. This tool does the same with your browser's cryptographic random number generator, and also lets you look up words from physical dice rolls.

How many words should my passphrase have?

Each word from a 7,776-word list adds log2(7776) ≈ 12.9 bits of entropy. Five words give about 64.6 bits, six words about 77.5 bits and seven words about 90.5 bits. Six words is a good default for important accounts; use seven or more for a password manager's master password or disk encryption, where an attacker could try guesses offline.

Is a passphrase stronger than a random password?

Per character, a random password is denser, but strength depends on entropy, not on how complex it looks. A six-word passphrase (about 77 bits) is as strong as a random 12-character password using upper, lower case letters and digits (about 71 bits) or stronger, and it is much easier to remember and type. NIST SP 800-63B recommends allowing long passphrases for this reason.

Do capital letters, digits and symbols make it much stronger?

Only a little. Capitalizing each word adds nothing an attacker would not try. Random capitals add 1 bit per word, and one random digit after a random word adds about 3.3 bits plus the position. Adding one more word adds 12.9 bits, so a longer passphrase is the better way to gain strength. Use digits and symbols mainly to satisfy site rules.

Is the entropy still valid if an attacker knows the word list?

Yes. The entropy figure already assumes the attacker knows the exact list, the number of words and your settings. The security comes only from the random choices, which is why the words must be picked by the generator or real dice, not by you. Human-chosen phrases such as song lyrics are far weaker.

Is it safe to generate a passphrase on a website?

This page creates passphrases entirely in your browser with crypto.getRandomValues. Nothing is sent to a server, logged or stored; only your option choices are remembered in your browser. For maximum assurance you can disconnect from the internet after the page loads, or use the real-dice mode.

Which word list does this tool use?

A list of 7,776 common, easy-to-type English words of 4 to 8 letters, filtered to remove offensive words, abbreviations and names. It has the same size as the standard diceware and EFF large wordlists, so every word adds the same 12.9 bits. Dice numbers shown under each word match this list, not other published lists.

Are all the tools on FreeToolCabin tested for quality and accuracy?

Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.

Related tools

Password GeneratorCreate strong passwords and passphrases.Password Strength CheckerSee how strong a password really is, how long it takes to crack and how to improve it.Bcrypt Hash Generator & CheckerCreate bcrypt password hashes and check a password against a hash.UUID GeneratorGenerate UUID v4 and v7 / GUIDs in bulk and copy or download them.PIN GeneratorGenerate random 4, 6 or 8-digit PINs that avoid sequences, repeats, dates and common PINs.Hash GeneratorGenerate MD5, SHA-1, SHA-256 and SHA-512 hashes of text or files.MD5 Hash GeneratorGenerate MD5 hashes of text, lines or files and verify checksums.SHA-256 Hash GeneratorSHA-256 and HMAC-SHA256 hashes of text, lines or files, in hex or Base64.Base64 Encoder DecoderEncode or decode Base64 text and files, and make data URIs.URL Encoder DecoderPercent-encode or decode URLs, query strings and form data.HTML Entity Encoder / DecoderEscape and unescape HTML entities, named or numeric.Binary TranslatorConvert text to binary, hex, octal and back.HMAC GeneratorGenerate and verify HMAC signatures with SHA-256, SHA-512, SHA-1 or MD5.CRC32 Checksum CalculatorCalculate CRC-32, CRC-32C, CRC-16 and Adler-32 checksums of text or large files.JWT DecoderDecode JSON Web Tokens, read the claims and expiry, and verify HS256 signatures.JWT GeneratorCreate and sign HS256, HS384 or HS512 JSON Web Tokens in your browser and verify them.Caesar CipherEncode and decode Caesar shift ciphers and crack unknown shifts with a ranked brute force.Vigenère CipherEncrypt and decrypt Vigenère and Autokey ciphers, and crack unknown keys with frequency analysis.Atbash CipherEncode and decode Atbash ciphers (A↔Z, B↔Y) in Latin or Hebrew, with a live letter mapping table.ASCII TableFull ASCII code chart 0–255 in decimal, hex, octal, binary and HTML, with search and copy.Unicode Character LookupFind Unicode characters by name or code point and copy them with UTF-8, HTML and code escapes.Punycode ConverterConvert international domain names, emails and URLs between Unicode and xn-- Punycode, in bulk.JSON Escape / UnescapeEscape text for a JSON string, unescape \n and \" back to text, or stringify a whole object.Binary to HexConvert binary to hex instantly with steps and signed mode.Hex to BinaryConvert hex to binary instantly with steps and signed mode.Binary CalculatorAdd, subtract, multiply, divide, AND, OR, XOR and shift binary numbers with decimal values.Hex CalculatorHexadecimal + − × ÷ and AND, OR, XOR, NOT, shifts with decimal and binary equivalents.Base32 Encoder / DecoderEncode and decode Base32 (RFC 4648), Base32hex, Crockford and z-base-32 from text, hex or files.Base58 Encoder / DecoderEncode and decode Base58 and Base58Check (Bitcoin alphabet) from text or hex, with checksum verification.Unicode Escape / UnescapeConvert text to \uXXXX, \u{...}, \x, &#...; or CSS escapes and decode them back.File Hash CheckerGet MD5, SHA-1, SHA-256 and SHA-512 checksums of files and verify them against a hash.TOTP GeneratorGenerate 2FA one-time codes from a secret key, create otpauth QR codes and verify codes.RSA Key GeneratorGenerate 2048, 3072 or 4096-bit RSA key pairs as PEM, PKCS#1, JWK or OpenSSH, locally.SSL Certificate DecoderDecode PEM SSL/X.509 certificates: subject, issuer, expiry, SANs, key and fingerprints.Text Encryption ToolEncrypt and decrypt text with a password using AES-256-GCM, entirely in your browser.Argon2 Hash GeneratorHash passwords with Argon2id, Argon2i or Argon2d and verify them against an encoded hash.Base64 to PDFDecode a Base64 string to a PDF with preview and download, or encode a PDF to Base64.Bitwise CalculatorCalculate AND, OR, XOR, NOT and bit shifts at 8–64 bits with a bit grid and all bases.XML Escape / UnescapeEscape & < > " ' for XML text and attributes, unescape entities back, or wrap text in CDATA.Binary Search Tree VisualizerInsert, delete and find in BST, AVL and red-black trees with animated rotations and traversals.CSR GeneratorCreate a certificate signing request (CSR) and private key with SANs, RSA or ECDSA, in your browser.MongoDB ObjectId to TimestampDecode a MongoDB ObjectId to its creation date, or build ObjectIds from dates for range queries.PGP Encrypt / DecryptEncrypt, decrypt, sign and verify PGP messages with your armored keys, entirely offline.PGP Key GeneratorGenerate an OpenPGP key pair (Curve25519, NIST ECC or RSA) with passphrase and expiry, offline.Quoted-Printable Encoder / DecoderEncode or decode quoted-printable email text (MIME) with UTF-8 and 76-character soft line breaks.Self-Signed Certificate GeneratorCreate a self-signed SSL certificate and key for localhost or dev servers, as PEM or PFX.SHA-1 Hash GeneratorSHA-1 and HMAC-SHA1 of text or files in hex or Base64, plus Git blob hashes and verify.SHA-512 Hash GeneratorSHA-512 and SHA-384 hashes of text or files in hex or Base64, HMAC and hash verification.SRI Hash GeneratorCreate Subresource Integrity hashes (sha256/384/512) and ready <script> or <link> tags.SSH Key GeneratorGenerate Ed25519 or RSA SSH key pairs in your browser: OpenSSH public key plus private key.String Escape / UnescapeEscape or unescape strings for JavaScript, Java, C#, Python, C, SQL, regex, CSV and shell.UTF-8 Encoder / DecoderConvert text to UTF-8 bytes in hex, decimal, binary, \x or % and decode bytes back to text.UUID Decoder & ValidatorDecode any UUID: version, variant, v1/v6/v7 timestamp and MAC node, plus bulk validation.Base64 to FileDecode Base64 or a data URI to a downloadable file; detects the real file type and previews it.File Encryption ToolEncrypt and decrypt any file with a password using AES-256-GCM, entirely in your browser.CSR DecoderDecode a PEM certificate signing request: subject, SANs, key size, signature and CA readiness checks.Enigma Machine SimulatorEncrypt and decrypt with a virtual Enigma I, M3 or M4: rotors, rings, plugboard and lampboard.Hex Opacity CalculatorConvert opacity percent to a 2-digit HEX alpha code and full #RRGGBBAA color, with a 0-100% table.Playfair CipherEncrypt and decrypt Playfair ciphers from a keyword, with the 5x5 key square and every digraph step.Pwned Password CheckerCheck if a password appeared in data breaches; only 5 characters of its SHA-1 hash are sent.RSA Encryption ToolEncrypt text with an RSA public key and decrypt it with the private key using RSA-OAEP in your browser.SAML DecoderDecode SAMLRequest and SAMLResponse messages to readable XML, attributes and validity times.SSL Certificate ConverterConvert SSL certificates and keys between PEM, DER, PFX/P12 and P7B in your browser.Checksum CalculatorCompute 8-bit sum, two's complement LRC, XOR/BCC, NMEA, Fletcher and Internet checksums of bytes.PBKDF2 Hash GeneratorDerive PBKDF2 keys from a password, salt and iteration count with SHA-1, SHA-256 or SHA-512.Protobuf DecoderDecode raw Protocol Buffers hex or Base64 without a schema, or add a .proto for field names.
See all 65 Encoders, Hashes & Crypto →