Free Tool

Free Bitcoin & Crypto QR Code Generator

Generate a free QR code for Bitcoin and crypto wallet addresses. Supports BTC, ETH, USDT, plus BIP-21 payment URIs with amount, label, and message. Free, unlimited, downloadable PNG and SVG.

Always paste from your wallet's receive screen. Don't hand-type.

Always test first

Send a small test transaction (0.0001 BTC) to confirm the QR works before printing flyers or sharing publicly. Funds sent to a typo'd address are unrecoverable.

Live preview

Paste your wallet address to generate the QR code

No signup required
Free forever
GDPR compliant
Powered by U2L

Quick Answer

A Bitcoin QR code (or crypto QR code) encodes a wallet address - or a full BIP-21 payment URI with amount, label, and message - inside a QR code. Scanning the QR opens the user's crypto wallet pre-populated with the destination and amount. The U2L Bitcoin QR Generator builds BIP-21 URIs for Bitcoin (and BIP-21-compatible URIs for ETH and other chains), renders a high-resolution scannable QR, and lets you download PNG or SVG for free.

Quick Facts

  • Encodes BIP-21 payment URIs per Bitcoin standards: bitcoin:address?amount=0.001&label=...&message=....
  • Wallet apps that support BIP-21 (Wallet of Satoshi, BlueWallet, Phoenix, Strike, Cash App, Trezor Suite, Electrum, Sparrow, and most major BTC wallets) read amount and label automatically.
  • For Ethereum, encodes ethereum:address (EIP-681). MetaMask, Rainbow, Trust Wallet, and Coinbase Wallet support this scheme.
  • Plain wallet-address QRs (no amount, no label) work for any chain - just paste the address and download.
  • QR code uses error-correction level M; recoverable from scuffs, fingerprints, and minor print damage.
  • Static QR - the address and payment data are encoded in the QR pattern, not on a server. No tracking, no expiry, no dependencies.
  • Always test with a small amount first. Wallet-address typos = unrecoverable funds.

How to make a Bitcoin QR code

Three steps. Address, options, download.

  1. 1

    Pick the chain and paste your wallet address

    Bitcoin (BTC), Ethereum (ETH), Litecoin (LTC), Dogecoin (DOGE), and others use different URI schemes. Pick yours, paste your wallet's receive address.

  2. 2

    Optional: prefill amount, label, message

    BIP-21 lets you pre-populate the amount the user will pay, plus a human-readable label and message. Wallets read these on scan and pre-fill their send screen.

  3. 3

    Verify, then download PNG or SVG

    Triple-check the address - typos result in unrecoverable funds. Send a small test transaction first. Then download the QR for your invoice, donation page, or business card.

What is a Bitcoin QR Code Generator?

Bitcoin QR Code Generator is a static QR code that encodes a cryptocurrency wallet address or a full payment URI. Scanning the QR opens the user's crypto wallet app with the destination address - and optionally amount, label, and message - pre-populated. It removes the friction of pasting long crypto addresses by hand (which is also where most accidental misroutes happen).

BIP-21 is the Bitcoin Improvement Proposal that defined the bitcoin: URI scheme. The format is bitcoin:address?amount=0.001&label=Coffee&message=Latte. Wallets that support BIP-21 (most major BTC wallets do) parse the URI, drop the user into the send screen with the address and amount filled, and let the user review before signing the transaction. Reduces errors and friction at point-of-payment.

Other chains have similar URI schemes: Ethereum uses EIP-681 (ethereum:address?value=...&gas=...&data=...), Litecoin uses litecoin:, Dogecoin uses dogecoin:. The U2L tool covers the most common ones; for less-common chains, use a plain wallet-address QR (just the address, no URI scheme) which any wallet can scan as text and paste into the address field.

Crypto QR codes are most useful at point-of-sale (cafes accepting BTC), in donation flyers (charities with a wallet QR), in invoices and business cards (freelancers requesting crypto payment), and on tip-jar physical signs. The user lifts their phone, scans, reviews the pre-filled amount, and signs with a single tap. Way faster and less error-prone than typing a 30-character address.

How does a Bitcoin QR Code Generator work?

When you fill in the chain, address, and optional amount/label/message, the tool builds a URI per the chain's spec. For Bitcoin: bitcoin:bc1q...?amount=0.001&label=Coffee&message=Latte. For Ethereum: ethereum:0x.... Address validation is regex-based (correct format and length); the tool doesn't actually verify the address exists on-chain, so always double-check before sending real funds.

The encoded URI is then passed to a QR code rendering library that runs entirely in your browser - nothing is sent to U2L's servers. The library generates a vector path representing the QR pattern at the chosen error-correction level (default: M, ~15% recovery from damage), and renders it as inline SVG.

