Free QR generator — no registration
Create a payment code for the banking standard you need
Generate payment payloads for VietQR, PromptPay, Pix, UPI, EPC, PayNow, Swiss QR-bill, SPAYD, PAY by square, HUB-3, NBS IPS and UPN from one place.
- 12 market-specific formats
- Recipient and amount validation
- No payment credentials are stored
Choose the payment code your customer's banking app understands
A payment QR is not one universal format. Choose the standard used by the receiving bank and the payer's market, then verify the recipient and amount in a compatible banking app.
VietQR code
Enter a NAPAS member bank BIN, receiving account, optional VND amount and transfer message to create a VietQR payload for NAPAS 247.
PromptPay QR code
Create a Thai PromptPay QR from a registered mobile number, national or tax ID, or supported e-wallet ID, with an optional fixed THB amount.
Pix QR code
Generate a Brazilian Pix BR Code from an email, phone, CPF, CNPJ or EVP key, with an optional BRL amount, txid and description.
UPI QR code
Turn a UPI ID into a scan-to-pay QR with the payee name and optional INR amount, note and reference for supported UPI apps in India.
EPC QR / GiroCode
Prepare beneficiary, IBAN, optional BIC, EUR amount, purpose and reference in the EPC QR format used by compatible European banking apps.
PayNow QR code
Generate a PayNow-compatible SGQR payload from a registered Singapore mobile proxy or company UEN, with optional SGD amount and reference.
Swiss QR-bill code
Generate the fixed Swiss QR code payload with Swiss cross for CHF or EUR using a Swiss IBAN or QR-IBAN, structured creditor address and compatible reference.
SPAYD QR Platba
Build a Czech Short Payment Descriptor from IBAN, amount, currency, variable symbol, due date and message.
PAY by square
Encode a Slovak EUR payment with beneficiary, IBAN, amount, variable symbol, due date and note in the PAY by square format.
HUB-3 PDF417 barcode
Generate the official line-based Croatian HUB-3 payment payload and render it as PDF417—not QR—with EUR amount, HR IBAN, model, reference and purpose.
NBS IPS QR code
Generate a Serbian IPS QR payload with 18-digit account, recipient, RSD amount, payment code, purpose, payer and optional reference.
UPN QR code
Generate a UPN QR payload with EUR amount, recipient, IBAN, SI or RF reference, purpose code, description and due date.
Learn more
There is no single QR format accepted by every banking app
A square barcode can contain a web address, plain text or a structured banking payload. Payment apps only recognize the structures they support. Start with the country and receiving account, not with the visual appearance of the code.
Choose the correct market first
The country pages explain which account identifier, currency and banking app are expected for each format.
Reduce manual entry
A compatible app reads the recipient, amount and reference instead of asking the payer to copy long account details.
Keep approval with the payer
The code prepares a transfer; the payer must still verify the beneficiary and authorize payment in their bank or wallet.
Inside the QR code
What this generator does—and does not do
The generator validates the visible fields and encodes them in the selected market format. It does not open an account, register a payment proxy, check account ownership or confirm settlement.
The payload depends on the payment scheme
Some formats use EMVCo Tag-Length-Value data, some use lines or key-value pairs, and PAY by square uses compressed binary data.
The barcode type can also differ
Most entries use QR, but Croatia's HUB-3 uses PDF417. Swiss QR-bill requires a Swiss cross, while UPN fixes the QR version and character encoding.
A checksum only protects the payload structure
CRC or another checksum can detect damaged data. It cannot prove that the beneficiary is trustworthy or that money arrived.
Banking apps remain the final authority
Support varies by bank and app version. Always test with the same apps and account type your real payers will use.
Typical payment-code flow
Country, receiving identifier, amount and reference — Market-specific payment payload with required validation — A compatible app displays the payment for the payer to verify and authorize.
Check before publishing
- Choose the standard used by the receiving account, not merely the payer's location.
- Verify every digit of the account, proxy, IBAN and reference before generating.
- Scan with a banking app that officially supports the selected standard.
- Compare the displayed beneficiary and amount before approving payment.
- Test the final printed size, contrast and surrounding clear space.
- Confirm receipt from the receiving account rather than a screenshot.
A safe workflow for publishing payment codes
A syntactically valid code can still contain the wrong account or be unsupported by a particular app.
Start from official bank details
Copy the receiving identifier from the bank or payment-provider account rather than from an old sign or chat message.
Generate a small test payment
Check the resolved beneficiary and actual receipt before putting the code on invoices, counters or packaging.
Show human-readable details nearby
Print the recipient, currency and expected amount or invoice reference beside the code so the payer can compare.
Protect physical displays
Inspect public codes for replacement stickers and regenerate them whenever the underlying account changes.
Features
Features
Scheme-specific validation
Account identifiers, amount formats, references and field lengths are checked for the selected payment standard.
Generated locally
The payment payload and barcode are created in the browser; the generator does not move money or register an account.
PNG and SVG exports
Download a raster image for everyday use or a scalable vector for invoices and high-quality print.
Protected fixed formats
Standards with prescribed rendering disable incompatible color, logo, shape and error-correction controls.
Optional payment context
Where the scheme permits it, prepare an amount, reference, due date or message to reduce payer entry.
Verification remains visible
The workflow reminds the payer to compare the beneficiary and amount in a compatible banking app.
Advantages & Limitations
Advantages
- One starting point for several open and interoperable payment formats.
- Reduces typing of long account identifiers and references.
- Can prepare an amount where the selected scheme permits it.
- Creates the payload locally in the browser.
Limitations
- A code for one market may be plain text to an unsupported banking app.
- The generator cannot verify account ownership or payment status.
- Merchant callbacks and reconciliation require a bank or payment provider.
- Physical codes can be replaced, so the payer must verify the beneficiary.
How payment codes work
From payment details to a bank-app confirmation screen
A square barcode can contain a web address, plain text or a structured banking payload. Payment apps only recognize the structures they support. Start with the country and receiving account, not with the visual appearance of the code.
Choose the payment standard
Match the format to the receiving bank account and the app your payer will use.
Enter and verify payment details
Add the recipient identifier, amount and reference required by that scheme.
Scan, compare and publish
Test in a compatible app and compare the beneficiary and amount before sharing the code.
Use cases
Use cases
Invoices
Prepare account, amount and reference data so customers do not have to retype it.
Retail counters
Display a payment code that matches the domestic apps used by local customers.
Events and donations
Offer a reusable code without a fixed amount where the scheme permits payer-entered values.
Cross-border operations
Publish different market formats instead of assuming one domestic code will work everywhere.
Frequently asked questions
Can one payment QR work in every country?
Does creating a code move money?
Can QRCode GEN confirm the recipient?
Why are styling controls disabled for some formats?
Create a payment code for your market
Choose the standard, test it with a compatible banking app and verify the beneficiary before publishing.
Create a payment QR