Bitcoin QR Code Generator
Make a QR code for your Bitcoin address, with an optional amount that wallets fill in for the payer. The address checksum is verified in your browser before the code is drawn.
What a Bitcoin QR code is
A Bitcoin QR code is a static QR code that stores a Bitcoin receiving address, optionally with an amount in the BIP-21 bitcoin: payment format, so a wallet can scan it and fill in the payment details.
Paste a Bitcoin address and you get a code any Bitcoin wallet can scan. Add an amount and the code becomes a BIP-21 payment request: the payer’s wallet opens with your address and the amount already filled in, and all they do is confirm.
Every Bitcoin address carries a checksum, and the generator verifies it before drawing anything — Base58Check for addresses starting with 1 or 3, bech32 or bech32m for bc1 addresses. A single mistyped or missing character fails the check, so a broken address never makes it onto a printed sign. The check runs in your browser; the address is not sent anywhere.
How to create a Bitcoin QR code
- 01
Get a receiving address
In your wallet, tap Receive and copy the address. On an exchange, go to Deposit, pick Bitcoin, and make sure the network says Bitcoin (BTC) — not a wrapped token on another chain.
- 02
Paste it into the generator
Paste the address above. If the checksum fails, copy it again with the wallet’s copy button rather than retyping it.
- 03
Add an amount, if you want one
Enter an amount in BTC for a fixed price or invoice. Leave it empty for donations and tips, so the payer chooses how much to send.
- 04
Download and test it
Download the PNG or SVG, scan it with a Bitcoin wallet, and check that the address shown starts and ends like yours and the amount is right. You do not have to send anything to test.
Bitcoin address types
bc1q… — native SegWit
The default in most current wallets. Lowercase, 42 characters for a standard single-key address, and the cheapest of the common types to send from. Nearly every wallet and exchange can send to it.
bc1p… — Taproot
A newer format, 62 characters long. Modern wallets send to it without trouble, but a few older services still refuse it. If people report errors paying you, offer a bc1q address instead.
3… — nested SegWit or multisig
Older wrapped SegWit addresses and many multisig setups start with 3. They work everywhere and are fine to put in a code.
1… — legacy
The original format, mostly seen in older wallets. It still works and every wallet can send to it, so there is no need to switch if it is what you have.
Amounts with BIP-21
With an amount, the code holds a link like bitcoin:ADDRESS?amount=0.0005. Amounts are in BTC, not satoshis, and wallets that read BIP-21 — which is nearly all of them — fill it in. The payer can still change it before sending.
Reusing one address
Bitcoin transactions are public, so anyone with the address can see every payment it receives. Many wallets hand out a new address each time for that reason. A printed donation code is fine, but for invoices a fresh address per payment keeps your history more private.
Where a Bitcoin QR code helps
- Donation buttons for blogs, podcasts, and open-source projects
- Invoices with the amount already set
- A sign by the till in a shop that accepts bitcoin
- Tip jars at gigs and markets
- Stream overlays and video descriptions
- Meetup slides and conference badges
- Printed flyers for fundraisers
This code receives on the Bitcoin network only. Lightning invoices and Lightning addresses are a different thing and are not made here.
Never put a private key, an xprv, or a seed phrase into a QR code. A receiving address is the only thing a payer needs.
Bitcoin payments cannot be reversed. If a printed code is swapped for someone else’s, money sent to it is gone — place it where it cannot be covered, check it now and then, and print the address next to it so people can compare the first and last characters.
This site does not hold bitcoin, connect to your wallet, or see payments. It makes the image and nothing else.
Questions about this
Copy the receiving address from your wallet, paste it above, optionally add an amount, and download the code. Scan it with a wallet once to check it before you share it.
Yes. Enter an amount in BTC and the code uses the BIP-21 format, so the payer’s wallet opens with the amount filled in. They can still edit it before sending.
Whatever your wallet gives you by default — usually bc1q. All four types can receive from almost any wallet; Taproot (bc1p) is the only one a few older services may refuse.
If a character is wrong or missing, the checksum fails and the generator shows an error instead of a code. A valid address that simply is not yours cannot be detected, so compare it with your wallet.
No. Validation and drawing happen in your browser. The site uses Google Analytics to count visits and may show ads, but the address you type never leaves your device.
No. This page makes on-chain Bitcoin codes. Lightning uses invoices or Lightning addresses, which your Lightning wallet can display as its own QR code.
No. The address is written into the pattern, with no redirect, so it works as long as your wallet still controls that address.