PNG download rasterizes the SVG to 280x280 (or any size you pick) using the browser's canvas API. SVG download serializes the vector directly to file. Both happen in JavaScript, no server round-trip - critical for crypto, where every server interaction is a potential leak point for sensitive payment data.

When a user scans the QR, their camera or wallet app reads the URI, recognizes the bitcoin: / ethereum: / etc. scheme, and hands off to the registered crypto wallet. The wallet pre-fills the send screen with the address, amount, and label. The user reviews and signs. The transaction broadcasts to the chain like any other.

Use Cases

How marketers, businesses, and developers use bitcoin qr code generator.

Coffee shop / cafe accepting BTC

Print a QR at the register encoding the shop's BTC wallet plus the per-cup amount. Customers scan, send, get coffee. No POS terminal needed beyond the printed QR.

Charity / donation flyers

Charity events with a printed QR linking to the org's BTC donation address. Donors scan and send any amount; charity tracks via on-chain analytics.

Freelancer crypto invoices

Invoices with a per-invoice payment QR (address + exact amount + invoice ID in label). Reduces 'I sent the wrong amount' issues.

Conference / event speaker tip jar

Speakers with a printed QR for tips. Attendees scan, send 0.0001 BTC. Adds up to real income for popular talks.

Print ad / poster crypto CTA

Magazines or billboard ads accepting crypto micropayments. QR encodes the wallet + a default amount.

Onboarding / new wallet setup

Help guides with a 'send 0.001 BTC to verify' QR for first-time users. Lower friction than manual address typing.

Crypto exchange deposit instructions

Exchanges generating per-user deposit-address QRs. The user scans, sends, the exchange detects the deposit and credits the account.

Streamer / creator on-screen tipping

Twitch / YouTube streamers with a wallet QR overlay. Viewers scan from their phone while watching on TV/desktop.

Cross-chain wallet imports

Users moving funds between wallets scan the destination wallet's QR to avoid manual address typos.

ATM / kiosk receipt with QR for return funds

Bitcoin ATMs printing a QR for the customer's wallet so they can verify the deposit destination before signing.

Bitcoin QR Code Generator vs Alternatives

Side-by-side feature and pricing comparison with the top alternatives.

FeatureU2LWallet's built-in receive QRQR Code Generator (qr-code-generator.com)BTCPay Server
Free unlimited Bitcoin QRsWallet onlyLimitedSelf-host
BIP-21 amount + label supportMixedLimited
Multi-chain (BTC, ETH, LTC, DOGE)Wallet-specificBTC only
PNG and SVG downloadPNG onlyPNG free; SVG paid
Browser-only (no signup, no install)Wallet installServer install
Static (no server dependency)
Custom QR stylingSoonPaidLimited

Bitcoin QR Code Generator vs Your wallet's built-in receive QR

Every major crypto wallet has a 'receive' button that shows a QR encoding your address. Free, official, always available.

U2L's Bitcoin QR generator wins for (1) sharing across multiple wallets without showing each, (2) embedding QRs in print materials and websites at high resolution, (3) BIP-21 payment URIs with prefilled amount and label that some wallets don't expose. For one-off mobile sends between two wallets, the wallet's native QR is fine.

Bitcoin QR Code Generator vs BTCPay Server

BTCPay Server is the open-source, self-hosted Bitcoin payment processor. Generates per-invoice QRs with exact amounts, integrates with e-commerce platforms (Shopify, WooCommerce), and handles invoice expiration. Industry-standard for serious BTC merchants.

U2L is for ad-hoc QR generation - one-off events, donation flyers, casual tip jars. For a real BTC payment business, run BTCPay. For 'I just need a QR for my wallet on this poster', U2L is faster.

Best Practices

Always test with a small transaction first

QR-encoded addresses can have typos. Send 0.0001 BTC (or equivalent) before printing 1,000 flyers. Confirm receipt at the destination wallet, then mass-print.

Use BIP-21 amount for fixed prices

If your QR is for a fixed item (a $10 coffee, a $50 donation), use the BIP-21 amount field so the wallet pre-fills. Reduces 'wrong amount sent' issues at point-of-payment.

Don't reuse addresses for privacy-conscious receivers

Bitcoin convention is one address per payment for privacy. If you publish a single static QR, you're tying all on-chain payments to one identity. Use HD wallet 'receive' addresses (the wallet rotates) for privacy-conscious flows.

Include the chain name in the printed copy

Print 'BTC' or 'ETH' near the QR so users don't accidentally send LTC to a BTC address. Cross-chain misroutes = unrecoverable funds.

Print at 2cm or larger for cafe / POS use

Smaller QRs scan less reliably at standard scan distances. 2cm minimum at standard print DPI for desktop scans. Scale up for billboards or wall art.

