Generate a BIP-21 / EIP-681 payment QR for any Ethereum, Bitcoin or Solana address. Auto-detects chain, optional amount and label. Download PNG.
Paste any wallet address and a payment QR code appears immediately, sized at 300 px by default and ready to screenshot or download. On first load the tool seeds itself with 0xB8C99b58a8c5612a6fc965Bd8ac57225E337Bb37, an EIP-55 checksummed Ethereum address, and encodes it as ethereum:0xB8C99b58a8c5612a6fc965Bd8ac57225E337Bb37 inside the QR. Paste a different address and the chain is detected automatically: 0x plus 40 hex digits is Ethereum/EVM, a bc1q bech32 string is Bitcoin native SegWit, a 1… or 3… base58 string is Bitcoin Legacy or P2SH, and a 43–44-character base58 string that matches none of those patterns is treated as Solana. Unknown addresses encode as bare strings.
The QR engine is the same ISO/IEC 18004 implementation used by the site's standalone QR Code Generator: Reed-Solomon error correction at level M, versions 1–7, mask pattern 0, alignment patterns and version-information blocks for version 7. Nothing is uploaded; the canvas is drawn entirely in your browser tab, and the PNG download is generated from that same canvas.
Two colour pickers let you change the module colour and the background independently. Black on white is the most reliably scannable combination, but any pair with sufficient contrast works. The contrast floor most QR readers need is roughly a 4:1 luminance ratio, the same threshold WCAG AA requires for body text.
0x prefix for EVM addresses; omitting it shifts the detector to “Other” and emits a bare string that most wallet apps will not parse as a payment request.?value=<n>e18; for Bitcoin it becomes ?amount=<btc> per BIP-21. Enter the human unit (0.05 for 0.05 ETH) and the tool handles the unit conversion. A QR without an amount lets the payer enter their own figure.?label=…. It appears in the wallet app's confirmation screen, not in any on-chain field. Adding a long label pushes the total URI past the version-7 capacity of roughly 120 bytes and triggers the error URI too long for QR code; shorten it if that fires.bitcoin: URI scheme. The amount parameter is in BTC (not satoshis), accepting up to 8 decimal places.ethereum: scheme. The value parameter is in Wei, which is why the tool multiplies your ETH input by 1018. MetaMask, Rainbow and most EVM wallets parse this scheme correctly.solana: URI scheme from the SPL Token Register. Amount and label are not appended for Solana addresses in this tool because the parameter names differ by token and encoding them incorrectly causes wallet apps to reject the request with no visible error.Detected: Ethereum / EVMURI scheme: ethereum:
Size
Encoded URI
ethereum:0xB8C99b58a8c5612a6fc965Bd8ac57225E337Bb37