Skip to content
Mnemonic code for generating deterministic keys
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
test Add Korean wordlist Mar 12, 2018
sjcl-bip39.js asmcrypto replaced with sjcl Sep 29, 2014
unorm.js Move unorm polyfill out of library to own file Mar 12, 2018
wordlist_chinese_simplified.js Chinese Simplified wordlist Oct 18, 2016
wordlist_chinese_traditional.js Chinese Traditional wordlist added Oct 18, 2016
wordlist_english.js Wordlists initialization doesn't throw error Oct 13, 2014
wordlist_french.js French wordlist added Oct 18, 2016
wordlist_korean.js Add Korean wordlist Mar 12, 2018


Ported from the reference implementation at

Mnemonic code for generating deterministic keys

BIP39 Specification at


var m = new Mnemonic("english")

// Generate new mnemonics
var words = m.generate();
"canyon subway other flower grocery diagram cigar such custom rude couch horror"

// Check mnemonics are valid
var isValid = m.check(words);

// Generate BIP32 seeds from mnemonics
var seed = m.toSeed(words, "mysecretpassword");

// Generate mnemonics of different strengths
var lessWords = m.generate(64)
"safe soon minute hungry toss mobile"

// Test mnemonics are valid
var invalidMnemonic = "safe soon minute hungry toss cigar";

Supported Languages

var m = new Mnemonic("english")
var m = new Mnemonic("japanese")
var m = new Mnemonic("spanish")
var m = new Mnemonic("chinese_simplified")
var m = new Mnemonic("chinese_traditional")
var m = new Mnemonic("french")
var m = new Mnemonic("italian")
var m = new Mnemonic("korean")


Tests run in the browser.

$ cd /path/to/repo/
$ python -m http.server

Open http://localhost:8000/test/ in your browser

Node / NPM

If you prefer to use node / npm please have a look at bitcoinjs/bip39.


This code uses asmCrypto

The people who authored and contributed to BIP39 and the reference client

You can’t perform that action at this time.