For invoices, include invoice number in the message

BIP-21 message field is human-readable. Encode 'Invoice #1234' so the customer's wallet shows it on the send screen. Reduces 'which invoice did I pay' confusion.

Keep amount-encoded QRs short-lived

Crypto prices fluctuate. A QR encoding '$10 = 0.00025 BTC' becomes wrong as BTC moves. For long-shelf-life prints, use no amount; let the customer enter it.

Verify the address copied correctly

Wallet address copy-paste sometimes mangles characters (whitespace, line breaks). After pasting, eyeball the first and last 4 chars match the source.

Common Mistakes to Avoid

Typing the address instead of pasting from your wallet

Crypto addresses are 30+ chars of base58 (BTC) or hex (ETH). Hand-typed addresses almost always have typos. Always paste from your wallet's receive screen.

Cross-chain confusion (BTC address with ETH URI)

An Ethereum URI (ethereum:0x...) with a Bitcoin address is invalid; wallets reject it. Match the chain to the URI scheme. The U2L tool handles this if you pick the right chain dropdown.

Forgetting amount precision

BTC amounts are in BTC (0.001 = 100,000 sats). ETH amounts are in ETH. Don't mix sats / wei into the amount field - the URI spec expects whole-coin denominations.

Using a QR for an exchange's hot wallet without segregation

If you publish a static QR pointing to your exchange-held BTC, every payment lands in the exchange's pool. Use a personal cold-wallet address for QR-published payments, not exchange hot wallets.

Skipping the test scan

Before printing 1,000 flyers, scan the QR with your phone and confirm the URI parses correctly in your wallet. Catch issues before mass production.

Encoding too much - including TX hashes or signatures

BIP-21 URIs are for prep, not signed transactions. Don't try to encode a signed TX into the QR; it's a different scheme (BIP-322 for messages, PSBT for partials).

Using a public QR address for high-volume flows

A single published static QR ties all payments to one address. For privacy and accounting, use per-customer receive addresses (HD wallet path) and generate fresh QRs per invoice.

Technical Specifications

Bitcoin URIbitcoin:address?amount=0.001&label=...&message=... (BIP-21)
Ethereum URIethereum:address?value=... (EIP-681)
Other chainslitecoin:, dogecoin: schemes
Address validationRegex-based format + length check; not on-chain verified
Default error correctionLevel M (~15% recoverable)
Default render size280x280 px on screen, infinite via SVG
Output formatsPNG (raster), SVG (vector)
Recommended print size2cm minimum at standard print DPI
Wallet supportWallet of Satoshi, BlueWallet, Phoenix, Strike, Cash App, Trezor, Electrum, Sparrow, MetaMask, Rainbow, Trust, Coinbase Wallet, plus most major wallets
Static QR (no server)Yes - URI is encoded directly in the QR pattern; no U2L involvement post-generation

Industry-Specific Use Cases

Cafes and merchants accepting crypto

Point-of-sale QR codes with item-specific amounts. BIP-21 prefill makes payment fast and error-free.

Charities and non-profits

Donation campaigns with printed QRs. Donors scan and send any amount. On-chain transparency adds trust.

Freelancers and creators

Invoices, tip jars, sponsored content with crypto payment QRs. Lower payment friction than wire transfers.

Crypto exchanges and DeFi platforms

Per-user deposit-address QRs in account dashboards. Reduces typo-driven misrouted deposits and support tickets.

Streamers and content creators

On-screen QR overlays for tips during live streams. Viewers scan from their phone while watching the stream.

Bitcoin ATMs and kiosks

Receipt and on-screen QRs for return funds. Customers verify destination before signing the transaction.

Frequently Asked Questions

What's BIP-21?

Bitcoin Improvement Proposal 21 - the standard for the bitcoin: URI scheme. Format: bitcoin:address?amount=...&label=...&message=.... Most major BTC wallets support it. Allows pre-filling payment data via QR.

Will it work for non-Bitcoin chains?

Yes. Ethereum (EIP-681), Litecoin, Dogecoin, and others have similar URI schemes. The U2L tool supports the most common chains; for less-common chains, use a plain address QR (just the address, no URI scheme).

Can wallets read the prefilled amount?

Yes for BIP-21-compliant wallets. Wallet of Satoshi, BlueWallet, Phoenix, Strike, Cash App, Trezor, Electrum, Sparrow, and most major BTC wallets parse the amount and pre-fill the send screen. Less-common wallets may show only the address.

What's the difference between a plain-address QR and a BIP-21 QR?

A plain-address QR encodes only the wallet address. A BIP-21 QR encodes a full URI with amount, label, and message. Wallets that support BIP-21 pre-fill the send screen; wallets that don't see only the address (still works for sending).

