UPI QR Code Generator: Share a UPI ID or a Payment Link as a QR Code

Free, and straight about the part other generators skip: the QR code you collect money through is issued by your bank or UPI app, not by a website. Here is what a generator can honestly do for you — and it is more than nothing.

Free generatorText or link codesPNG Free · SVG/PDF PaidScan tracking on links

The generator opens on Text, which is what a UPI ID is. Paste your ID — or a upi:// string you already hold — and it is encoded exactly as entered. Nothing here validates a VPA, so copy it from your app rather than typing it.

STEP 1Enter the URL
STEP 2Customize Design
QR Code Preview
Classic
Bubble
Smooth
Sharp
Elegant
Dots
STEP 3Download your QR code
Can't be edited after download

UPI QR codes, explained

What Is a UPI QR Code?

A UPI QR code is an ordinary QR code whose payload is a UPI deep link — a upi://pay?… string that names who is being paid.

There is no separate “UPI” barcode standard. The symbol is the same ISO/IEC 18004 QR code used for a link or a contact card; what makes it a UPI code is the string inside. NPCI's published UPI Linking Specification defines that string, and the parameters are worth knowing because they explain every misunderstanding on this subject:

ParameterWhat it carries
paThe payee's virtual payment address — the UPI ID being paid. Required.
pnThe payee name shown to whoever scans. Required alongside pa.
amThe amount. Leave it out and the payer types their own.
cuCurrency code. The spec currently supports only INR.
tnA short transaction note.
tr / mcTransaction reference and merchant code, used for merchant payments.

Read the first row again, because everything else follows from it. pa is the payee. A UPI QR code is a request pointed at whoever scans it, so a scan can only ever set up a payment leaving the scanning phone. And a bare UPI ID with no upi://pay wrapper around it is not that link at all — it is a fragment of one.

It is one of many QR code types, and one of the few where getting the payload wrong costs money rather than a broken link.

Read this first

What QRKIT Can and Cannot Do With UPI

QRKIT is a QR code generator, not a bank and not a payment provider. There is no UPI builder in it — no VPA field, no payee-name field, no amount field, no merchant-code field. It encodes the text you give it. Two minutes on where that line falls will save you a print run.

What you can do here

  • Encode your UPI ID as a Text QR code, so people can read and copy it instead of hearing it spelled out
  • Encode a upi:// string you already hold, character for character, exactly as you supply it
  • Point a dynamic URL QR code at a payment page you control, and repoint it after printing
  • Count scans per printed code — which counter, which card, which poster is actually working
  • Style it and preview it without signing in, then export a PNG with a free account — SVG and PDF come with any paid plan, and no plan adds a watermark

What QRKIT will not do

  • Build a upi://pay link for you — there are no VPA, payee-name or amount fields to build one from
  • Issue a merchant collection QR code, which only the app or bank that onboards you can do
  • Check that your UPI ID is real, correctly spelled, or even shaped like a VPA
  • Touch a payment in any way, or see an amount, a payer or a transaction
  • Promise how a particular UPI app treats anything you encode — test that yourself before you print

The consequence, stated plainly

If what you need is a code at a counter that opens a payment when a customer scans it, this page is not where you get it, and no generator is. That code is issued against an account that has been onboarded for collection, which is why it carries a specific handle and merchant details rather than a string somebody typed into a form. Get it from your UPI app or your bank.

That leaves a real job on this side of the line. A UPI ID shared as a scannable code, a payment page behind a link you can change later, and the printed cards, counter signs and per-placement scan counts around whichever code you end up displaying. That is what the rest of this page is about.

Not a product gap

Why a Merchant UPI QR Code Comes From Your Bank or UPI App

This is worth understanding rather than working around, because it is how the rails are built — and because it is the reason a generator promising you a working collection code should make you nervous.

It is issued against an account

Collecting money over UPI runs on an account onboarded for it. The QR is issued against that account, which is why it carries a specific handle rather than free-form text. Nothing outside that relationship can create one, however convincing the form looks.

Interoperability is mandated

The Reserve Bank of India directed payment system operators away from proprietary QR codes — none new were to be launched for any payment transaction — and told those running their own to migrate to interoperable QR, UPI QR or Bharat QR, by 31 March 2022. One code any UPI app can pay is the whole design goal.

Settlement has to land somewhere

A payment code is the front end of a settlement arrangement. A generator has no part in that arrangement and cannot conjure one, which is why the honest boundary sits exactly where it does: we make images that carry strings, and your provider issues the string that moves money.

