Skip to content
qrcodegenerator.in
DECODE-TESTED BEFORE EVERY DOWNLOAD

QR codes that actually scan.

Every code is decode-tested before you download it — at five sizes, with blur, glare and rotation. No account, no watermark, no ads.

Add the content
Design itColour, logo and frames open the full design studio — no account needed.
Style this code — colour, shape, branding, frame and output
Colour & contrastThe ink, the paper behind it, and the three eyes. Every choice is contrast-checked as you make it.
Foreground
18.0:1 against the background — clears the 4.5:1 a camera wants margin on.
Background
Eye colours
ShapeHow the squares are drawn. The three eyes are styled apart from the data, because a scanner finds the code by them.
Modules
Every shape here is decode-tested before it is offered. Shapes that lose the symbol — diamond, star, heart — are not on this list, however good they look.
Eye frame
Eye centre
BrandingYour mark on the code. Every picture here costs scanability — the notes say how much, and the preview is the truth.
Logo image
PNG, JPEG or WebP, up to 2MB. The modules beneath it are cleared and error correction rises to cover the hole.
Background picture
Sits behind the modules, quiet zone included. A busy picture is the classic reason a decorated code stops scanning — check the preview with a phone before printing.
Foreground texture
Washes over the ink itself, so it is capped well below full strength — at full strength there is no code left to scan.
Frame & captionA border and a line of text around the code — the "scan me" that tells a passer-by what it is for.
Frame style
A frame is drawn outside the quiet zone, never into it — the canvas grows instead, so the border cannot cost the code its margin.
OutputWhat comes out of the download buttons, and what the symbol actually carries.
Options
Automatic picks the smallest encoding that carries your text, and is right almost always. The other three exist for older scanners that expect one specific encoding; each refuses text it cannot carry rather than mangling it. Encodings we cannot convert to correctly are not offered at all.The margin never goes below 4 — ISO/IEC 18004's minimum; smaller is not a QR code. A logo raises error correction to at least Q. Encoding is chosen by the encoder per symbol and shown in the readout — a manual charset menu only makes codes bigger.
Embedded datahttps://example.com/menuThe exact text the symbol carries — what any scanner will read out.
Save this design — free account, the code stays editable →
All 43 content types
Check and download
v225×25 modulesbyteEC-M26/28mask 2
4/4 4 of 4 checks passHow we measure (opens in a new tab)
40decode tests before every download — 5 sizes × 8 degradations
<30msredirect p95, served from 300+ edge locations
16mmsmallest reliable print at version 2 — our short domain keeps codes small
0ads in the scanner journey, on any tier, ever
HOW IT WORKS

Three steps to a code that scans

Under 20 seconds to your first download. Verified before it ever reaches a printer.

  1. Choose what the code opens

    A link, WiFi, a contact, a UPI payment — 43 content types, each with a working generator.

  2. Design it while the checks run

    Colours, dot styles, a logo, a frame. The checks re-run on every change and say what to fix.

  3. Download a code that passed

    PNG, SVG, PDF, EPS or WEBP. No watermark, on any tier.

FREE TIER

Where free ends, in four numbers

No card, no trial clock. These are the limits the product enforces, read from the same plan table the api checks against.

Unlimitedstatic QR codes, with nothing to host
5dynamic codes, editable after they are printed
2,000tracked scans a month
30 daysof analytics history

Past the cap you cannot create another dynamic code and the scans stop being counted. Every code already in the world keeps resolving — through a downgrade and through a cancellation, each with its own test.

See all 10 tiers →
STATIC OR DYNAMIC

Pick by whether the destination will ever change

Static encodes the destination in the code itself: nothing is fetched, so it works with no signal and cannot expire. Dynamic encodes a 22-character short link, so the symbol stays small in print and you can repoint it after it is on the wall.

Staticexample.com/menu/weekend-specials?table=4&lang=enThe data is in the code. Works offline, forever.
Dynamicqrrd.in/a8K92xexample.com/menuRepoint it after it is printed. Scans are counted.
StaticDynamic
Change the destinationNo — reprint requiredYes, unlimited, versioned
CostFree, unlimited5 free, then by plan
Print sizeGrows with the destinationFixed at 22 characters
Scan analyticsNoneCity, device, referrer, campaign
Works offlineYes — data is in the codeNeeds a connection to resolve
Depends on a serviceNoYes — see Continuity Mode below
Targeting by device or cityNoYes, with a simulator
A/B testingNo2 to 5 destinations, with significance
Best forWiFi, vCard, anything permanentMenus, campaigns, packaging, signage
Make a dynamic QR code →
CONTINUITY MODE

