<head lang="en">
<meta charset="utf-8" />
<title>BIP39 - Mnemonic Code</title>
- <link rel="stylesheet" href="css/bootstrap-3.3.7.css">
+ <link rel="stylesheet" href="css/bootstrap.css">
<link rel="stylesheet" href="css/app.css">
<meta content="Mnemonic code for generating deterministic keys" name="description"/>
<meta content="width=device-width, initial-scale=1.0" name="viewport" />
<div class="container">
<h1 class="text-center">Mnemonic Code Converter</h1>
- <p class="version">v0.3.1</p>
+ <p class="version">v0.5.0</p>
<hr>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<div class="col-sm-2"></div>
<div class="col-sm-10">
- <p>You can enter an existing BIP39 mnemonic, or generate a new random one. Typing your own twelve words will probably not work how you expect, since the words require a particular structure (the last word is a checksum).</p>
+ <p>You can enter an existing BIP39 mnemonic, or generate a new random one. Typing your own twelve words will probably not work how you expect, since the words require a particular structure (the last word contains a checksum).</p>
<p>
For more info see the
<a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki" target="_blank">BIP39 spec</a>.
<div class="col-sm-10">
<div class="form-inline">
<div class="input-group-inline">
- <span>Generate a random mnemonic, or enter your own below</span>:
- <button class="btn generate">Generate</button>
+ <span>Generate a random mnemonic</span>:
+ <button class="btn generate" ><b>GENERATE</b></button>
<select id="strength" class="strength form-control">
<option value="3">3</option>
<option value="6">6</option>
<option value="21">21</option>
<option value="24">24</option>
</select>
- <span>words</span>
+ <span>words, or enter your own below</span>.
+ <p class="warning help-block hidden">
+ <span class="text-danger">
+ Mnemonics with less than 12 words have low entropy and may be guessed by an attacker.
+ </span>
+ </p>
</div>
</div>
</div>
<div class="form-group">
<label for="entropy" class="col-sm-2 control-label">Entropy</label>
<div class="col-sm-7">
- <textarea id="entropy" rows="2" class="entropy form-control" placeholder="Accepts either binary, base 6, 6-sided dice, base 10, hexadecimal or cards"></textarea>
+ <textarea id="entropy" rows="2" class="entropy private-data form-control" placeholder="Accepts either binary, base 6, 6-sided dice, base 10, hexadecimal or cards" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
<div class="row filter-warning text-danger hidden">
<p class="col-sm-12">
<strong>
<div class="row">
<label class="col-sm-3 control-label">Entropy Type</label>
<div class="type col-sm-3 form-control-static"></div>
- <label class="col-sm-3 control-label">Bits Per Event</label>
+ <label class="col-sm-3 control-label">Avg Bits Per Event</label>
<div class="bits-per-event col-sm-3 form-control-static"></div>
</div>
<div class="row">
<div class="bits col-sm-3 form-control-static"></div>
</div>
<label class="col-sm-3 control-label">Filtered Entropy</label>
- <div class="filtered col-sm-9 form-control-static"></div>
+ <div class="filtered private-data col-sm-9 form-control-static"></div>
<label class="col-sm-3 control-label">Raw Binary</label>
- <div class="binary col-sm-9 form-control-static"></div>
+ <div class="binary private-data col-sm-9 form-control-static"></div>
+ <label class="col-sm-3 control-label">Binary Checksum</label>
+ <div class="checksum private-data col-sm-9 form-control-static"> </div>
<label class="col-sm-3 control-label">Word Indexes</label>
- <div class="word-indexes col-sm-9 form-control-static"> </div>
+ <div class="word-indexes private-data col-sm-9 form-control-static"> </div>
<label class="col-sm-3 control-label">Mnemonic Length</label>
<div class="col-sm-9">
<select class="mnemonic-length form-control">
<option value="raw" selected>Use Raw Entropy (3 words per 32 bits)</option>
<option value="12">12 <span>Words</span></option>
- <option value="15">15 <span>Words</option>
+ <option value="15">15 <span>Words</span></option>
<option value="18">18 <span>Words</span></option>
<option value="21">21 <span>Words</span></option>
<option value="24">24 <span>Words</span></option>
</select>
+ <p class="weak-entropy-override-warning hidden">
+ <span class="text-danger">
+ The mnemonic will appear more secure than it really is.
+ </span>
+ </p>
</div>
</div>
<div class="col-sm-3">
<p>Valid entropy values include:</p>
<ul>
- <li><strong>Binary</strong> [0-1]<br>101010011</li>
- <li><strong>Base 6</strong> [0-5]<br>123434014</li>
- <li><strong>Dice</strong> [1-6]<br>62535634</li>
- <li><strong>Base 10</strong> [0-9]<br>90834528</li>
- <li><strong>Hex</strong> [0-9A-F]<br>4187a8bfd9</li>
- <li><strong>Card</strong> [A2-9TJQK][CDHS]<br>ahqs9dtc</li>
+ <li>
+ <label>
+ <input type="radio" name="entropy-type" value="binary">
+ <strong>Binary</strong> [0-1]<br>101010011
+ </label>
+ </li>
+ <li>
+ <label>
+ <input type="radio" name="entropy-type" value="base 6">
+ <strong>Base 6</strong> [0-5]<br>123434014
+ </label>
+ </li>
+ <li>
+ <label>
+ <input type="radio" name="entropy-type" value="dice">
+ <strong>Dice</strong> [1-6]<br>62535634
+ </label>
+ </li>
+ <li>
+ <label>
+ <input type="radio" name="entropy-type" value="base 10">
+ <strong>Base 10</strong> [0-9]<br>90834528
+ </label>
+ </li>
+ <li>
+ <label>
+ <input type="radio" name="entropy-type" value="hexadecimal" checked>
+ <strong>Hex</strong> [0-9A-F]<br>4187a8bfd9
+ </label>
+ </li>
+ <li>
+ <label>
+ <input type="radio" name="entropy-type" value="card">
+ <strong>Card</strong> [A2-9TJQK][CDHS]<br>ahqs9dtc
+ </label>
+ </li>
</ul>
</div>
</div>
</label>
</div>
</div>
+ <div class="form-group">
+ <div class="col-sm-2"></div>
+ <div class="col-sm-10 checkbox">
+ <label>
+ <input type="checkbox" class="privacy-screen-toggle">
+ <span>Hide all private info</span>
+ </label>
+ </div>
+ </div>
<div class="form-group">
<label class="col-sm-2 control-label">Mnemonic Language</label>
<div class="col-sm-10 languages">
<a href="#chinese_traditional" title="Chinese (Traditional)">中文(繁體)</a>
<a href="#french" title="French">Français</a>
<a href="#italian" title="Italian">Italiano</a>
+ <a href="#korean" title="Korean">한국어</a>
+ <a href="#czech" title="Czech">Čeština</a>
</div>
</div>
</div>
<div class="form-group">
<label for="phrase" class="col-sm-2 control-label">BIP39 Mnemonic</label>
<div class="col-sm-10">
- <textarea id="phrase" class="phrase form-control" data-show-qr></textarea>
+ <textarea id="phrase" class="phrase private-data form-control" data-show-qr autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
+ </div>
+ </div>
+ <div class="form-group">
+ <div class="splitMnemonic hidden">
+ <label for="phrase" class="col-sm-2 control-label">BIP39 Split Mnemonic</label>
+ <div class="col-sm-10">
+ <textarea id="phraseSplit" class="phraseSplit private-data form-control" title="Only 2 of 3 cards needed to recover." rows="3"></textarea>
+ <p class="help-block">
+ <span id="phraseSplitWarn" class="phraseSplitWarn"></span>
+ </p>
+ </div>
+ </div>
+ <div class="col-sm-2">
+ </div>
+ <div class="col-sm-10">
+ <label class="control-label text-weight-normal">
+ <input type="checkbox" class="showSplitMnemonic">
+ Show split mnemonic cards
+ </label>
</div>
</div>
<div class="form-group">
<label for="passphrase" class="col-sm-2 control-label">BIP39 Passphrase (optional)</label>
<div class="col-sm-10">
- <textarea id="passphrase" class="passphrase form-control"></textarea>
+ <textarea id="passphrase" class="passphrase private-data form-control" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
</div>
</div>
<div class="form-group">
<label for="seed" class="col-sm-2 control-label">BIP39 Seed</label>
<div class="col-sm-10">
- <textarea id="seed" class="seed form-control" readonly="readonly" data-show-qr></textarea>
+ <textarea id="seed" class="seed private-data form-control" data-show-qr autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
</div>
</div>
<div class="form-group">
<div class="form-group">
<label for="root-key" class="col-sm-2 control-label">BIP32 Root Key</label>
<div class="col-sm-10">
- <textarea id="root-key" class="root-key form-control" data-show-qr></textarea>
+ <textarea id="root-key" class="root-key private-data form-control" data-show-qr autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
+ </div>
+ </div>
+
+ <div class="form-group">
+ <div class="col-sm-2"></div>
+ <div class="col-sm-10">
+ <label class="control-label text-weight-normal">
+ <input type="checkbox" class="showBip85" />
+ Show <a href="https://github.com/bitcoin/bips/blob/master/bip-0085.mediawiki">BIP85</a>
+ </label>
+ </div>
+ </div>
+
+ <div class="form-group bip85 hidden">
+ <label for="bip85-application" class="col-sm-2 control-label">BIP85 Application</label>
+ <div class="col-sm-10">
+ <select id="bip85-application" class="form-control">
+ <option value="bip39" selected>BIP39</option>
+ <option value="wif">WIF</option>
+ <option value="xprv">Xprv</option>
+ <option value="hex">Hex</option>
+ </select>
+ </div>
+ </div>
+
+ <div class="form-group bip85 bip85-mnemonic-language-input hidden">
+ <label for="bip85-mnemonic-language" class="col-sm-2 control-label">BIP85 Mnemonic Language</label>
+ <div class="col-sm-10 languages">
+ <select id="bip85-mnemonic-language" class="strength form-control">
+ <option value="0" selected>English</option>
+ <option value="1">日本語</option>
+ <option value="2">한국어</option>
+ <option value="3">Español</option>
+ <option value="4">中文(简体)</option>
+ <option value="5">中文(繁體)</option>
+ <option value="6">Français</option>
+ <option value="7">Italiano</option>
+ <option value="8">Čeština</option>
+ </select>
+ </div>
+ </div>
+
+ <div class="form-group bip85 bip85-mnemonic-length-input hidden">
+ <label for="bip85-mnemonic-length" class="col-sm-2 control-label">BIP85 Mnemonic Length</label>
+ <div class="col-sm-10">
+ <select id="bip85-mnemonic-length" class="strength form-control">
+ <option value="12" selected>12</option>
+ <option value="18">18</option>
+ <option value="24">24</option>
+ </select>
+ </div>
+ </div>
+
+ <div class="form-group bip85 hidden">
+ <span class="bip85-bytes-input">
+ <label for="bip85-bytes" class="col-sm-2 control-label">BIP85 Bytes</label>
+ <div class="col-sm-10">
+ <input id="bip85-bytes" type="text" class="change form-control" value="64" />
+ </div>
+ </span>
+ </div>
+
+ <div class="form-group bip85 bip85-index-input hidden">
+ <label for="bip85-index" class="col-sm-2 control-label">BIP85 Index</label>
+ <div class="col-sm-10">
+ <input id="bip85-index" type="text" class="change form-control" value="0" />
+ </div>
+ </div>
+
+ <div class="form-group bip85 hidden">
+ <label for="phrase" class="col-sm-2 control-label">BIP85 Child Key</label>
+ <div class="col-sm-10">
+ <textarea
+ id="bip85Field"
+ data-show-qr
+ class="bip85Field private-data form-control"
+ title="BIP85 Child Key"
+ rows="3"
+ ></textarea>
+ <p class="help-block">
+ <span id="bip85Warn" class="text-danger">The value of the "BIP85 Child Key" field shown above is not used
+ anywhere on this page. It can be used as a new key.
+ (In case of the BIP39 application, you can paste it into the "BIP39 Mnemonic"
+ field to use it as a new mnemonic). Please read the
+ <a href="https://github.com/bitcoin/bips/blob/master/bip-0085.mediawiki">BIP85 specs</a>
+ for more information. This is an advanced feature and should only be used if you understand what it does.
+ </span>
+ </p>
</div>
</div>
+
<div class="form-group litecoin-ltub-container hidden">
<label for="litecoin-use-ltub" class="col-sm-2 control-label">Prefixes</label>
<div class="col-sm-10 checkbox">
</p>
</div>
<div class="form-group">
- <label for="purpose" class="col-sm-2 control-label">
+ <label for="purpose-bip44" class="col-sm-2 control-label">
<a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#purpose" target="_blank">Purpose</a>
</label>
<div class="col-sm-10">
- <input id="purpose" type="text" class="purpose form-control" value="44" readonly>
+ <input id="purpose-bip44" type="text" class="purpose form-control" value="44" readonly>
</div>
</div>
<div class="form-group">
- <label for="coin" class="col-sm-2 control-label">
+ <label for="coin-bip44" class="col-sm-2 control-label">
<a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#registered-coin-types" target="_blank">Coin</a>
</label>
<div class="col-sm-10">
- <input id="coin" type="text" class="coin form-control" value="0" readonly>
+ <input id="coin-bip44" type="text" class="coin form-control" value="0" readonly>
</div>
</div>
<div class="form-group">
- <label for="account" class="col-sm-2 control-label">
+ <label for="account-bip44" class="col-sm-2 control-label">
<a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#account" target="_blank">Account</a>
</label>
<div class="col-sm-10">
- <input id="account" type="text" class="account form-control" value="0">
+ <input id="account-bip44" type="text" class="account form-control" value="0">
</div>
</div>
<div class="form-group">
- <label for="change" class="col-sm-2 control-label">
+ <label for="change-bip44" class="col-sm-2 control-label">
<a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#change" target="_blank">External / Internal</a>
</label>
<div class="col-sm-10">
- <input id="change" type="text" class="change form-control" value="0">
+ <input id="change-bip44" type="text" class="change form-control" value="0">
</div>
</div>
<div class="form-group">
<span>Account Extended Private Key</span>
</label>
<div class="col-sm-10">
- <textarea id="account-xprv" type="text" class="account-xprv form-control" readonly data-show-qr></textarea>
+ <textarea id="account-xprv-bip44" type="text" class="account-xprv private-data form-control" readonly data-show-qr autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
</div>
</div>
<div class="form-group">
<span>Account Extended Public Key</span>
</label>
<div class="col-sm-10">
- <textarea id="account-xpub" type="text" class="account-xpub form-control" readonly data-show-qr></textarea>
+ <textarea id="account-xpub-bip44" type="text" class="account-xpub form-control" readonly data-show-qr autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
</div>
</div>
<div class="form-group">
<input id="bip32-path" type="text" class="path form-control" value="m/0">
</div>
</div>
- <div class="form-group">
- <div class="col-sm-2"></div>
- <label class="col-sm-10">
- <input class="hardened-addresses" type="checkbox">
- <span>Use hardened addresses</span>
- </label>
- </div>
<div class="form-group">
<label for="core-path" class="col-sm-2 control-label">Bitcoin Core</label>
<div class="col-sm-10">
<div class="col-sm-10">
<p class="form-control no-border">
<span>Use path <code>m/0'/0</code>.</span>
+ <span>For change addresses use path <code>m/0'/1</code>.</span>
</p>
<p class="form-control no-border">
<span>For more info see</span>
</p>
</div>
<div class="form-group">
- <label for="purpose" class="col-sm-2 control-label">
+ <label for="purpose-bip49" class="col-sm-2 control-label">
<a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#purpose" target="_blank">Purpose</a>
</label>
<div class="col-sm-10">
- <input id="purpose" type="text" class="purpose form-control" value="49" readonly>
+ <input id="purpose-bip49" type="text" class="purpose form-control" value="49" readonly>
</div>
</div>
<div class="form-group">
- <label for="coin" class="col-sm-2 control-label">
+ <label for="coin-bip49" class="col-sm-2 control-label">
<a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#registered-coin-types" target="_blank">Coin</a>
</label>
<div class="col-sm-10">
- <input id="coin" type="text" class="coin form-control" value="0" readonly>
+ <input id="coin-bip49" type="text" class="coin form-control" value="0" readonly>
</div>
</div>
<div class="form-group">
- <label for="account" class="col-sm-2 control-label">
+ <label for="account-bip49" class="col-sm-2 control-label">
<a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#account" target="_blank">Account</a>
</label>
<div class="col-sm-10">
- <input id="account" type="text" class="account form-control" value="0">
+ <input id="account-bip49" type="text" class="account form-control" value="0">
</div>
</div>
<div class="form-group">
- <label for="change" class="col-sm-2 control-label">
+ <label for="change-bip49" class="col-sm-2 control-label">
<a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#change" target="_blank">External / Internal</a>
</label>
<div class="col-sm-10">
- <input id="change" type="text" class="change form-control" value="0">
+ <input id="change-bip49" type="text" class="change form-control" value="0">
</div>
</div>
<div class="form-group">
<span>Account Extended Private Key</span>
</label>
<div class="col-sm-10">
- <textarea id="account-xprv" type="text" class="account-xprv form-control" readonly data-show-qr></textarea>
+ <textarea id="account-xprv-bip49" type="text" class="account-xprv private-data form-control" readonly data-show-qr autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
</div>
</div>
<div class="form-group">
<span>Account Extended Public Key</span>
</label>
<div class="col-sm-10">
- <textarea id="account-xpub" type="text" class="account-xpub form-control" readonly data-show-qr></textarea>
+ <textarea id="account-xpub-bip49" type="text" class="account-xpub form-control" readonly data-show-qr autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
</div>
</div>
<div class="form-group">
<select class="form-control bip141-semantics">
<option value="p2wpkh">P2WPKH</option>
<option value="p2wpkh-p2sh" selected>P2WPKH nested in P2SH</option>
+ <option value="p2wsh">P2WSH (1-of-1 multisig)</option>
+ <option value="p2wsh-p2sh">P2WSH nested in P2SH (1-of-1 multisig)</option>
</select>
</div>
</div>
<div id="bip84" class="tab-pane">
<form class="form-horizontal" role="form">
<br>
- <div class="col-sm-2"></div>
- <div class="col-sm-10">
- <p>
- For more info see the
- <a href="https://github.com/bitcoin/bips/blob/master/bip-0084.mediawiki" target="_blank">BIP84 spec</a>.
- </p>
- </div>
- <div class="form-group">
- <label for="purpose" class="col-sm-2 control-label">
- Purpose
- </label>
- <div class="col-sm-10">
- <input id="purpose" type="text" class="purpose form-control" value="84" readonly>
+ <div class="unavailable hidden">
+ <div class="form-group">
+ <div class="col-sm-2"></div>
+ <div class="col-sm-10">
+ <p>BIP84 is unavailable for this coin.</p>
+ </div>
</div>
</div>
- <div class="form-group">
- <label for="coin" class="col-sm-2 control-label">
- Coin
- </label>
+ <div class="available">
+ <div class="col-sm-2"></div>
<div class="col-sm-10">
- <input id="coin" type="text" class="coin form-control" value="0" readonly>
+ <p>
+ For more info see the
+ <a href="https://github.com/bitcoin/bips/blob/master/bip-0084.mediawiki" target="_blank">BIP84 spec</a>.
+ </p>
</div>
- </div>
- <div class="form-group">
- <label for="account" class="col-sm-2 control-label">
- Account
- </label>
- <div class="col-sm-10">
- <input id="account" type="text" class="account form-control" value="0">
+ <div class="form-group">
+ <label for="purpose-bip84" class="col-sm-2 control-label">
+ Purpose
+ </label>
+ <div class="col-sm-10">
+ <input id="purpose-bip84" type="text" class="purpose form-control" value="84" readonly>
+ </div>
</div>
- </div>
- <div class="form-group">
- <label for="change" class="col-sm-2 control-label">
- External / Internal
- </label>
- <div class="col-sm-10">
- <input id="change" type="text" class="change form-control" value="0">
+ <div class="form-group">
+ <label for="coin-bip84" class="col-sm-2 control-label">
+ Coin
+ </label>
+ <div class="col-sm-10">
+ <input id="coin-bip84" type="text" class="coin form-control" value="0" readonly>
+ </div>
</div>
- </div>
- <div class="form-group">
- <label class="col-sm-2 control-label">
- </label>
- <div class="col-sm-10">
- <p>The account extended keys can be used for importing to most BIP84 compatible wallets.</p>
+ <div class="form-group">
+ <label for="account-bip84" class="col-sm-2 control-label">
+ Account
+ </label>
+ <div class="col-sm-10">
+ <input id="account-bip84" type="text" class="account form-control" value="0">
+ </div>
</div>
- </div>
- <div class="form-group">
- <label for="account-xprv" class="col-sm-2 control-label">
- <span>Account Extended Private Key</span>
- </label>
- <div class="col-sm-10">
- <textarea id="account-xprv" type="text" class="account-xprv form-control" readonly data-show-qr></textarea>
+ <div class="form-group">
+ <label for="change-bip84" class="col-sm-2 control-label">
+ External / Internal
+ </label>
+ <div class="col-sm-10">
+ <input id="change-bip84" type="text" class="change form-control" value="0">
+ </div>
</div>
- </div>
- <div class="form-group">
- <label for="account-xpub" class="col-sm-2 control-label">
- <span>Account Extended Public Key</span>
- </label>
- <div class="col-sm-10">
- <textarea id="account-xpub" type="text" class="account-xpub form-control" readonly data-show-qr></textarea>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ </label>
+ <div class="col-sm-10">
+ <p>The account extended keys can be used for importing to most BIP84 compatible wallets.</p>
+ </div>
</div>
- </div>
- <div class="form-group">
- <label class="col-sm-2 control-label">
- </label>
- <div class="col-sm-10">
- <p>The BIP32 derivation path and extended keys are the basis for the derived addresses.</p>
+ <div class="form-group">
+ <label for="account-xprv" class="col-sm-2 control-label">
+ <span>Account Extended Private Key</span>
+ </label>
+ <div class="col-sm-10">
+ <textarea id="account-xprv-bip84" type="text" class="account-xprv private-data form-control" readonly data-show-qr autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
+ </div>
</div>
- </div>
- <div class="form-group">
- <label for="bip84-path" class="col-sm-2 control-label">BIP32 Derivation Path</label>
- <div class="col-sm-10">
- <input id="bip84-path" type="text" class="path form-control" value="m/84'/0'/0'/0" readonly="readonly">
+ <div class="form-group">
+ <label for="account-xpub" class="col-sm-2 control-label">
+ <span>Account Extended Public Key</span>
+ </label>
+ <div class="col-sm-10">
+ <textarea id="account-xpub-bip84" type="text" class="account-xpub form-control" readonly data-show-qr autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ </label>
+ <div class="col-sm-10">
+ <p>The BIP32 derivation path and extended keys are the basis for the derived addresses.</p>
+ </div>
+ </div>
+ <div class="form-group">
+ <label for="bip84-path" class="col-sm-2 control-label">BIP32 Derivation Path</label>
+ <div class="col-sm-10">
+ <input id="bip84-path" type="text" class="path form-control" value="m/84'/0'/0'/0" readonly="readonly">
+ </div>
</div>
</div>
</form>
<div class="form-group">
<label for="extended-priv-key" class="col-sm-2 control-label">BIP32 Extended Private Key</label>
<div class="col-sm-10">
- <textarea id="extended-priv-key" class="extended-priv-key form-control" readonly="readonly" data-show-qr></textarea>
+ <textarea id="extended-priv-key" class="extended-priv-key private-data form-control" readonly="readonly" data-show-qr autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
</div>
</div>
<div class="form-group">
<label for="extended-pub-key" class="col-sm-2 control-label">BIP32 Extended Public Key</label>
<div class="col-sm-10">
- <textarea id="extended-pub-key" class="extended-pub-key form-control" readonly="readonly" data-show-qr></textarea>
+ <textarea id="extended-pub-key" class="extended-pub-key form-control" readonly="readonly" data-show-qr autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
</div>
</div>
</form>
<h2>Derived Addresses</h2>
<p>Note these addresses are derived from the BIP32 Extended Key</p>
</div>
- <div class="col-md-12 use-bitpay-addresses-container hidden">
- <div class="checkbox">
+ <div class="col-md-12 bch-addr-type-container hidden">
+ <div class="radio">
+ <label>
+ <input type="radio" value="cashaddr" name="bch-addr-type" class="use-bch-cashaddr-addresses" checked="checked">
+ <span>Use CashAddr addresses for Bitcoin Cash (ie starting with 'q' instead of '1')</span>
+ </label>
+ </div>
+ <div class="radio">
<label>
- <input type="checkbox" class="use-bitpay-addresses">
+ <input type="radio" value="bitpay" name="bch-addr-type" class="use-bch-bitpay-addresses">
<span>Use BitPay-style addresses for Bitcoin Cash (ie starting with 'C' instead of '1')</span>
</label>
</div>
+ <div class="radio">
+ <label>
+ <input type="radio" value="legacy" name="bch-addr-type" class="use-bch-legacy-addresses">
+ <span>Use legacy addresses for Bitcoin Cash (ie starting with '1')</span>
+ </label>
+ </div>
+ </div>
+ <div class="col-md-12">
+ <div class="checkbox">
+ <label>
+ <input type="checkbox" class="use-bip38">
+ <span>Encrypt private keys using BIP38 and this password:</span>
+ </label>
+ <input class="bip38-password private-data" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false">
+ <span>Enabling BIP38 means each key will take several minutes to generate.</span>
+ </div>
+ </div>
+ <div class="col-md-12">
+ <div class="checkbox">
+ <label>
+ <input class="hardened-addresses" type="checkbox">
+ <span>Use hardened addresses</span>
+ </label>
+ </div>
</div>
<ul class="addresses-type nav nav-tabs" role="tablist">
<li id="table-tab" class="active">
</div>
<div id="csv" class="tab-pane">
<div class="col-md-12">
- <textarea class="csv form-control" rows="25" readonly></textarea>
+ <textarea class="csv form-control" rows="25" readonly autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
</div>
</div>
</div>
Read more at the
<a href="https://github.com/bitcoin/bips/blob/master/bip-0049.mediawiki" target="_blank">official BIP49 spec</a>
</p>
- <h3>Private Keys</h3>
+ <h3 id="entropy-notes">Entropy</h3>
<p>
- <span>
- Use private keys at
- <a href="https://web.archive.org/web/20150707020924/https://brainwallet.org/" target="_blank">brainwallet.org</a>.
- </span>
- <span>Be careful - it can be easy to make mistakes if you don't know what you're doing.</span>
+ <span>Entropy values should not include the BIP39 checksum. This is automatically added by the tool.</span>
</p>
- <h3 id="entropy-notes">Entropy</h3>
<p>
<span>
Entropy values must be sourced from a
<p>
<a href="https://bitcointalk.org/index.php?topic=311000.msg3345309#msg3345309" target="_blank">You are not a good source of entropy.</a>
</p>
+ <p>
+ <span>Card entropy has been implemented assuming cards are replaced, not drawn one after another.</span>
+ <span>A full deck with replacement generates 232 bits of entropy (21 words). A full deck without replacement generates 225 bits of entropy (21 words).</span>
+ <span>Card entropy changed significantly from v0.4.3 to v0.5.0. The old version can be accessed at
+ <a href="https://github.com/iancoleman/bip39/releases/tag/0.4.3">
+ https://github.com/iancoleman/bip39/releases/tag/0.4.3
+ </a>
+ or
+ <a href="https://web.archive.org/web/20201018232020/https://iancoleman.io/bip39/">
+ https://web.archive.org/web/20201018232020/https://iancoleman.io/bip39/
+ </a>
+ </span>
+ </p>
<h3>License</h3>
<p>
<span>Please refer to <a href="https://github.com/iancoleman/bip39/blob/master/LICENSE" target="_blank">the software license</a> for more detail.
on any offline computer.
</p>
<p>
- <span>Alternatively, download the file from the repository</span>
+ <span>Alternatively, download the file from the latest GitHub release</span>
-
- <a href="https://github.com/iancoleman/bip39">https://github.com/iancoleman/bip39</a>
+ <a href="https://github.com/iancoleman/bip39/releases/latest/">https://github.com/iancoleman/bip39/releases/latest/</a>
</p>
</div>
<td class="index"><span></span></td>
<td class="address"><span data-show-qr></span></td>
<td class="pubkey"><span data-show-qr></span></td>
- <td class="privkey"><span data-show-qr></span></td>
+ <td class="privkey private-data"><span data-show-qr></span></td>
</tr>
</script>
- <script src="js/polyfill.es6.js"></script>
- <script src="js/basex.js"></script>
- <script src="js/unorm.js"></script>
<script src="js/jquery-3.2.1.js"></script>
- <script src="js/bootstrap-3.3.7.js"></script>
- <script src="js/levenshtein.js"></script>
- <script src="js/kjua-0.1.1.min.js"></script>
- <script src="js/bitcoinjs-3.3.0.js"></script>
+ <script src="js/bootstrap.js"></script>
+ <script src="js/bip39-libs.js"></script>
<script src="js/bitcoinjs-extensions.js"></script>
<script src="js/segwit-parameters.js"></script>
- <script src="js/ethereumjs-util.js"></script>
<script src="js/ripple-util.js"></script>
+ <script src="js/jingtum-util.js"></script>
+ <script src="js/casinocoin-util.js"></script>
+ <script src="js/eos-util.js"></script>
+ <script src="js/fio-util.js"></script>
<script src="js/sjcl-bip39.js"></script>
<script src="js/wordlist_english.js"></script>
<script src="js/wordlist_japanese.js"></script>
<script src="js/wordlist_chinese_traditional.js"></script>
<script src="js/wordlist_french.js"></script>
<script src="js/wordlist_italian.js"></script>
+ <script src="js/wordlist_korean.js"></script>
+ <script src="js/wordlist_czech.js"></script>
<script src="js/jsbip39.js"></script>
- <script src="js/biginteger.js"></script>
- <script src="js/zxcvbn.js"></script>
<script src="js/entropy.js"></script>
<script src="js/index.js"></script>
</body>