DEV Community

Nadim Chowdhury
Nadim Chowdhury

Posted on

BIP-39 Seed Phrases: What Those 12 or 24 Words Actually Mean

You've probably seen a crypto wallet show you a random list of 12 or 24 words when you create it.

Something like:

word word word word word word
word word word word word word
Enter fullscreen mode Exit fullscreen mode

And then it tells you to write them down and keep them somewhere safe.

Those words aren't just a random password.

They're a BIP-39 mnemonic seed phrase, and they can be used to recover a cryptocurrency wallet and the keys associated with it.

That makes them extremely important.

It also makes understanding how they're generated surprisingly interesting.

What is BIP-39?

BIP-39 is a Bitcoin Improvement Proposal that defines a standard way of representing binary entropy as a sequence of human-readable words.

In simpler terms, instead of asking someone to remember a long string of random hexadecimal characters, a wallet can represent the underlying data using a list of words.

Depending on the amount of entropy, you can get:

  • 12-word phrases
  • 15-word phrases
  • 18-word phrases
  • 21-word phrases
  • 24-word phrases

The 12- and 24-word formats are probably the ones you'll encounter most often.

The words come from a standardized list of 2048 words.

And there's some clever cryptography happening behind those seemingly ordinary words.

Why not just generate random words?

Because randomness matters.

A seed phrase shouldn't simply be a list of words selected randomly from a dictionary.

BIP-39 starts with cryptographically secure random entropy.

A checksum is then added to that entropy, and the resulting bits are divided into groups that map to words in the BIP-39 wordlist.

This gives you a mnemonic phrase that isn't merely readable but also has a defined structure.

For example, a 12-word mnemonic is based on 128 bits of entropy plus a checksum, while a 24-word mnemonic is based on 256 bits of entropy plus a checksum.

That's a lot more meaningful than:

"Let's pick 12 words and hope nobody guesses them."

Why 12 vs 24 words?

The main difference is the amount of underlying entropy.

A 12-word phrase generally represents 128 bits of entropy, while a 24-word phrase represents 256 bits of entropy.

In practical terms, both provide an enormous number of possible combinations when properly generated.

A 24-word phrase simply provides more entropy.

The important part is not really the number of words by itself.

It's how those words were generated.

A perfectly formatted 24-word phrase generated from poor randomness isn't magically secure.

Randomness is doing the heavy lifting here.

I built a BIP-39 generator

I made a small browser-based tool for generating BIP-39 mnemonic seed phrases.

BIP-39 Mnemonic Seed Phrase Generator:
https://omnikite.vercel.app/tools/security/bip39-generator

You can generate 12, 18, or 24-word mnemonic phrases and inspect the result directly in your browser.

The goal was to keep the tool simple: open it, generate a phrase, and understand what you're looking at.

It runs entirely in your browser

For something as sensitive as a seed phrase, I didn't want the generation process to depend on sending data to a backend server.

The tool runs 100% client-side, so the generation happens in your browser with zero data egress.

That makes it useful for experimenting with BIP-39 without sending generated phrases to an external API.

Still, there's an important distinction here.

Client-side doesn't mean "ignore security best practices."

If you're dealing with an actual cryptocurrency wallet, don't casually generate or store a production seed phrase in a normal browser environment just because a tool says it runs locally.

For serious funds, use established wallet software and follow its security recommendations.

A seed phrase is effectively a master key. Treating it like a funny password you can paste into Discord is a fantastic way to discover how expensive a lesson in operational security can be.

Never share your seed phrase

This part deserves its own section.

Your seed phrase should be treated as highly sensitive information.

Anyone who obtains the phrase may be able to recover the associated wallet and access its assets.

That means you should never:

  • Send it to someone over chat
  • Store it in a public GitHub repository
  • Post it on social media
  • Take unnecessary screenshots
  • Paste it into random websites
  • Give it to someone claiming to be "wallet support"
  • Store it in an unsecured note just because it's convenient

And if someone asks for your seed phrase to "verify" your wallet, that's a giant red flag.

Real wallet support doesn't need your recovery phrase.

The interesting part is the simplicity

One thing I like about BIP-39 is how approachable the final result looks.

At the end of a fairly technical process involving entropy, checksums, binary representation, and a standardized wordlist, you get something that looks almost ridiculously simple:

a list of words.

That's the beauty of good abstractions.

The underlying system can be complicated while the thing humans interact with remains relatively understandable.

Of course, that simplicity also makes people underestimate how important those words are.

They're not just words.

They're the representation of the information needed to recover your wallet.

A small tool for a pretty important concept

If you're learning about cryptocurrency wallets, deterministic wallets, cryptographic randomness, or BIP-39 itself, I built the generator as a simple way to experiment with the format.

👉 BIP-39 Mnemonic Seed Phrase Generator
https://omnikite.vercel.app/tools/security/bip39-generator

It's free, runs entirely client-side, and supports 12, 18, and 24-word mnemonic generation.

And if you're actually using a generated phrase for a real wallet, remember the most important rule:

Your seed phrase is not something you share. Not with me, not with "support," and definitely not with the guy who just promised to double your crypto.

Top comments (0)