A practical note. UPI apps and banks are the ones that issue these codes, and each has its own route to getting one — we deliberately do not describe those screens here, because they change and we cannot verify them for you. Ask the provider you already collect through. What we can tell you with certainty is the part that lives in our own source: QRKIT has no field anywhere in which a VPA, a payee name or an amount could be entered, so there is no version of this tool that mints one.

Three honest shapes

Three UPI-Related QR Codes You Can Make Here — and When Each Is Right

There is no fourth option behind a paywall. These are the three, and the difference between them is entirely what string ends up in the pattern.

Text QR code

1. Your UPI ID, as text

Paste the ID into the Text field. Static, free, unlimited. A scan surfaces the ID so somebody can copy it into their own UPI app — no spelling it out, no typos from dictation. Right for person-to-person sharing and “this is my UPI ID” cards. Not a payment handoff.

Text QR code

2. A upi:// string you already hold

If you already have the exact deep link, paste it into the same Text field and it is encoded verbatim. We are not building it; you are supplying it. Nothing on our side checks it, and your provider's terms decide whether you may re-render a code they issued — check both before you print.

URL QR code

3. A link to a payment page

Point a URL code at a payment page your provider generates, or at a page listing how to pay you. The only shape you can repoint after printing or count scans on — but it hands the phone a link, so it needs internet and a browser rather than opening a payment directly.

On the second shape. The Text field stores what you type and hands it to the encoder unchanged, so a string goes in and the same string comes out inside a QR pattern. That is the whole mechanism — there is no cleverness to rely on and none to blame. The flip side is that the only validation on that field is that it is not empty: no VPA check, no length check, no syntax check. A wrong character produces a code that scans perfectly and does the wrong thing, so scan it back and read the decoded string before anything goes to a printer.

Side by side

UPI ID as Text vs a upi:// String vs a Payment Link

All three are QR codes QRKIT will make for you. They are not interchangeable, and the fourth column — the merchant code your provider issues — is there because it is what most people arriving on this query actually want.

Swipe to see all four columns →

 UPI ID as textupi:// string you supplyPayment link (URL)Provider's merchant QR
Made with QRKITYesYes — we encode your stringYesNo — only your bank or UPI app issues it
What is in the codeYour UPI ID, as plain textThe exact deep link you pastedA web linkA UPI deep link with the provider's details
A scan opens a paymentNo — there is no upi:// scheme in itThat is what the deep link is forIt opens a page, which may then take paymentYes — that is what it is issued for
Carries an amountNoOnly if your string doesDepends on the pageDepends on how it was issued
Needs internet to scanNoNoYes — it opens a browserThe payment does
Static or dynamicStaticStaticDynamic, or static if you never change itNot ours to describe
Editable after printingNoNoYes, if dynamicAsk your provider
Scan counts from QRKITNo — nothing of ours is in the pathNo — same reasonYes, if dynamicNo
Free planUnlimitedUnlimitedOne dynamic code, 100 scans a monthNot a QRKIT plan question

Background on the two modes, independent of UPI: static QR codes and dynamic QR codes. For the plain-text mechanics, see text QR codes; for the link shape, URL to QR code.

The risk nobody prints on the sign

A Scan Sends Money Out, Never In

This is not a warning built on anecdotes — it is in the specification. The pa parameter of a UPI link names the payee, so scanning a UPI QR code can only ever set up a payment leaving the scanning phone. There is no version of that link in which scanning it credits you.

01

“Scan this to receive money”

Refuse it on sight. Money arriving in your account is not something you authorise by scanning a code or entering a UPI PIN — the link points the other way by design. Any request framed as scan-to-receive is asking you to pay.

02

Overlaid and swapped codes

A printed sticker over yours is invisible to a customer, because nobody can read a QR pattern by looking at it. Put your codes where tampering shows, laminate or frame them, and re-scan your own codes on a schedule rather than assuming.

03

One character, encoded faithfully

Nothing in this tool checks a UPI ID — the only validation on the Text field is that it is not empty. A typo encodes cleanly and scans cleanly. Copy from your app instead of typing, then scan the finished code and read the whole decoded string back.

Before paying any code you did not print yourself, read the payee name your app shows you and compare it against who you think you are paying. Our guide to QR code scams walks through the sticker-overlay pattern, fake payment pages and the rest of the family, with what each looks like in the wild.

How it works