Your printed codes never die

The category's real failure mode: you print 500 menus, hit a plan limit or cancel a subscription, and every code goes dark. Here, limits degrade measurement — never function. A printed code keeps redirecting, whatever happens to the account behind it.

One stated limit, published upfront: codes with zero scans for 24 consecutive months may be archived, after two email notices.

Limit reachedRedirect continues at full speed. Analytics pause until you reset or upgrade.Redirects
Plan downgradedCodes above the new limit keep redirecting to their last destination, forever.Redirects
Subscription cancelledAll dynamic codes enter Continuity permanently. Reactivating restores control.Redirects
Payment failed14 days of grace at full function, then Continuity — never a dead code.Redirects

In every case the redirect keeps working. That is the guarantee, in the ToS and in the data model.

SCANABILITY ENGINE

Two codes. One scans, one doesn't.

Most generators let you download the one on the right without a word. We run 18 checks and a five-size decode test on every code, live, before you print it.

4/4 4 of 4 checks pass
  • 18.0:1 contrast
  • full quiet zone
  • decodes at all five sizes
2/4 2 of 4 checks pass
  • 2.0:1 contrast — below the 3:1 a camera needs
  • unprintable as-is
Contrast2.0:1✗ fail
Quiet zone1 module✗ fail
Logo coveragenone✓ pass
EC headroom15.0%✓ pass
512–384–256–192–128–Blur–Rotation–Glare–
Check any QR code — including one made somewhere else →
PAYMENT QR

Correct in every wallet

UPI, PIX, QRIS and EPC — built to spec and simulated against how each app actually parses the URI, not just the standard on paper.

AppOpens payment sheetPayee name shownAmount prefilledNote displayed
Google Payverifiedverifiedverifiednote display is not documented for this app and not yet confirmed on a real phone — we check each wallet by hand every release
PhonePeverifiedverifiedverifiednote display is not documented for this app and not yet confirmed on a real phone — we check each wallet by hand every release
Paytmverifiedverifiedverifiedverified
BHIMverifiedverifiedverifiednote display is not documented for this app and not yet confirmed on a real phone — we check each wallet by hand every release
Amazon Payverifiedverifiedverifiednote display is not documented for this app and not yet confirmed on a real phone — we check each wallet by hand every release

Google Pay is the strictest parser — it rejects malformed URIs outright. We validate against it first.

PhonePe is the most forgiving; it tolerates unencoded spaces and rounds amounts to two decimals.

Paytm falls back to the VPA when the name is missing and displays the transaction note prominently.

Make a UPI QR code — with standee formats →

UPI with a fixed amountGoogle PayPhonePe for shopsPIX (Brazil)QRIS (Indonesia)

DESIGN STUDIO

Where the code actually ends up

Twelve dot styles, per-eye colour, logos with excavate mode, 30+ print frames. Every design below is scored at the size it prints at — and every code sits on white with its quiet zone intact, because that is what makes it scan.

CAFE ANDHERIScan for the menu
Veg and Jain marked
Table tentA5 · 148 × 210 mm
BHIM UPI · SCAN AND PAY
Cafe Andhericafeandheri@okhdfcbank
NPCI UPI standeeA4 · 210 × 297 mm
PRIYA SHARMA · REALTYSave my contact
Business card89 × 51 mm
BATCH 2026-08Verify this pack
Authenticity + warranty
Product label60 × 60 mm
MERIDIAN NIGHTS · 14 SEPGet your ticket
Unique code per seat
Event flyerA5 · 148 × 210 mm
AISLE 4 · HOW TO USEWatch the 40s demo
Shelf talker160 × 60 mm
SMALL BATCH
See the ingredients
Product sticker60 × 60 mm
OPEN DAYRegister at the gate
Entry with a pass
Wall posterA2 · 420 × 594 mm
THANK YOURate your visit
Takes twenty seconds
Receipt footer80 mm roll
FOR SALESee the property pagePhotos, price and floor plan
Sign board450 × 300 mm