Will the QR work after the BTC price moves?

Address-only QRs work forever. BIP-21 QRs with a BTC amount work forever (the BTC amount doesn't change), but if you encoded a 'pay $10 in BTC' value, the BTC amount becomes wrong as price moves. For shelf-stable QRs with USD pricing, use no amount; let the customer enter it.

Is the QR static or dynamic?

Static. The URI is encoded directly into the QR pattern; nothing depends on a U2L server. The QR works forever (modulo the destination address remaining yours).

Can I track scans / payments?

Static QRs can't track scans. Payments are visible on-chain (block-explorer your address). For per-scan analytics, route through a u2l.ai short link that redirects to the BIP-21 URI; the short link tracks scans.

Does it support Lightning Network?

Plain Lightning invoices (lnbc...) can be encoded as text-only QRs. The dedicated lightning: URI scheme is optional. The U2L tool currently supports the bitcoin: scheme; for Lightning-specific generators, use Wallet of Satoshi or a Lightning-aware tool.

What if my address has a typo?

Funds sent to a typo'd address are unrecoverable. Always paste the address from your wallet (don't type it), and always test with a small transaction before printing. Bitcoin and most major chains have address checksums; wallets warn on invalid checksums but you should still verify.

Can I use this for hardware wallet addresses?

Yes. Hardware wallets (Trezor, Ledger) provide receive addresses in their companion app. Copy from the app and paste into U2L. The QR encodes the address; the user's wallet sends to it like any other address.

What's the right print size?

2cm x 2cm minimum at standard print DPI for scans at 30cm distance. Long URIs (with amount + label + message) make denser QRs that need 3cm minimum. SVG output lets you scale without quality loss.

Does it support multisig addresses?

Yes. Multisig (P2SH, P2WSH) addresses are valid receive addresses; the QR encodes them like any other address. The wallet handles signing - the QR is just the destination.

Can I add my logo to the QR?

Custom QR styling (logo overlay, colored corners) is on the U2L roadmap. For now, the Bitcoin QR is monochrome black-on-white. For crypto, monochrome is recommended anyway - logo overlays can interfere with low-quality scanners and risk address misreads.

Is my wallet address shared with U2L?

Only if you sign up. The free QR generator runs entirely in your browser; the URI is built and rendered locally. U2L's servers never see the address you encoded.

Can I encode a pre-signed transaction?

No - that's BIP-322 (message signing) or PSBT (partially-signed Bitcoin transaction), which are different schemes. The U2L Bitcoin QR generates payment-prep URIs only. The user signs after scanning in their wallet.

Does it work with stablecoin addresses (USDT, USDC)?

USDT on Bitcoin (Omni / Liquid) uses Bitcoin addresses; encode as a Bitcoin QR. USDT on Ethereum (ERC-20) uses an Ethereum address; encode as an Ethereum QR. USDT on Tron uses Tron addresses (different format); not currently supported.

Will it work for tax-tracking and accounting?

BIP-21 message field is human-readable - encode invoice IDs there for accounting reconciliation. Combine on-chain explorer search by address with your invoice list to match payments to invoices.

Is it safe to print my wallet address publicly?

Receive addresses are designed to be public - the cryptography is one-way. Sharing your receive address doesn't compromise your private keys. But it does link your on-chain payments to your public identity; for privacy, use HD wallet rotation (one address per payment).

Key Terms

BIP-21
Bitcoin Improvement Proposal 21 (2012). Defines the bitcoin: URI scheme for payment requests. Format: bitcoin:address?amount=&label=&message=.
EIP-681
Ethereum Improvement Proposal 681 (2018). Defines the ethereum: URI scheme for transaction requests. Format: ethereum:address?value=&gas=&data=.
Address
A public destination identifier on a blockchain. Bitcoin addresses are 26-35 chars of base58 or 42-62 chars of bech32. Ethereum addresses are 42 chars of hex starting with 0x.
Static QR code
A QR code where the destination is encoded directly in the QR pattern. No server lookup; the QR works forever (modulo the destination address remaining valid).
HD wallet
Hierarchical Deterministic wallet (BIP-32). Generates a near-infinite series of addresses from a single seed. Used to rotate receive addresses for privacy without managing multiple wallets.
Hot vs cold wallet
Hot wallets are connected to the internet (mobile app, web wallet). Cold wallets are offline (hardware wallet, paper). Use cold for storage, hot for daily use; QR-publish only addresses you control via your own keys.

Want trackable Bitcoin payment QRs?

Sign up free to wrap your BIP-21 URI in a u2l.ai short link, track every scan with location and time, and edit the destination amount as crypto prices move. No credit card; takes 30 seconds.

Sign up free