One moment please...

Encrypting your wallet. This may take up to several minutes on a slower computer.

One moment please...

Decrypting the private key. This may take up to several minutes on a slower computer.

Open Source JavaScript Bitcoin Wallet Generator Updated December 6, 2013
For help, security tips, or wallet making supplies visit

Gathering "entropy" for more random & secure addresses. bits still required.

Move your mouse, and/or type random letters/numbers/symbols here:


Welcome! Let's print out a beautiful and secure wallet for your bitcoins.

Here's an overview of what will happen, step by step.

Select your wallet design or language here:

Flags Sealed Wallet

Basic security checklist:

  • ? Are you using a secure operating system guaranteed to be free of spyware and viruses, for example, an Ubuntu LiveCD?

More security tips

Step 1: Calibrate Printer
Before printing out a wallet you'll need to "calibrate" your output using the zoom and horizontal shift adjustments to accommodate your particular browser / printer combination. Without proper callibration, your wallet may print out too small or with a misaligned reverse side.

Step 2: Print Front
Next we'll print out the front side of your wallet. A public address and private key will automatically be generated, or you can supply your own key if you are using 'vanitygen' or some other random key generator.

Step 3: Print Back
Then you will put the same page back in your printer (but flipped over) to print out the back side of your wallet. This isn't just for good looks: the back side design includes additional tamper-resistant safeguards.

Step 4: Cut, Fold, Seal & Fund
Find your scissors! The final step is to cut out your wallet, fold it, and seal it with opaque (light-blocking) tape. Now you're ready to transfer bitcoins from your online holdings to your new wallet.

90 second tutorial video on YouTube »

Purchase hologram stickers and/or zip-sealing bags »

To calibrate your output, print out this page in LANDSCAPE (wide) format. Based on the results, adjust the "zoom" and "horizontal shift" until your printed ruler approximates a real ruler, and leaves equal margins on the left and right sides of the page. Consider letting us know what settings worked best.

Print Calibration Test
Zoom / Shift : Default

change passphrase

About "BIP38" Encryption

If you encrypt your private key with BIP38 and you lose your password, it will be impossible to recover the funds you have sent to this wallet. Also, in order to import a BIP38 encrypted wallet, you may have to use a 3rd party tool such as to decrypt your private key before importing or sweeping this wallet to a live wallet or service.

If you do not have a strong understanding of the BIP38 encryption and decryption workflow, DO NOT ENCRYPT YOUR WALLET. Just print it out in the usual way (which uses the more widely supported "Wallet Import Format" to encode your private key.)

Print Wallet Front

Reload the front page into your printer first. And don't forget to print in LANDSCAPE mode!

Print Wallet Back


How to cut & fold your 2-sided wallet:

Cut out your wallet (use the dotted lines on the front as a guide, not the back!)

Now fold the more narrow private key area in half, and then over again as indicated by the dotted lines in this diagram:

Folding Diagram

The final wallet will be a rectangle shape with the more narrow private key area folded over it, like this:
Sample Wallet

Finally seal your wallet by placing two strips of sturdy light-blocking tape over the top and bottom edges of the private (folded) area. A zip-seal bag will keep it safe from moisture (especially important for inkjet prints.)

Purchase hologram stickers and/or zip-sealing bags »

Sealed Wallet

How to add funds to your wallet:

Send bitcoins to the address (or QR code) where your wallet says "PUBLIC ADDRESS".

How to withdraw funds from your wallet:

You should expect to withdraw the entire balance of the wallet by importing it (or "sweeping" it) to a live wallet, e.g. a Bitcoin wallet application or online service like or Click here for important tips on withdrawing funds from your wallet »

Validate / decrypt private key

Enter or scan any private key into this form to display all available details and formats for that key. This should work for private keys generated by as well as any other Bitcoin service.

For example, if you have a wallet encrypted with a BIP38 passphrase, you can use this form to decrypt your private key and retrieve the standard Wallet Import Format (WIF) key suitable for wallet software and services that don't directly support BIP38 importing.

QR Scanner

Your browser does not support the HTML5 camera controls. Please try open this page with a recent version of Chrome, Firefox or Opera

Permission denied. Your browser should display a message requesting access to your camera. Please click the "Allow" button to enable the camera.

If you are running the file locally on Chrome, you need to specify the --allow-file-access-from-files flag when starting Chrome.

This "6P..." private key is BIP38-encrypted.

Details for:

Your Bitcoin Private Key is a unique secret number that only you know. It can be encoded in a number of different formats. Below we show the Bitcoin Address and Public Key that corresponds to your Private Key as well as your Private Key in the most popular encoding formats (WIF, WIFC, HEX, B64, MINI).

Bitcoin v0.6+ stores public keys in compressed format. The client now also supports import and export of private keys with importprivkey/dumpprivkey. The format of the exported private key is determined by whether the address was generated in an old or new wallet.
Bitcoin Address
Bitcoin Address Compressed

Public Key (130 characters [0-9A-F]):
Public Key (compressed, 66 characters [0-9A-F]):

Private Key WIF
51 characters base58, starts with a
Private Key WIF Compressed
52 characters base58, starts with a
'K' or 'L'

Private Key Hexadecimal Format (64 characters [0-9A-F]):
Private Key Base64 (44 characters):
How do I make a wallet using dice? What is B6?
An important part of creating a Bitcoin wallet is ensuring the random numbers used to create the wallet are truly random. Physical randomness is better than computer generated pseudo-randomness. The easiest way to generate physical randomness is with dice. To create a Bitcoin private key you only need one six sided die which you roll 99 times. Stopping each time to record the value of the die. When recording the values follow these rules: 1=1, 2=2, 3=3, 4=4, 5=5, 6=0. By doing this you are recording the big random number, your private key, in B6 or base 6 format. You can then enter the 99 character base 6 private key into the text field above and click View Details. You will then see the Bitcoin address associated with your private key. You should also make note of your private key in WIF format since it is more widely used.