Make a Printable PayNow QR Code

Take the PayNow payload from your bank app, paste it in, and style the code. Export it print-ready for a counter card, a stall sign, or an invoice.

1 Content
https://
No registration required Unlimited QR codes No watermark Free high-resolution downloads
2 Design
Shape
Pattern
Eyes
3 Preview
Copied!

What Is a PayNow QR Code?

A PayNow QR code is a QR code that stores a PayNow payload - Singapore's transfer format, written in the EMVCo merchant-presented layout and carried inside the national SGQR standard. Scanning it in a Singapore banking app opens a transfer already addressed to a mobile number, an NRIC, or a business UEN, with the amount filled in if the code carries one.

The KoloQR designer with a QR code being styled - shape, colors and center logo

Two Fields No Other Payment Code Has

A PayNow payload holds more than an address and an amount. Two of its fields decide what the printed object actually does:

  • The Proxy - what the money is addressed to: a mobile number or NRIC for an individual, a UEN for a registered business. A UEN code shows the registered entity name to the payer, which a mobile number does not.
  • Editable Amount - a flag saying whether the payer may change the amount you set. Locked, it is a fixed price. Editable, it is a suggested one, which is what a donation or a tip wants.
  • Expiry Date - an optional date after which the code stops being accepted. Useful on an invoice, and the single worst field to leave set on anything laminated to a counter.

None of the three is visible in the pattern, and none of them is visible in a bank app after the code has been generated. So a printed PayNow code carries decisions you made once and cannot inspect later, which is why the sensible habit is to note them beside the file: proxy, amount, editable or locked, expiry or none. A code that quietly stopped working three months after it went on the counter is almost always an expiry date somebody set and forgot.

KoloQR Encodes the Payload Your Bank Issued

A PayNow payload is a sequence of length-prefixed fields - the SG.PAYNOW identifier and the proxy under it, currency 702 for the Singapore dollar, country SG, the amount and its editable flag - closing with a CRC16 checksum over everything before it. Change one character and the checksum fails, and the payer's app rejects the code rather than sending money to the wrong place. That is why KoloQR does not assemble a PayNow payload from a phone number: your bank app already issues a valid one. Generate the code there, take the payload string, and paste it in here to get the same payment in a pattern you control - your shape, your colours, your logo - exported at print quality. There is one case where you should not do this at all: a registered merchant is meant to display the standard SGQR label supplied to them, with its scheme logos and its printed SGQR ID. If that is you, display the label. If you are an individual, a freelancer, a society or a stallholder collecting on your own account, a styled PayNow code is yours to design.

Generate QR Code
A phone scanning a printed QR code to test it before the print run

Where PayNow QR Codes Are Used

A printed PayNow code turns up wherever a transfer is faster than a card terminal:

Hawker Stalls and Market Pitches

A laminated card clipped above the counter takes payment in the seconds before the queue moves on.

Freelance and Consultancy Invoices

A code on the PDF with the amount locked removes the step where a client mistypes a total or a reference.

Tuition, Classes and Enrichment Fees

A code on the schedule collects the term's fee without a parent asking for the number again every month.

Society, Club and CCA Collections

A code on the noticeboard collects subs and event fees against a UEN, so the entity name shows on the payer's screen.

Charity Drives and Flag Days

A code on the collection tin with an editable amount lets a donor give what they intended rather than what you guessed.

Home Businesses and Craft Fairs

One code per price on a table card, faster and less error-prone than reading a mobile number out over a busy stall.

How to Create a PayNow QR Code

From bank app to printed card in four steps:

Generate QR Code
  1. 1

    Register the Proxy You Want to Print

    Link your mobile number or NRIC to your bank account, or your UEN if you are collecting for a registered entity. A UEN shows the entity name to the payer, which is the stronger check on a public sign.

  2. 2

    Generate the Code in Your Bank App

    Open the PayNow section and generate a QR code. Set the amount and decide whether it stays editable, and leave the expiry date off for anything that will be printed.

  3. 3

    Paste the Payload and Design the Code

    Choose the PayNow type in KoloQR and paste the payload exactly as issued - no trimming, no line breaks. KoloQR recomputes the checksum and reads the payload back - proxy, name, amount - and says so when the code is a one-time one, which is not the kind to print. Then style the code, and keep contrast high; this is a code scanned across a counter in a hurry.

  4. 4

    Pay Yourself One Dollar Before Printing

    Scan the finished code with a Singapore banking app and take it to the confirmation screen. Check the name shown is yours and the amount behaves as you set it, then export SVG or PDF for print.

The KoloQR generator with a QR code being designed and ready to download

Which File Format Should You Download?

KoloQR exports your PayNow QR code in three formats. Pick by where it will be seen:

  • PNG for invoices sent by email or WhatsApp, and for a code shown on a screen at one fixed size.
  • SVG for counter cards, laminated stall signage, and stickers - anything a printer scales without softening the edges.
  • PDF for handing to a print shop, or for a price card you print and laminate yourself.

PayNow payloads sit in the middle of the payment codes for length - longer than PromptPay, shorter than a Pix code with a random key - so a mobile-proxy code with an amount usually prints at a comfortable density. The one thing that lengthens it noticeably is a long reference or merchant name, so keep those short. Print at roughly a tenth of the reading distance, and remember that a counter code is read at an angle, under a downlight, by someone holding a bag.

Generate QR Code

Best Practices for PayNow QR Codes

