Skip to main content
Nexora QRFree QR codes, ready to use. No account needed.

PromptPay QR code generator

Enter the PromptPay number registered to your bank account and get a payment QR code straight away, with a fixed amount or left open for the sender to fill in. Everything is computed in your browser — your mobile number and national ID never reach our servers.

QR content

Fill this in and the preview updates as you type.

Where the money goes

Must already be registered for PromptPay with your bank.

Appearance

Colours, shapes, quiet zone and a centre logo.

Colours

Shapes

Scan reliability

4 modules

The standard requires at least 4 modules. Below that, scanners cannot find the code at all.

Higher survives more smudging and creasing, at the cost of a denser symbol.

Centre logo

An image up to 512 KB. A transparent PNG works best.

The logo is read in your browser only. Nothing is uploaded.

Preview

Fill in the form to see your QR code.

Scan quality check

Recommended print size

Print it at least 6.3 cm wide to scan from 0.5 m away

A 1024 px file prints up to 8.6 cm wide at press quality (300 dpi)

SVG and PDF are vector files — they stay sharp at any size

Download

The PDF centres the code on A4 at 50 mm wide.

Fill in the form before downloading.

Everything is generated in your browser. Your content and your logo are never uploaded.

How to use it

  1. Choose the target type

    A mobile number is the most common choice and the safest one for a code on public display. Use the 13-digit national ID (or tax ID) when payment has to be tied to a person or a registered business, and the 15-digit e-wallet number when you collect into an e-money account rather than a bank account.

  2. Enter the number exactly as registered

    Mobile numbers can be typed as 0812345678 or +66812345678 — both normalise to the same standard form. What matters is that the number is actually registered with PromptPay: an unregistered one still produces a valid code, but banking apps will report that no recipient was found.

  3. Decide whether to set an amount

    Leave it blank for a code you display permanently and reuse, such as a counter sign. Set an amount only for a one-off charge like an invoice, because adding an amount marks the code as single-use.

  4. Verify it with a real banking app

    Open your bank's app, use its scan option, and check that the recipient name is right and the amount matches your intent. Go as far as the confirmation screen and then cancel — no actual transfer is needed to verify the code.

  5. Download the right format

    SVG or PDF for counter signs and stickers, where crisp module edges survive enlargement. PNG at 1024 px is plenty for sending an invoice over chat.

Mobile number, national ID or e-wallet?

All three deliver to the same account; the difference is which identifier is visible inside the code. A mobile number is best for anything on public display — if it is ever misused you can simply unregister it. A national or tax ID suits payments that must reference a specific person or registered business. The 15-digit e-wallet number applies when you collect into an e-money account. If you are unsure which identifiers are registered, check the PromptPay section of your banking app first.

What setting an amount changes — and why you cannot see it

A PromptPay code contains a small field stating whether it is reusable or single-use. With no amount, that field says reusable. Add an amount and the standard requires it to flip to single-use. The catch is that the two are visually identical: nothing in the printed pattern reveals which one you are holding. Shops routinely print a code that carries a fixed amount, mount it as a permanent sign, and are then baffled that some transfers are refused or that every customer pays the same figure. The rule is simple — permanent signage carries no amount; per-customer invoices do.

Reading the code with a Thai banking app

Every Thai banking app has a scan button on its home screen. Once scanned, the app shows the recipient name, partly masked as banks require. Check two things: that the recipient is who it should be, and whether the amount field arrives pre-filled or open for input. If you intended a reusable code and the app pre-fills an amount, you left a figure in the amount field — clear it and regenerate.

Your identifier is never sent to us

The entire PromptPay calculation — assembling the EMVCo data objects and computing the checksum that closes the payload — happens in your browser. No request is made to our servers while the code is generated, so your mobile number, national ID and amount never leave your device. We hold no copy, keep no log, and could not retrieve one if you asked. That is a real difference from generators that post your details to a server and send back an image.

Frequently asked questions

Do I need to register with PromptPay first?

Yes. We can only build a code pointing at the number you type; linking that number to a deposit account is something your bank does. If you have never registered, do it in the PromptPay section of your banking app first — codes generated here then work immediately.

Can a code with an amount be reused?

Not per the standard. Once an amount is present the code is marked single-use. Some banking apps enforce that strictly and refuse a second payment while others let it through, so the behaviour depends on the sender's bank. For a code you display at a counter, leave the amount blank and let the customer type it.

Is it safe to put a national ID code on public display?

We would not recommend it. The identifier is stored as text inside the symbol, so anyone who photographs the code and opens it with an ordinary QR reader sees all 13 digits of your national ID. For anything publicly visible, use a mobile number instead — far less damaging if it leaks, and you can unregister it at any time. Keep national-ID codes for one-to-one exchanges with counterparties.

Are there any fees?

We charge nothing to generate a code and are not part of the payment at all — funds move from the sender's account to yours through PromptPay directly. Any fees are set by the sender's bank. Check with your own bank for high-value or business collections.

How is this different from a merchant QR from my bank?

This page produces a personal PromptPay code, pointing at a registered mobile number, national ID or e-wallet. A merchant code issued by a bank carries a bank-assigned merchant identifier and is normally wired into the bank's payment-notification service. If you need automatic receipts, sales reconciliation or merchant alerts, request a merchant code from your bank — this page cannot produce one.

How do I confirm the code is correct?

Scan it with a banking app and go through to the confirmation screen, which displays the recipient account name and the amount. If both are right, cancel without transferring. Seeing the correct recipient name is proof that the identifier inside the code is correct.

Does a PromptPay QR code expire?

The code itself has no expiry. It works for as long as the target identifier stays registered to your account. Change your mobile number or unregister it from PromptPay and every printed code stops working immediately — worth remembering before you reprint signage in volume.