Print the DuitNow QR you already have — bigger, clearer, with your shop name
Drop a screenshot of the code your bank gave you, or paste the code. The poster is drawn at 300 dpi on real paper, then read back to prove it still scans to the same code.
🔒 100% client-side · zero server upload
Drop a screenshot of your DuitNow QR or paste the code behind it. The poster is drawn here, in this tab.
- The code is checked: its own checksum, then the paper it needs.
- It is redrawn at 300 dpi, every module a whole pixel.
- The finished sheet is read back and compared before you download.
Test-scan this preview with your banking app — Maybank, TnG, CIMB — before you print. The poster is only as good as the code you gave it.
Nothing leaves this tab: the code is decoded, redrawn and checked in the page. No upload, no account, no tracking.
Malaysian rules & edge cases
This tool does not create a DuitNow QR, and it will not pretend to. A DuitNow QR is issued by the merchant's bank or acquirer and carries their merchant account information; a code invented in a browser would be a code no till can accept, and money is not a place to guess. So the input here is always the code you already have — the screenshot, or the long text behind it — and the output is that same payload, re-drawn for print.
Nothing in the payload is rewritten. Line breaks added by a wrapped copy-paste are removed, because they are not part of the code; the spaces inside it stay, because your shop name has spaces in it. Every other byte is kept as it was found, and the QR is re-encoded at the error-correction level you choose. The printed poster therefore pays to the same account as the card in your wallet; the only difference is the size.
The code's own checksum is checked before anything is printed. An EMVCo QR ends with a CRC-16 over its own contents. If the code was cut short by a paste, edited in a document, or read from a badly lit photo, that checksum disagrees — and the page says so instead of printing a poster that fails at the counter. Codes that are not EMVCo at all (a shop's own QR) are reported as "no checksum", not as broken; a DuitNow code that lost its checksum altogether gets its own message, because that is the shape of a paste that stopped one line early.
The finished poster is decoded again, in the page. After drawing, the tool reads its own output back with a QR decoder and compares it with the input. If a single module came out wrong, the poster says so and you should not print it. That check is the reason the download buttons appear below a green line rather than merely next to a canvas.
300 dpi and whole-pixel modules. A4 is 2480×3508 px at 300 dpi, A5 is 1748×2480, A6 is 1240×1748. Modules are rounded down to whole pixels so no edge is blurred, and the ISO 18004 quiet zone of four modules is part of the square — a QR with its border trimmed is the most common reason a printed code will not scan.
Paper is a choice, not a guess. A4 for the wall behind the counter, A5 for the till, A6 for a table card. A very dense code on A6 is still drawn, but the page warns how many millimetres each module got, because below ~0.7 mm a phone camera starts to struggle under shop lighting.
What it does not do. It does not change the amount (a DuitNow QR from a bank is static unless the bank issues a dynamic one), it does not verify that the merchant account is active, and it does not know your acquirer's rules about signboards. It makes the code you were given printable, and proves the printed code is the same code.
Before and after
Before
0002010102115204581253034585802MY5910KEDAI KOPI6004DEMO6304DC00
or the same code as a screenshot — qr-kedai-kopi.png, 1080×1080 After
kedai-kopi-duitnow-a4.pdf — A4 · 210×297 mm · 2480×3508 px · 29 modules · 4.74 mm per module
checksum ok · read back from the poster: the same 63 characters How it works
- Drop a screenshot of your DuitNow QR — or paste the code behind it, if your bank or the PayNet portal shows one. Either way the payload is read in the browser.
- Type your shop name and, if you like, one line under it. Choose the paper: A4 for the wall, A5 for the till, A6 for a table card.
- Check the green line under the preview: the poster was decoded back to the same code. Then download the 300 dpi PNG, or the print PDF at exact paper size.
FAQ
Can this tool give me a DuitNow QR if I do not have one yet?
No. DuitNow QR codes are issued by banks, e-wallets and PayNet-registered acquirers when a merchant onboards, and the code contains account information that only the issuer can sign. A QR generated here would be a picture of nothing. What this tool does is take the code you already received — often a blurry screenshot, a photo of a laminated card, or a code printed too small — and redraw it at print resolution with your shop name on it.
Where do I find the code behind my QR?
Three places usually: the merchant portal of the bank or acquirer that issued it (look for "QR string", "EMVCo payload" or an export button), the PDF or email they sent when you onboarded, or the QR image itself — drop the image here and the tool decodes it. If none of those is available, ask the acquirer for your QR payload; it is your code, and they can print it for you as well.
Why does the page talk about a checksum?
Because a truncated code is invisible to the eye and fatal at the counter. An EMVCo payload ends with a CRC-16 computed over everything before it; if a copy-paste cut the last few characters, the checksum no longer matches and the QR still looks like a perfectly good QR. Checking it takes a few lines of arithmetic and turns a silent failure into a message you can act on: get an untouched copy before printing.
Which paper should I use?
A4 for the wall behind the counter, where customers scan from a step away; A5 for the till, laminated; A6 for a table card at a café. What matters is not the paper but the module size printed on it: the page shows millimetres per module, and anything under about 0.7 mm will fight a phone camera in a dim shop. A longer code (some banks include a reference) needs more paper, not a smaller font.
Will the printed QR still pay to my account?
Yes, as long as the printed code carries the same payload — which is what the read-back check proves. The poster changes the drawing, not the bytes: same merchant account information, same checksum, same code, larger. What the tool cannot promise is that the merchant account is still active, or that the acquirer allows a DIY signboard: those are your bank's rules, and they are worth a phone call for a shopfront.