Passphrase:

random
select file

Choose your salt:

login info
personal info
generic

Username:

Password:

4 Digit PIN:

Name:

Email:

Phone:

Date of Birth:

Salt:

Public Address (SHARE):

Private Key (SECRET):

print

About brainwallet.io

Brainwallet.io is a deterministic bitcoin address generator. Store bitcoin in your brain by remembering your passphrase and salts. Address generation takes place in your browser, and no information is ever sent to our server.

Disclaimer: Use at your own risk. Brainwallets can be dangerous if you don't use a strong passphrase or take security precautions.

Use a long, unique passphrase that is never used in any song, literature, or media. If you use a weak passphrase, you are at risk of having your bitcoin stolen. We recommend a minimum of 8 random words. Click the "random" button to have a secure 12-word passphrase generated for you. If you forget your passphrase, your bitcoin will be lost forever. Please keep in mind that your passphrase and salts are case sensitive.

Your salts are used as additional inputs to the cryptographic function that generates your brainwallet. This information never gets sent to our server, and is only used to strengthen your passphrase. You are required to enter at least one salt, and you have the ability to choose between different types of salts. There is no recovery process, so don't forget what you enter.

Instead of entering a passphrase, you can drop any file into the text box and your browser will perform an SHA256 hash on the file to derive a checksum. This checksum will be used as your passphrase. The file hashing takes place in your browser, and never gets sent to or stored on our server. It's important to never use a file that exists on the internet, and to keep it stored securely. We recommend using a photograph that you have taken.

Note: If you have difficulty recovering your brainwallet using the file hashing functionality, please try this older version, which generated non-standard checksums with some file formats. This has been corrected in the current version.

Brainwallet.io uses the scrypt key derivation function to generate bitcoin addresses. Your salt inputs are concatenated and used as the salt for the scrypt function.

The process is as follows (pseudocode):

  • key = scrypt(passphrase, salt, N=218, r=8, p=1, dkLen=32)
  • keypair = generate_bitcoin_keypair(sha256(key))

  • Scrypt is a memory-intensive function that is deliberately slow to frustrate brute-force attacks. Performance may vary depending on your hardware, and in some cases may not work at all. If you run into problems, try a different web browser or use a newer computer. We can't sacrifice security for legacy support.

    Brainwallet.io is a self-contained website that can be run offline. We recommend that you download the latest HTML file from GitHub, verify file integrity (checksum) with the PGP-signed changelog, and run it on an air-gapped computer. Keep a copy of the HTML file that you used to generate your brainwallet for safekeeping.

    Terms of use

    By using brainwallet.io, you are agreeing to the following terms and conditions.

    The service is provided on an "as is" basis, without any warranties.

    We are not responsible for any losses in bitcoin that you may incur for any reason.

    Created by

    Daniel Routman
    routman@protonmail.com

    PGP key
    EB6E BB0A 6C1B 762F B282
    A38A DE5F 7DB2 1B0B 3CCA

    Donate: 1G65KRrVxRw4FM8bHuiBia2CqChTeEHWuS

    Brainwallet.io is licensed under The MIT License (MIT)