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.
Opens in Google Maps. Coordinates work too - "37.4224, -122.0841".
The code opens your business's "Write a review" form. Paste the Place ID, or a Google Maps link that carries one.
A UPI link carries no checksum, so a mistyped ID produces a code that scans perfectly and pays somebody else. Paste the ID from your payment app rather than typing it, and send yourself one rupee before printing.
Paste it exactly as copied. KoloQR does not assemble the payload - it encodes the one your bank issued, and checks it before you print it.
SVG, PNG, JPG • Max 2 MB
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.

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
Where PayNow QR Codes Are Used
A printed PayNow code turns up wherever a transfer is faster than a card terminal:
- 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
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
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
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.

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 CodeBest 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.
Keep Exploring
Pages that pick up where this one leaves off - the same setting, the same kind of code, or the next thing worth deciding.
Pix QR Code
Encode the Pix Copia e Cola string your bank issued as a code you can style and print.
Business Cards
The one surface where a code is read at arm's length - so it is designed into the card's layout rather than dropped in the corner of it.
Weddings
One code on the invitation, linking guests to your RSVP form, the schedule and directions, and a shared photo album afterwards.
Colored QR Codes
Put your palette on a QR code without breaking it: which color goes on the pattern, and which belongs on the frame.
URL QR Code
Send anyone straight to a web page, landing page, or link with a single scan.
Bitcoin QR Code
Turn a Bitcoin address into a code any wallet app can scan, with an optional amount.
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
