Crypto Address QR Code Generator

Turn a wallet address into a scannable QR code for fast payments.

Free crypto address QR code generator for Bitcoin, Ethereum, Litecoin and Dogecoin. Encode a wallet address with optional amount into a scannable code. Runs entirely in your browser — nothing is uploaded. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

Which wallet formats does this support?

It builds standard payment URIs (such as bitcoin:address?amount=…) for Bitcoin, Ethereum, Litecoin and Dogecoin, plus a raw mode that encodes any address verbatim for other chains.

This generator turns a crypto wallet address into a scannable QR code, encoded as a standard payment URI so a payer can scan it and have the address — and optionally the amount and label — prefilled in their wallet app. It supports Bitcoin, Ethereum, Litecoin and Dogecoin, plus a raw mode for any other chain. Always use your public receiving address; never a private key or seed phrase.

How the payment-URI QR is built

For a supported coin the tool builds a BIP-21 / EIP-681 style payment URI: the coin’s scheme, a colon, your address, then any optional parameters as a query string. For example bitcoin:address?amount=0.05&label=Shop. The amount and label are URL-encoded so special characters are handled correctly. In raw mode it encodes the address exactly as entered, for chains without a standard URI scheme. That string is then rendered into a QR code you can download as PNG or SVG.

Payment URI standards by chain

Each supported chain has its own registered URI scheme that wallet apps recognise when they scan a QR code:

ChainURI schemeStandard
Bitcoinbitcoin:BIP-21
Ethereumethereum:EIP-681
Litecoinlitecoin:BIP-21 derived
Dogecoindogecoin:BIP-21 derived

When a user scans a bitcoin: QR code with a compatible wallet app, the wallet pre-populates the send screen with the address, and any amount or label you included. The payer still confirms and broadcasts the transaction themselves — the QR code cannot authorise a payment or move funds automatically.

Worked example: donation page

For a Bitcoin address on a donation page with no fixed amount, leave the amount field blank. The generated payload is simply:

bitcoin:bc1qexampleaddresshere

Scanning this opens the wallet’s send screen addressed to your receiving address, and the donor enters whatever amount they choose. If you set a suggested amount of 0.001 BTC and a label of “Thank you”, the payload becomes:

bitcoin:bc1qexampleaddresshere?amount=0.001&label=Thank%20you

The %20 is the URL-encoding of the space character, handled automatically.

When to use the amount field and when to leave it blank

Setting a fixed amount is ideal for invoices and fixed-price retail payments — it prevents keying errors and speeds up the payer’s process. For donations, tips, and any payment where the payer chooses the amount, leaving it blank gives more flexibility.

One practical note: the amount field in BIP-21 is denominated in the base coin unit (BTC, LTC, DOGE), not in a fiat currency. If you want to request a specific fiat-equivalent amount, you would need to calculate the coin amount at current market rates and embed that, accepting that the rate may shift slightly by the time the payer scans.

Details that make or break a payment QR

  • Uppercase bech32 addresses make smaller QR codes. For native-SegWit Bitcoin addresses (bc1…), BIP-173 explicitly permits the all-uppercase form, which lets QR encoders use the compact alphanumeric mode instead of byte mode — producing a visibly less dense code that scans more reliably from screens and print. Mixed-case bech32 is invalid; use all-lower or all-upper, never a blend.
  • Ethereum amounts in EIP-681 are in wei. The value parameter is denominated in atomic units (1 ETH = 10^18 wei), not ether. A hand-built URI with value=0.05 is malformed; wallets that accept a decimal ETH amount are being lenient. This is a common source of “the amount didn’t prefill” bugs.
  • Tokens are not the chain coin. A QR of your Ethereum address works for ETH, but an ERC-20 payment (USDC, USDT) needs the token contract in the URI — a plain address QR leaves the token choice to the payer. Label the QR with what you expect to receive.
  • Memo/destination-tag chains need more than the address. XRP, Stellar, and exchange deposits often require a memo or tag; encoding only the address in raw mode can send funds into a support-ticket black hole. Include the memo in the label, or better, use the chain’s own URI format.
  • Test-scan before you print. Scan the finished code with two different wallet apps and verify the full address character-by-character against your wallet. Print-shop rescaling and low error-correction settings are the classic causes of codes that scan to nothing — or worse, that were swapped by malware on a compromised machine (clipboard-hijacking trojans that replace crypto addresses are a documented attack class).

Privacy and security

Paste your public receiving address, optionally set an amount and label, then download the code as PNG or SVG. Everything runs in your browser, so your address never leaves your device. A receiving address is public information — sharing it is safe. Never enter a private key, seed phrase, or any secret credential into any QR code tool.

Sources and references

Maintained by the Gera Tools editorial team. The tool encodes a public receiving address into a standard payment URI and renders it locally; it cannot move funds or authorise a payment. Never encode a private key or seed phrase. Last reviewed 2026-07-02.