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.
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.
ShapeHow the squares are drawn. The three eyes are styled apart from the data, because a scanner finds the code by them.
BrandingYour mark on the code. Every picture here costs scanability — the notes say how much, and the preview is the truth.
Frame & captionA border and a line of text around the code — the "scan me" that tells a passer-by what it is for.
OutputWhat comes out of the download buttons, and what the symbol actually carries.
Three steps to a code that scans
Under 20 seconds to your first download. Verified before it ever reaches a printer.
Choose what the code opens
A link, WiFi, a contact, a UPI payment — 43 content types, each with a working generator.
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.
Download a code that passed
PNG, SVG, PDF, EPS or WEBP. No watermark, on any tier.
One generator, 43 content types
The fifteen most used are below. Every type page opens with a working generator, not a signup wall.
MeCardLocationEventGST business infoPIXQRISPromptPaySEPA transferBitcoin (BTC)PayPal.MeEthereum (ETH)Solana (SOL)Ripple (XRP)Tether (USDT)WhatsApp CatalogueTelegramMessengerFaceTimeInstagramFacebookLinkedInX (Twitter)TikTokSnapchatPinterestWazeGoogle FormGS1 Digital Link
All 43 content types →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.
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 →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.
example.com/menu/weekend-specials?table=4&lang=enThe data is in the code. Works offline, forever.qrrd.in/a8K92xexample.com/menuRepoint it after it is printed. Scans are counted.| Static | Dynamic | |
|---|---|---|
| Change the destination | No — reprint required | Yes, unlimited, versioned |
| Cost | Free, unlimited | 5 free, then by plan |
| Print size | Grows with the destination | Fixed at 22 characters |
| Scan analytics | None | City, device, referrer, campaign |
| Works offline | Yes — data is in the code | Needs a connection to resolve |
| Depends on a service | No | Yes — see Continuity Mode below |
| Targeting by device or city | No | Yes, with a simulator |
| A/B testing | No | 2 to 5 destinations, with significance |
| Best for | WiFi, vCard, anything permanent | Menus, campaigns, packaging, signage |
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.
In every case the redirect keeps working. That is the guarantee, in the ToS and in the data model.
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.
- 18.0:1 contrast
- full quiet zone
- decodes at all five sizes
- 2.0:1 contrast — below the 3:1 a camera needs
- unprintable as-is
Ink darkened to 18.0:1 and the quiet zone restored to 4 modules. Decodes at all five sizes.
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.
| App | Opens payment sheet | Payee name shown | Amount prefilled | Note displayed |
|---|---|---|---|---|
| verified | verified | verified | note display is not documented for this app and not yet confirmed on a real phone — we check each wallet by hand every release | |
| verified | verified | verified | note display is not documented for this app and not yet confirmed on a real phone — we check each wallet by hand every release | |
| verified | verified | verified | verified | |
| verified | verified | verified | note display is not documented for this app and not yet confirmed on a real phone — we check each wallet by hand every release | |
| verified | verified | verified | note 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)
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.
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.
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
Scans peaked on Saturday evening — 412 of this week's 1,940 scans arrived between 7 and 10pm.
Built for the counter, the shelf and the gate
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
Plain pricing, stated limits
Codes never stop working · no scan limits · no ads ever · monthly billing on every tier · cancel in one click.
- Unlimited static QR codes
- 5 dynamic codes, 2,000 tracked scans/mo
- Full scanability engine and payment QR
- Continuity Mode included
- 25 dynamic codes, 25,000 tracked scans/mo
- Full analytics — geo, device, referrer
- Bulk generation, 100 codes per job
- 100 AI credits monthly
- 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.
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