Crypto QR Code Generator
Turn a Bitcoin, Ethereum, USDT, Solana, or other wallet address into a QR code people can scan to pay you. The address is checked against the network’s own rules and the code is made in your browser.
What a crypto address QR code is
A crypto QR code is a static QR code that stores a cryptocurrency receiving address — and, for some coins, an amount in a standard payment format — so a wallet app can scan it instead of the sender typing or pasting a long address.
Pick the coin, choose the network where it matters, paste your receiving address, and you get a code that wallet apps can scan. A crypto address is 26 to over 100 characters of letters and digits that nobody can read aloud or type reliably; a QR code moves it from your screen or your sign to the sender’s wallet without a single character changing on the way.
Before the code is drawn, the address is validated with the rules of its network — checksums for Bitcoin, Litecoin, Bitcoin Cash, Dogecoin, XRP, Tron, Cardano, Polkadot, Stellar, Monero, and TON, format and length for Solana, and format plus the EIP-55 checksum for mixed-case Ethereum-style addresses (Ethereum, Avalanche C-Chain, and ERC-20 tokens such as LINK and UNI). That catches most typos and wrong-coin pastes before they end up printed. Everything happens in your browser: the address is never sent to this site, and the site never holds funds, connects to a wallet, or processes payments.
How to make a QR code for a wallet address
- 01
Choose the coin and network
Pick the coin you want to receive. For tokens that live on several blockchains — USDT and USDC above all — also pick the network your wallet or exchange gave you the address for. The two must match.
- 02
Copy your receiving address
In your wallet app, open Receive for that coin; on an exchange, open Deposit, choose the coin, then the network. Use the copy button rather than selecting the text by hand, so nothing is cut off.
- 03
Paste it and add an amount if you want
Paste the address. For Bitcoin, Litecoin, Bitcoin Cash, Dogecoin, Monero, TON, native ETH, and native SOL you can also fill in an amount, which goes into the code in the coin’s standard payment format. For everything else the code carries the address only.
- 04
Download and test it
Download the PNG or SVG and scan it with a wallet app before you print or share it. Check that the address it shows starts and ends with the same characters as yours.
What changes from coin to coin
Address formats
Each network has its own shape of address: Bitcoin starts with 1, 3, bc1q, or bc1p; Ethereum and other EVM chains use 0x followed by 40 hex characters; XRP addresses start with r; Dogecoin with D; Cardano with addr1; Tron with T; Litecoin with ltc1, M, or L; Bitcoin Cash with bitcoincash:; Polkadot with 1; Stellar with G; Monero with 4 or 8; TON with UQ or EQ. Solana addresses are base58 strings with no prefix at all.
The network matters as much as the coin
USDT and USDC exist on Ethereum, Tron, BNB Smart Chain, Solana, Polygon, Base, and others. An Ethereum address and a BNB Smart Chain address can look identical, but tokens sent on a network your wallet or exchange does not watch may be lost or very hard to recover.
Amounts in the code
Bitcoin (BIP-21), Litecoin, Bitcoin Cash, Dogecoin, Monero, TON (ton://transfer), Ethereum (EIP-681), and Solana (Solana Pay) have standard payment links that can carry an amount, and most wallets fill it in for the sender. Tokens and the other coins here have no widely supported equivalent, so the code holds the address and the sender types the amount.
Memos and destination tags
Some exchanges use one shared address for every customer and tell deposits apart with a tag or memo — XRP destination tags, Stellar memos, and TON comments are the common cases. If your deposit page shows one, the sender has to enter it too, so print it in plain text beside the code.
What validation can and cannot catch
A checksum catches nearly every typo, so a mistyped Bitcoin or XRP address is rejected. Format checks are weaker: a Solana address, or an all-lowercase 0x address, with one wrong character can still look valid. Validation also cannot tell whether the address is yours — only you can check that.
Static, so it never expires
The address is written into the pattern itself. There is no redirect, no account behind it, and no scan counter, so the code works for as long as the address does — and nobody can quietly change where it points after you print it.
Where people use crypto QR codes
- Donation pages and fundraising posters
- Invoices and payment requests
- A sign at a shop counter or market stall
- Tip jars for musicians and street performers
- Streaming overlays and video descriptions
- Conference badges and speaker slides
- Open-source project READMEs
- Business cards and email signatures
Never put a private key, seed phrase, or recovery words into a QR code — not here, not anywhere. A receiving address is safe to share; those are not, and anyone who scans them controls the funds.
Crypto payments cannot be reversed. Before printing, scan your own code with a wallet and compare the first and last six characters of the address it shows with the one in your wallet.
A common scam is to stick a different code over a printed one, so payments go to the scammer. Place printed codes where they cannot easily be covered, check them regularly, and print the address in text next to the code so payers can compare.
This site makes the image only. It is not a wallet, does not hold or move funds, and cannot see, confirm, or refund any payment made to your address.
Questions about this
It is a QR code that contains a cryptocurrency receiving address, sometimes with an amount. Someone opens their wallet app, scans it, and the address is filled in for them, so they do not have to type or paste it.
No. The address is validated and the code is drawn by JavaScript in your browser. The site uses Google Analytics to count visits and may show ads, but it never receives the address or anything else you type into the generator.
For Bitcoin, Litecoin, Bitcoin Cash, Dogecoin, Monero, TON, native ETH, and native SOL, yes — they have standard payment formats that wallets understand. For USDT, USDC, BNB, XRP, Cardano, Shiba Inu, TRX, LINK, AVAX, DOT, XLM, and UNI, the code carries the address only and the sender enters the amount.
Because the same token can exist on several blockchains, and an address on one does not receive tokens sent on another. Pick the network your wallet or exchange showed when it gave you the address.
No. The address is stored in the pattern itself, with no service in between, so the code works as long as you still control that address.
Yes. Colours must stay dark on light with enough contrast to scan, and a logo is kept small in the centre with the highest error correction, so wallets can still read every character of the address.