Colour belongs to the material, never to the code. Every design here was scored, decode-tested and given a measured minimum print size before it was drawn.

ANALYTICS

Know where every scan came from

Time, city, device and campaign for every scan — with India state-level maps and district drill-down. No raw IP is ever stored; geo is derived at the edge and the address discarded.

  • Time
  • City and state
  • Device
  • Campaign
See the analytics dashboard →
app.qrcodegenerator.in/analytics
Total scans1,940
Unique1,312
Today87
Top locationMumbai

Scans peaked on Saturday evening — 412 of this week's 1,940 scans arrived between 7 and 10pm.

Last 14 days
BARCODES

Barcodes too, with the check digit computed

29 symbologies — retail, logistics, postal and 2D. Most generators strip whatever does not fit the symbology and encode the remainder; this one computes the check digit for you and refuses a value that cannot be a valid barcode.

  • EAN-13
  • UPC-A
  • Code 128
  • Code 39
  • ITF-14
  • GS1-128
  • Data Matrix
  • PDF417
  • Aztec
  • USPS Intelligent Mail
  • Pharmacode

Open the barcode generator →

EAN-13 Check digit, computed: 14006381333931Twelve digits were entered. The thirteenth — 1 — is the check digit, computed and appended, which is the one every retail scanner verifies before it accepts the read.
PRICING

Plain pricing, stated limits

Codes never stop working · no scan limits · no ads ever · monthly billing on every tier · cancel in one click.

Free₹0 forever
  • Unlimited static QR codes
  • 5 dynamic codes, 2,000 tracked scans/mo
  • Full scanability engine and payment QR
  • Continuity Mode included
Starter₹199 /mo, billed annually
  • 25 dynamic codes, 25,000 tracked scans/mo
  • Full analytics — geo, device, referrer
  • Bulk generation, 100 codes per job
  • 100 AI credits monthly
Pro₹499 /mo, billed annually
  • 200 dynamic codes, 250,000 tracked scans/mo
  • API access — 50,000 calls/mo
  • 3 seats, 1 custom domain
  • 500 AI credits monthly

From ₹0 to ₹9,999 a month, and Enterprise above that. Compare all 10 tiers →

Prices in INR excluding GST, billed annually. Monthly billing available on every tier. · We'll show customer numbers once we have real ones.

FAQ

Questions with real answers

Do your free QR codes expire?

No. Static codes are yours forever — the destination is encoded in the code itself. Free dynamic codes keep redirecting even past your tracked-scan limit: analytics pause, the code does not.

What happens to my codes if I cancel?

They enter Continuity Mode: every printed code keeps redirecting to its last destination, permanently and at full speed. Editing, analytics and targeting stop until you reactivate.

What is the minimum size to print a QR code?

It depends on the version and scan distance. Our short domain keeps most codes at version 2 (25×25 modules), which prints reliably from about 16–17mm. Every download shows a measured minimum for your exact design.

Why won’t my QR code scan?

The usual causes: low contrast, a missing quiet zone, a logo covering too much, or printing below the minimum module size. Upload it to the scanability checker for an 18-point report with the specific fix for each failure.

Will my UPI QR work in Google Pay, PhonePe and Paytm?

We simulate each app’s documented parser behaviour before you download — Google Pay is the strictest and rejects malformed URIs, PhonePe is the most forgiving, Paytm falls back to the VPA when the name is missing. The matrix never shows a pass for something that fails.

Do you add ads or watermarks?

Never. The person scanning a code is not our customer and is never monetised — no ads, no interstitial upsells, no watermark on any tier including Free.

Static or dynamic — which should I use?

Static encodes the destination directly: free, permanent, unchangeable. Dynamic points to a 22-character short link you can retarget anytime, with scan analytics — and it stays smaller in print because the payload never grows.

Can I check a QR code I made somewhere else?

Yes. The scanability checker runs the full 18-point analysis and five-size decode test on any QR image, whoever generated it. Free, no account.

Make a code you can trust on paper

Under 20 seconds to your first download. Verified before it ever reaches a printer.

Create a QR codeNo account · no watermark · no scan limits · no ads