{"id":68915,"date":"2026-10-31T08:22:05","date_gmt":"2026-10-31T02:52:05","guid":{"rendered":"https:\/\/www.quickonlinetips.com\/archives\/tools\/upi-qr-code-generator\/"},"modified":"2026-10-31T20:22:31","modified_gmt":"2026-10-31T14:52:31","slug":"upi-qr-code-generator","status":"publish","type":"page","link":"https:\/\/www.quickonlinetips.com\/archives\/tools\/upi-qr-code-generator\/","title":{"rendered":"UPI QR Code Generator: Free Payment QR for Any UPI ID"},"content":{"rendered":"<p>This free <strong>UPI QR code generator<\/strong> makes a payment QR code for any UPI ID in seconds. Add your name and, if you like, a fixed amount and a note, then download the QR code or a printable payment card for your shop, stall, rent or event. Anyone can scan it with a UPI app to pay you.<\/p>\n<div class=\"qt-tool\" id=\"qt-upi\">\n<p class=\"qt-label\" style=\"font-size:1.15em;margin:0 0 10px\"><strong>Step 1:<\/strong> Enter your UPI ID and name<\/p>\n<div class=\"qt-grid\" style=\"margin-top:0;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))\">\n<div class=\"qt-field\"><label for=\"qt-upi-pa\">UPI ID (required)<\/label><input type=\"text\" id=\"qt-upi-pa\" placeholder=\"yourname@bank\" autocomplete=\"off\" spellcheck=\"false\" maxlength=\"320\"><\/div>\n<div class=\"qt-field\"><label for=\"qt-upi-pn\">Name shown to the payer<\/label><input type=\"text\" id=\"qt-upi-pn\" placeholder=\"Your name or shop name\" maxlength=\"50\"><\/div>\n<div class=\"qt-field\"><label for=\"qt-upi-am\">Amount in rupees (optional)<\/label><input type=\"number\" id=\"qt-upi-am\" min=\"0\" step=\"0.01\" placeholder=\"Leave empty to let them type it\"><\/div>\n<div class=\"qt-field\"><label for=\"qt-upi-tn\">Note (optional)<\/label><input type=\"text\" id=\"qt-upi-tn\" placeholder=\"e.g. Rent for May\" maxlength=\"50\"><\/div>\n<\/div>\n<p><canvas class=\"qtx-cv\" id=\"qt-upi-cv\" width=\"640\" height=\"640\" style=\"width:280px\" aria-label=\"Your UPI QR code\"><\/canvas><\/p>\n<p class=\"qt-status\" id=\"qt-upi-status\" aria-live=\"polite\">\n<p class=\"qt-label\" style=\"font-size:1.15em;margin:18px 0 10px\"><strong>Step 2:<\/strong> Download your QR code or card<\/p>\n<div class=\"qt-row\"><button type=\"button\" class=\"qt-btn qt-btn-big\" id=\"qt-upi-png\">Download QR code<\/button><button type=\"button\" class=\"qt-btn qt-btn-ghost\" id=\"qt-upi-print\">Download printable card<\/button><button type=\"button\" class=\"qt-btn qt-btn-ghost\" id=\"qt-upi-copy\">Copy payment link<\/button><span class=\"qt-status\" id=\"qt-upi-copied\" aria-live=\"polite\"><\/span><\/div>\n<p class=\"qt-note\" style=\"overflow-wrap:anywhere\">Payment link: <span id=\"qt-upi-link\"><\/span><\/p>\n<p><canvas id=\"qt-upi-card\" hidden><\/canvas><\/p>\n<p class=\"qt-note\"><strong>Private and safe:<\/strong> the QR code is made in your browser. Your UPI ID is not sent to QuickOnlineTips or stored. A UPI QR code can only receive money, never take it, and most UPI apps show the account holder&#8217;s name before the payment is made. QuickOnlineTips is not affiliated with NPCI or any bank or UPI app.<\/p>\n<\/div>\n<p><script>(function () { function qtReady(fn) { if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', fn); } else { fn(); } } function qtCopy(text, statusEl, okMsg) { function done(ok) { if (statusEl) { statusEl.textContent = ok ? (okMsg || 'Copied to clipboard.') : 'Press Ctrl+C (or Cmd+C) to copy.'; } } function fallback() { var ta = document.createElement('textarea'); ta.value = text; ta.setAttribute('readonly', ''); ta.style.position = 'fixed'; ta.style.top = '-1000px'; document.body.appendChild(ta); ta.select(); var ok = false; try { ok = document.execCommand('copy'); } catch (e) { ok = false; } document.body.removeChild(ta); done(ok); } if (navigator.clipboard) { if (window.isSecureContext) { navigator.clipboard.writeText(text).then(function () { done(true); }, fallback); return; } } fallback(); } function qtRand32() { var c = window.crypto || window.msCrypto; if (c) { if (c.getRandomValues) { var a = new Uint32Array(1); c.getRandomValues(a); return a[0]; } } return Math.floor(Math.random() * 4294967296); } function qtRandInt(range) { if (range === 4294967296) { return qtRand32(); } var limit = Math.floor(4294967296 \/ range) * range; var x = qtRand32(); while (x >= limit) { x = qtRand32(); } return x % range; } function qtLoad(urls, test, cb) { if (test()) { cb(true); return; } var i = 0; function next() { if (i >= urls.length) { cb(false); return; } var s = document.createElement('script'); s.src = urls[i++]; s.async = true; s.onload = function () { if (test()) { cb(true); } else { next(); } }; s.onerror = next; document.head.appendChild(s); } next(); } function qtSave(blob, name) { var a = document.createElement('a'); a.href = URL.createObjectURL(blob); a.download = name; document.body.appendChild(a); a.click(); setTimeout(function () { URL.revokeObjectURL(a.href); a.remove(); }, 1500); } qtReady(function () { var root = document.getElementById('qt-upi'); if (!root) { return; } var A = String.fromCharCode(38); function $(id) { return document.getElementById('qt-upi-' + id); } var pa = $('pa'), pn = $('pn'), am = $('am'), tn = $('tn'), cv = $('cv'), st = $('status'), link = $('link'), cp = $('copied'), card = $('card'); var ready = false, cur = ''; var VPA = \/^[A-Za-z0-9._-]{2,256}@[A-Za-z][A-Za-z0-9.-]{1,63}$\/; function say(t, bad) { st.textContent = t; st.classList.toggle('qt-error', !!bad); } function build() { var v = pa.value.trim(), n = pn.value.trim().slice(0, 50), a = am.value.trim(), note = tn.value.trim().slice(0, 50); if (!v) { return { err: 'Enter your UPI ID, for example yourname@bank.' }; } if (!VPA.test(v)) { return { err: 'That does not look like a UPI ID. It should look like name@bank, with no spaces.' }; } var u = 'upi:\/\/pay?pa=' + encodeURIComponent(v); if (n) { u += A + 'pn=' + encodeURIComponent(n); } if (a) { var x = parseFloat(a); if (!isFinite(x)) { return { err: 'Enter the amount as a number, like 250 or 99.50.' }; } if (0 >= x) { return { err: 'Enter the amount as a number, like 250 or 99.50.' }; } u += A + 'am=' + x.toFixed(2); } u += A + 'cu=INR'; if (note) { u += A + 'tn=' + encodeURIComponent(note); } return { u: u }; } function draw() { var r = build(), cx = cv.getContext('2d'); cx.clearRect(0, 0, cv.width, cv.height); link.textContent = ''; if (r.err) { say(r.err, !!pa.value.trim()); cur = ''; return; } if (!ready) { say('Loading the QR code maker...'); return; } var qr; try { qr = window.qrcode(0, 'M'); qr.addData(r.u, 'Byte'); qr.make(); } catch (e) { say('Too much text for one QR code. Shorten the name or note.', true); return; } var n = qr.getModuleCount(), q = 4, sz = 640, cell = Math.floor(sz \/ (n + q * 2)), off = Math.floor((sz - cell * n) \/ 2); cv.width = sz; cv.height = sz; cx.fillStyle = '#ffffff'; cx.fillRect(0, 0, sz, sz); cx.fillStyle = '#000000'; for (var y = 0; n > y; y++) { for (var x = 0; n > x; x++) { if (qr.isDark(y, x)) { cx.fillRect(off + x * cell, off + y * cell, cell, cell); } } } cur = r.u; link.textContent = r.u; say('Done. Scan it with your own UPI app to test before you print or share it.'); } [pa, pn, am, tn].forEach(function (el) { el.addEventListener('input', draw); }); $('png').addEventListener('click', function () { if (cur) { cv.toBlob(function (b) { qtSave(b, 'upi-qr-code.png'); }, 'image\/png'); } else { draw(); } }); $('copy').addEventListener('click', function () { if (cur) { qtCopy(cur, cp, 'Payment link copied.'); } }); $('print').addEventListener('click', function () { if (!cur) { draw(); return; } var W = 1200, H = 1650, c = card, x = c.getContext('2d'); c.width = W; c.height = H; x.fillStyle = '#ffffff'; x.fillRect(0, 0, W, H); x.fillStyle = '#1E3A8A'; x.fillRect(0, 0, W, 190); x.fillStyle = '#ffffff'; x.textAlign = 'center'; x.font = 'bold 72px Arial, sans-serif'; x.fillText('Scan and pay', W \/ 2, 125); x.drawImage(cv, 160, 240, 880, 880); x.fillStyle = '#111827'; x.font = 'bold 64px Arial, sans-serif'; var name = pn.value.trim() || pa.value.trim(); x.fillText(name.slice(0, 32), W \/ 2, 1230); x.font = '48px Arial, sans-serif'; x.fillStyle = '#374151'; x.fillText(pa.value.trim(), W \/ 2, 1310); if (am.value.trim()) { x.font = 'bold 60px Arial, sans-serif'; x.fillStyle = '#065F46'; x.fillText('Amount: Rs ' + parseFloat(am.value).toFixed(2), W \/ 2, 1405); } x.font = '40px Arial, sans-serif'; x.fillStyle = '#6B7280'; x.fillText('Pay with any UPI app', W \/ 2, 1520); c.toBlob(function (b) { qtSave(b, 'upi-payment-card.png'); }, 'image\/png'); }); qtLoad(['https:\/\/unpkg.com\/qrcode-generator@1.4.4\/qrcode.js', 'https:\/\/cdn.jsdelivr.net\/npm\/qrcode-generator@1.4.4\/qrcode.js'], function () { return typeof window.qrcode === 'function'; }, function (ok) { ready = ok; if (!ok) { say('The QR code maker could not load. Check your connection and refresh the page.', true); return; } draw(); }); }); })();<\/script><\/p>\n<div class=\"qt-next\">\n<p class=\"qt-next-h\">Try another free tool<\/p>\n<div class=\"qt-next-g\"><a href=\"https:\/\/www.quickonlinetips.com\/archives\/tools\/qr-code-generator\/\">QR Code Generator<\/a><a href=\"https:\/\/www.quickonlinetips.com\/archives\/tools\/number-to-words\/\">Number to Words<\/a><a href=\"https:\/\/www.quickonlinetips.com\/archives\/tools\/sales-tax-calculator\/\">GST Calculator<\/a><a href=\"https:\/\/www.quickonlinetips.com\/archives\/tools\/loan-calculator\/\">EMI Calculator<\/a><a href=\"https:\/\/www.quickonlinetips.com\/archives\/tools\/discount-calculator\/\">Discount Calculator<\/a><a href=\"https:\/\/www.quickonlinetips.com\/archives\/tools\/barcode-generator\/\">Barcode Generator<\/a><\/div>\n<\/div>\n<p><strong>Quick answer:<\/strong> Type your UPI ID (like yourname@bank) and your name. The QR code appears at once. Add an amount to fix the price, or leave it empty so the payer types the amount. Press <strong>Download QR code<\/strong> or <strong>Download printable card<\/strong>, and scan it with your own UPI app once to test it.<\/p>\n<h2>How to make a UPI QR code<\/h2>\n<ol>\n<li>Enter your <strong>UPI ID<\/strong>. You can find it in your UPI app&#8217;s profile or bank account section.<\/li>\n<li>Enter the <strong>name<\/strong> to show to the payer, such as your name or shop name.<\/li>\n<li>Optionally enter an <strong>amount<\/strong> in rupees and a short <strong>note<\/strong>, such as an invoice number.<\/li>\n<li>Download the QR code, or the printable card with your name and UPI ID under the code.<\/li>\n<li><strong>Test it:<\/strong> scan it with your own UPI app and check that your correct name appears before you print or share it.<\/li>\n<\/ol>\n<h2>Fixed amount or open amount?<\/h2>\n<p>Leave the amount empty for a shop counter or a tip jar, so each customer types what they owe. Add an amount for a fixed price, such as a ticket, a fee or a monthly rent payment, so the payer cannot get it wrong.<\/p>\n<h2>Is it safe to share a UPI QR code?<\/h2>\n<p>Yes. A payment QR code like this one contains only your UPI ID, name and optional amount, so it can only be used to send money to you. Remember the reverse too: you never need to scan a QR code or enter your UPI PIN to <em>receive<\/em> money. If someone asks you to scan a code to get paid, it is a scam.<\/p>\n<h2>FAQ<\/h2>\n<h3>Is this UPI QR code generator free?<\/h3>\n<p>Yes. It is free, with no sign-up and no limit, and the QR codes never expire.<\/p>\n<h3>Do you store my UPI ID?<\/h3>\n<p>No. The QR code is made in your browser. Your UPI ID is not sent to QuickOnlineTips or stored anywhere.<\/p>\n<h3>Which apps can scan it?<\/h3>\n<p>Any app that supports UPI payments can scan a standard UPI QR code. Ask your customers to check the name shown in their app before paying.<\/p>\n<h3>Can I make a QR code for a website link instead?<\/h3>\n<p>Yes, use our <a href=\"https:\/\/www.quickonlinetips.com\/archives\/tools\/qr-code-generator\/\">QR code generator<\/a> for links, Wi-Fi, contacts and text.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This free UPI QR code generator makes a payment QR code for any UPI ID in seconds. Add your name and, if you like, a fixed amount and a note, then download the QR code or a printable payment card for your shop, stall, rent or event. Anyone can scan it with a UPI app&#8230;<\/p>\n","protected":false},"author":7,"featured_media":0,"parent":65595,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"class_list":["post-68915","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/pages\/68915","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/comments?post=68915"}],"version-history":[{"count":2,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/pages\/68915\/revisions"}],"predecessor-version":[{"id":69180,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/pages\/68915\/revisions\/69180"}],"up":[{"embeddable":true,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/pages\/65595"}],"wp:attachment":[{"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/media?parent=68915"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}