Payment QR Code Generator (UPI, PayPal, Bitcoin)
Create a payment request QR code for UPI, PayPal.me, Bitcoin (BIP-21), Ethereum (EIP-681), Litecoin, Bitcoin Cash or Dogecoin, with address checks.
A payment QR code saves the payer from typing a UPI ID or a 34-character wallet address. This generator builds the standard request link for each system — UPI, PayPal.me, Bitcoin, Ethereum, Litecoin, Bitcoin Cash or Dogecoin — checks the address for typos, draws the code and decodes it again. The code only encodes a payment request: no money moves until the payer confirms it in their own app, and nothing you type leaves your browser.
How to use this tool
- Pick the payment type.
- Paste your UPI ID, PayPal.me name or receiving wallet address, and the payee name or label.
- Optionally add an amount (rupees for UPI, the chosen currency for PayPal, coins for crypto) and a note.
- Keep the checksum check on, then download the code and scan it once with your own app before printing.
Formula
upi://pay?pa=VPA&pn=Name&am=100.00&cu=INR&tn=Note · https://paypal.me/name/25USD · bitcoin:ADDRESS?amount=0.001&label=…&message=… · ethereum:0xADDRESS?value=WEI
UPI follows the NPCI linking spec (amount with two decimals, currency INR). Bitcoin, Litecoin, Bitcoin Cash and Dogecoin use BIP-21 style links with the amount in coins (up to 8 decimals). Ethereum uses EIP-681 with the value in wei (1 ETH = 10^18 wei). Names and notes are percent-encoded as UTF-8. Addresses are checked with base58check, bech32/bech32m (BIP-173/350), CashAddr or EIP-55.
Example
UPI ID shop@okaxis, name Shop and amount 100 give upi://pay?pa=shop@okaxis&pn=Shop&am=100.00&cu=INR. A request for 0.001 BTC to the BIP-173 example address becomes bitcoin:bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4?amount=0.001, and 2.014 ETH is written as value=2014000000000000000.
Frequently asked questions
Does scanning the code pay automatically?
No. It opens the payer's app with the details filled in; they still review and confirm the payment.
Why does a wallet ignore my Ethereum amount?
Support for the EIP-681 value parameter is patchy, and many wallets open an empty send screen. Tell the payer the amount as well.
What does the checksum check catch?
Crypto addresses carry a built-in checksum, so one wrong or swapped character is detected. It cannot tell whether the address is really yours — always copy it from your own wallet.
What about SEPA bank transfers in Europe?
Use the EPC QR code generator: it writes the European Payments Council format that banking apps read.
Sources
Last updated: 2026-10-30