Printed payment codes are attacked more than any other kind, so half of this list is about the physical sign rather than the pattern on it:

  • Leave the Expiry Date Off Anything Printed

    An expiry set in the bank app is invisible on the printed code and invisible in the app afterwards. It is the most common reason a working counter code silently stops working.

  • Use a UEN Where You Have One

    A UEN code shows the registered entity name on the payer's confirmation screen, which is a far stronger check than a mobile number nobody can verify.

  • Decide Editable or Locked Deliberately

    Lock the amount on a price card so a customer cannot underpay by accident. Leave it editable on a donation tin, where a fixed figure suppresses what people would have given.

  • Print the Payee Name Beside the Code

    The payer's app names who is being paid before they confirm. Printing the same name under the code turns that screen into a check the customer can actually make.

  • Display the SGQR Label If You Have One

    A registered merchant is issued a standard SGQR label with its own printed ID. A styled code of your own is for personal and small-group collection, not a replacement for that label.

  • Watch for Stickers Placed Over Yours

    Covering a real payment code with a fraudulent one is the standard attack on unattended signage. Use tamper-evident laminate and check your own signs at the start of each day.

  • Note What Each Printed Code Contains

    Keep a line beside the file: proxy, amount, editable or locked, expiry or none. The pattern will not tell you later and neither will your bank.

  • Make It Bigger Than You Think

    Roughly a tenth of the reading distance is the floor - about 10 cm for a code read from a metre. Payment codes are scanned one-handed, at an angle, over a counter.

  • Keep the Modules Dark on Light

    Inverted or low-contrast payment codes fail in exactly the light where money changes hands. Dark on light, always, with four modules of clear quiet zone on every side.

  • Test With a Bank App, Not a Scanner App

    A generic scanner only tells you the string decoded. A Singapore banking app tells you the checksum passed, the proxy resolved, and the name on the confirmation screen is yours.

Why Your PayNow QR Code Isn't Working

A payment code fails in front of a customer who is already holding their phone, so these are worth checking before the sign goes up rather than after.

  • The Bank App Says the Code Is Invalid

    Cause
    The payload was altered after the bank issued it - a trimmed space, a line break introduced by copy-paste, or a lost character. The closing CRC16 checksum no longer matches the rest of the string.
    Fix
    Copy the payload again straight from the bank app and paste it without editing anything. Do not retype it, and do not pass it through a word processor.
  • The Code Worked for Weeks and Then Stopped

    Cause
    An expiry date was set when the code was generated. It is stored in the payload, shown nowhere afterwards, and the app simply refuses the code once the date passes.
    Fix
    Generate a fresh code with the expiry field left empty, reprint, and note on the file that this one has no expiry so the next person does not have to work it out again.
  • The Payer Can Change the Amount and Underpays

    Cause
    The editable-amount flag was left on, so the figure printed on the sign is a suggestion rather than a price.
    Fix
    Regenerate the code with the amount locked, and check the behaviour by scanning the new code yourself before it goes back on the counter.
  • A Phone Camera Reads It but Nothing Happens

    Cause
    That is expected. A PayNow payload is not a link, so a native camera has nothing to open and shows the raw characters instead.
    Fix
    Test with a Singapore banking app's scanner. If it opens a transfer addressed to you, the code is correct, whatever the camera app did with it.

Still not sure whether the fault is the file or the print? Drop the exported image into the QR code scanner - if it decodes on a desktop and not on paper, the fault entered after the file.

Questions? Answered

A PayNow QR code stores Singapore's PayNow payload in the EMVCo layout, carried inside the national SGQR standard. Scanning it in a Singapore banking app opens a transfer addressed to a mobile number, an NRIC, or a business UEN.

No. A PayNow payload ends in a checksum the payer's bank validates, so it has to come from a source the scheme trusts. Generate it in your bank app, then use KoloQR to encode, style and print that exact payload.

PayNow is the transfer service; SGQR is Singapore's unified QR label standard that can carry PayNow alongside other schemes on one printed label. A PayNow code is one scheme inside that container.

A UEN if you are collecting for a registered entity, because the payer's app shows the entity name. A mobile number for personal collection. An NRIC works but publishes an identity number on anything you print.

Only if the code says so. PayNow payloads carry an editable-amount flag set when the code is generated. Lock it for a fixed price, leave it editable for donations where a fixed figure would cap what people give.

It can. PayNow payloads have an optional expiry date, set when the code is generated and invisible afterwards. Leave it empty for anything printed, or the sign stops taking money on a date nobody remembers.

A PayNow payload is not a link, so a native camera has nothing to open and usually shows the raw string. That is not a fault in the code. Test it with a Singapore banking app instead.

Sometimes. Cross-border links connect PayNow to schemes such as Thailand's PromptPay and India's UPI, but coverage depends on the payer's bank and country. Keep a second payment route rather than assuming every foreign phone can pay.

About a tenth of the reading distance, so roughly 10 cm for a code read from a metre away. Counter codes are read at an angle under a downlight, so err generously rather than trimming the code to fit.

Yes. Keep it under roughly a fifth of the code's width, keep the payload short by using a brief merchant name, and test the printed proof with a banking app rather than trusting the on-screen preview.

Why KoloQR?

  • Create QR codes for websites, menus, Wi-Fi, PDFs, and business cards
  • Customize colors, logos, and unique shapes
  • Download high-quality PNG and SVG files
  • Built for both print and digital
Generate QR Code
A plain black QR code beside the same code restyled as a circle with brand colors