How to Make a QR Code for a UPI ID or Payment Link

The generator at the top of this page already opens on Text. Four steps, and the first is the one that decides whether you are in the right place at all.

Step 1

Decide what the scan should do

If a scan has to open a payment, use the code your UPI app or bank issued — that one is issued against an onboarded account and no generator can mint it. If a scan only has to show your UPI ID or open a page you control, carry on here.

Step 2

Copy, don’t type

Copy your UPI ID from your app rather than typing it. Nothing here checks a VPA, so one wrong character becomes a normal-looking QR code that sends people to an address that is not yours.

Step 3

Text for an ID, URL for a page

Paste the ID into the Text field for a static code that shows it. Switch to URL if you want a dynamic code pointing at a payment page — that is the only shape you can repoint after printing and count scans on.

Step 4

Scan the printed proof

Export the SVG for print — on this create flow SVG is the true vector output, while the PDF is a raster image placed on an A4 page, and both come with any paid plan. Then scan the printed proof, not the screen, with the app the people paying you actually use.

Printing it on a card, a counter sign or packaging? Our guide to printing QR codes covers minimum sizes, quiet zones and file formats, and QR code stickers covers the counter-and-card end of it.

Where we are actually useful

Everything Around the Payment Code

Whichever code ends up on your counter, somebody has to design it, print it, place it and find out whether it works. That is the part nobody's payment app does for you.

Cards, counter signs and packaging

A code on a table card, a counter stand, a delivery bag or a shop window needs to be the right size for its scan distance, with the quiet zone kept clear and hard contrast. Export the SVG and it scales to any of those without going soft.

Which placement is earning its space

Give each placement its own dynamic URL code and the scan counts tell you which one people actually use. Free gives you the count; the breakdowns behind it — rough location, device and time trends — start on Starter. Either way it is scan data and never payment data: we never see a rupee, a payer or a transaction.

One printed code you can repoint

A dynamic code lets you change where a printed sign leads without reprinting it — move it from a payment page to a promotion, or to a new page when something changes. Worth reading the free-plan caps below before you commit to a print run.

Many codes at once

One card per table, per stall or per route, each with its own link and its own counts: bulk creation from a CSV does that on the Plus plan and above, and API access starts on Starter if you would rather drive it from your own system.

More on the measurement side in QR code tracking and QR code analytics.

What free actually includes

Is This UPI QR Code Generator Free?

For the shape most people on this page need — a static code carrying a UPI ID or a string you supply — yes, with no cap worth mentioning. The limits live on the dynamic side, and they are worth reading before you print something you cannot reprint.

Static codes: unlimited, uncapped

A UPI ID code and a upi:// string code are both static, and static codes are not counted or capped on any plan. There is no scan limit either, for the structural reason that nothing of ours sits between the scanner and your data — a static code cannot be switched off by us because it never touches us.

Dynamic codes: one, and 100 scans a month

Free includes one dynamic code and 100 scans per month counted across the whole account. Past 100 a free dynamic code stops redirecting until the monthly reset — scans still arrive, they just do not resolve. On a code printed beside a payment sign, that is the failure you do not want to find out about late.

Downloads: free account, no watermark

Designing and previewing need no account. Getting the file does — a signed-out visitor is not handed a download from the QR tool. Once signed in, every plan including free exports without a watermark. Free is a PNG, capped at 1024 px; SVG, PDF and EPS come with any paid plan.

When paying is worth it here

Only for the link shape. If you are running a payment page behind a dynamic code with real traffic, Starter is $6 per month billed yearly and raises the dynamic-code allowance to 12, with the free scan cap removed. For a static UPI ID code, paying changes nothing about the code — spend it on printing properly instead.

Full ladder on the pricing page. Prices are shown in US dollars for readers in India, and follow your region elsewhere.

UPI QR Codes — Frequently Asked Questions

Get started

Make Your UPI ID Scannable
— Free, and Exactly As Typed

Paste a UPI ID, or a string you already hold, style the code, and scan it back before you print. Nothing is invented and nothing is altered — what you type is what the code carries.

Unlimited static codes on the free planEncoded verbatim — we never parse your stringWatermark-free — PNG free, SVG/PDF paid

UPI is one rail among many: QR codes for payments covers the rest, including the apps that issue their own codes. For the plain-text mechanics behind a UPI ID code, see text QR codes; to repoint a printed link later, dynamic QR codes; and before you pay anything you did not print, how QR code scams work.