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?

No. Payment schemes, currencies, identifiers and supported apps differ. Choose the receiving market's format.

Does creating a code move money?

No. It only prepares payment data. The payer authorizes the transfer in a compatible app.

Can QRCode GEN confirm the recipient?

No. The banking app may resolve and display the beneficiary; the payer must verify it.

Why are styling controls disabled for some formats?

HUB-3, Swiss QR-bill and UPN define barcode presentation details. Changing them can break compliance or scanning.

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