Skip to content
YAS.SH
Security🔒 Browser (client-side)API available📴 Works offlineadvanced

BIP-39 Mnemonic Generator

Generates and validates 12-word and 24-word BIP-39 mnemonic seed phrases with entropy verification.

Data stays in your browser
Ready to runInstant execution
All tools →
Result

What does this tool do?

Generates and validates 12-word and 24-word BIP-39 mnemonic seed phrases with entropy verification.

Why would I use it?

  • You are generating cryptographic recovery seed phrases for cryptocurrency wallets or offline keys.
  • You want to verify that a 12-word phrase contains a valid checksum according to the BIP-39 wordlist.
  • You are learning how deterministic hierarchical key derivation works.

Real-life example

Input
Word Count: 12 words
Output
abandon ability able about above absent absorb abstract absurd abuse access accident

Generated from 128 bits of CSPRNG entropy with 4-bit SHA-256 checksum.

Input → Process → Output → Next

Input
Select 12 words (128-bit) or 24 words (256-bit) and click Generate.
Process
Generates random entropy, calculates SHA-256 checksum, and maps 11-bit chunks to standard BIP-39 wordlist.
Output
Numbered list of mnemonic seed words.
Next action
Write down the seed phrase offline on paper or metal backup.

Common mistakes

  • Storing mnemonic seed phrases in digital screenshots, cloud notes, or unencrypted text files.
  • Sharing seed phrases with unauthorized third parties or support bots.
  • Using non-standard wordlists that cannot be recovered across standard wallets.

What the result means

A human-readable representation of high-entropy cryptographic master seeds.

Privacy & security

Your input is processed entirely in your browser and never sent to a YAS server.

API

Endpoint
POST https://yas.sh/api/v1/tools/bip39-generator
Request Header
Content-Type: application/json
cURL
curl -X POST "https://yas.sh/api/v1/tools/bip39-generator" \
  -H "Content-Type: application/json" \
  -d '{"words":12}'
JavaScript
const res = await fetch("https://yas.sh/api/v1/tools/bip39-generator", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
  "words": 12
}),
});
const data = await res.json();
Python
import requests

r = requests.post("https://yas.sh/api/v1/tools/bip39-generator", json={"words":12})
data = r.json()
FieldTypeRequiredDescription
wordsintegerNo (default 12)Word count: 12 or 24
Success response
{ "slug": "bip39-generator", "wordsCount": 12, "mnemonic": "abandon ability able about..." }

Generate and validate 12 and 24-word BIP-39 mnemonic seed phrases.

Error responses
  • 400 VALIDATION_ERROR — invalid input or unsupported option.
  • 413 PAYLOAD_TOO_LARGE — input exceeds the 64 KB limit.
  • 429 RATE_LIMIT_EXCEEDED — rate limit exceeded (60 req/min).
Limits
  • Maximum input: 64 KB per request.
  • Rate limit: 60 requests/min per IP address.
  • Authenticated accounts benefit from higher tier quotas.

BIP-39 Mnemonic Generator: technical reference, use cases and FAQ

How BIP-39 Mnemonic Generator works

BIP-39 turns entropy into words. 128 bits of entropy produces 12 words and 256 bits produces 24. A checksum of the first entropy_length/32 bits of the entropy's SHA-256 digest is appended, and the combined bitstring is split into 11-bit groups, each indexing one word in a fixed 2,048-word list. That checksum is why a mnemonic with a mistyped word is detected as invalid rather than silently deriving a different, empty wallet.

The mnemonic is stretched into a 512-bit seed with PBKDF2-HMAC-SHA512 over 2,048 iterations, salted with the string 'mnemonic' plus an optional passphrase. The passphrase creates an entirely separate wallet from the same words — there is no wrong passphrase, only different ones, which makes a typo indistinguishable from a deliberate choice.

When to use it: real-world scenarios

Validating a mnemonic you transcribed

Checking the checksum before relying on a written backup catches a wrong or misordered word while recovery is still possible.

Understanding how wallets derive keys

Seeing entropy become words become a seed makes the relationship between backup phrase and private keys concrete.

Generating test vectors for wallet software

Development against known mnemonics and their expected seeds is how you verify a derivation implementation.

Teaching secure backup practice

Demonstrating that 12 words fully reconstruct a wallet explains why the phrase must be protected as strongly as the funds.

Pro tips

  • Never use a mnemonic generated in a browser to hold real funds. Use a hardware wallet, where entropy is produced and the seed stays inside a secure element.
  • The wordlist is designed so the first four letters uniquely identify each word — useful when handwriting a backup.
  • A passphrase is a genuine 25th factor, and losing it loses the wallet permanently. There is no recovery path.
  • Store backups on metal, not paper, in more than one physical location. Fire and water destroy more seed phrases than attackers do.

Limitations and edge cases

What this tool deliberately does not do, and where it will disagree with other implementations.

  • Educational and validation use only. Any seed that has touched a browser must be treated as potentially exposed.
  • Validation confirms the checksum, not that the phrase is yours or that it derives the wallet you expect.
  • Derivation paths (BIP-32/44/84) determine which addresses a seed produces; the mnemonic alone does not identify a wallet.
  • This page is deliberately excluded from advertising — a page handling seed phrases must not load third-party scripts.

Frequently asked questions

Can I use a phrase generated here for a real wallet?
No. Browser-generated entropy for real funds is an unnecessary risk. Use a hardware wallet, which generates and keeps the seed inside a secure element.
What does the optional passphrase do?
It salts the seed derivation, producing a completely different wallet from the same 12 or 24 words. Any passphrase is valid, so a typo silently opens an empty wallet rather than erroring.
Why is my mnemonic invalid?
The checksum failed — usually a misspelled word, a word not in the BIP-39 list, or two words swapped. Every word must come from the fixed 2,048-word list.
Is 12 words enough, or do I need 24?
12 words is 128 bits of entropy, which is beyond brute force. 24 words gives 256 bits, useful mainly as margin against future cryptanalysis rather than against current attacks.
Ask YAS AI
🍪 Cookies & privacy. Essential cookies keep you signed in and remember language and theme. Google AdSense and reCAPTCHA are Google technologies: AdSense runs only after Accept All; reCAPTCHA loads on sign-in and contact forms. See how Google uses data: https://policies.google.com/technologies/partner-sites cookie policy · privacy policy.
Settings