How to make a Bitcoin QR code
- Copy your receiving address from your wallet and paste it in. Do not retype it.
- Optionally add an amount in BTC (up to eight decimal places), a label and a message.
- Download the code, scan it with your wallet app, and check that the address matches what your wallet shows.
- Send a very small test payment before you rely on the code.
Only ever put an address in a QR code
A receiving address is public, and it is all a payment code needs. Never enter a seed phrase or a private key anywhere on this or any other website.
How the address is checked
Legacy addresses (starting 1 or 3) are verified with their Base58Check checksum, and SegWit and Taproot addresses (starting bc1) with Bech32 or Bech32m. A single wrong character fails the check, and the code is not generated.
Reusing an address
Anyone can see every payment made to an address, so reusing one links your payments together. If your wallet offers a fresh address for each payment, use that, and generate a new code for each.
Frequently asked questions
Which address types are supported?
Legacy (1...), P2SH (3...), SegWit (bc1q...) and Taproot (bc1p...) addresses on the Bitcoin main network. Lightning invoices are not supported.
Is my address uploaded?
No. The address is checked and the code built entirely in your browser.
Does the amount have to be in BTC?
Yes, the payment format uses BTC with up to eight decimal places. Convert from your local currency first.