What a Bitcoin QR encodes
The standard is a bitcoin: URI that wallet apps understand natively:
bitcoin:bc1qxy2k...: just the address; sender types the amountbitcoin:bc1qxy2k...?amount=0.005: address + preset amountbitcoin:bc1qxy2k...?label=Invoice%2042: labeled for the sender's records
Ethereum works the same with ethereum:0x.... QRolling's Bitcoin and Ethereum QR types build the URI for you: paste your address, optionally set an amount, done. Plain-address QRs (no URI prefix) also scan fine in every major wallet.
Where crypto QRs get used
- Merchant checkout — the counter QR: customer scans, confirms amount, broadcast
- Invoices — the printed or PDF invoice carries its own payment rail
- Donation pages and streams — support addresses on screen and print
- Crypto meetups and conferences — booth codes for demos and tips
- P2P trades — hand the buyer a QR, not a string to mistype
Safety rules: read before printing
Crypto transactions are irreversible, so the QR's integrity is everything:
- Verify after generating. Scan your own QR and compare the decoded address character-by-character against your wallet. Every time, no exceptions.
- Guard physical codes. Sticker-over-sticker swaps redirect funds silently. Check printed codes regularly; use tamper-evident materials in public.
- Label with your name/brand so payers know whose address they're funding.
- Address reuse is a privacy trade-off. A printed static QR means one public address for all payments. Fine for donations and shops; for privacy, wallets with rotating addresses need a fresh QR per invoice. Generate them per-transaction instead.
Static or dynamic?
For crypto, static is the security-correct default: the address is baked into the code, nothing can silently change it. A dynamic redirect adds a mutable layer between the payer and your address — convenient for a donations page, wrong for a raw address. If you want editability, point a dynamic QR at a page that displays your current address QR.
How to make a Bitcoin QR code in 3 steps
Copy your receive address
From your wallet's Receive screen. Copy it exactly, or use the wallet's share function.
Pick the Bitcoin type and paste
On QRolling, choose Bitcoin (or Ethereum), paste the address, and optionally preset an amount.
Verify, then print
Scan your own code and compare the decoded address to your wallet character-by-character. Then export and place it.
Frequently asked
Does the QR code hold my coins?
No. It only encodes your public receive address (plus optional amount). It cannot spend anything; only your private key can. Never QR-encode a private key or seed phrase.
Which wallets can scan it?
Effectively all of them. The bitcoin:/ethereum: URI is the industry standard, and plain-address QRs are universally read as fallback.
Can I preset the payment amount?
Yes. The amount parameter pre-fills the sender's wallet. They can still edit it before sending, so treat it as a suggestion, not enforcement.
What if I printed the QR and then changed wallets?
Old addresses remain valid: funds sent there still arrive in the old wallet. But reprint with the new address for future payments; a static crypto QR can't be redirected (by design).
Is it safe to put my address QR in public?
The address is public information — safe to share. The risks are physical tampering (someone replacing your code) and privacy (all payments visible on one address). Check the print, and rotate addresses if privacy matters.
Read next
Need a different QR type? Browse all 48 QR types on the home page.