Skip to content
Cheeky Tools

QR Code Generator

File ToolsQR codes for links, UPI payments, WiFi and contact cards — PNG or vector SVG.

Your files never leave this device. Everything here runs in your browser — your files are never uploaded, stored or seen by us. Open your network tab and check.

px

Higher levels survive damage and printing better, at the cost of a denser code.

Your QR code

SVG is vector, so it stays sharp at any print size — use it for anything going to a printer. PNG is fine for screens.

How this is calculated

Link      https://example.com
UPI       upi://pay?pa=name@bank&pn=Name&am=499.00&cu=INR&tn=Note
WiFi      WIFI:T:WPA;S:NetworkName;P:password;H:false;;
Contact   BEGIN:VCARD ... END:VCARD   (CRLF line endings)
Email     mailto:hi@example.com?subject=Hello
Phone     tel:+919876543210
SMS       SMSTO:+919876543210:Message

How it works

A QR code is an encoding of a string. What makes a code do something useful — open a payment app, join a WiFi network, save a contact — is the exact format of that string, and the formats are unforgiving. A missing separator or an unescaped semicolon produces a code that scans perfectly and does nothing.

The WiFi format is the usual casualty: semicolons and colons inside a password have to be backslash-escaped, or the parser stops reading at the first one. UPI codes need the payee address in the pa parameter and the currency set to INR. vCards require CRLF line endings, not plain newlines, or some phones refuse them. All of that is handled here.

Two settings decide whether a printed code actually works. Error correction level controls how much of the code can be damaged or covered while still scanning — level H recovers about 30%, which is why a code with a logo over the middle must use it. Contrast between the two colours matters just as much: below roughly 2.5:1 many scanners give up, and this tool warns you before you print a thousand of them.

Worked example

A shop payment code for ₹499 to merchant@upi

  1. pa = merchant@upi the payee address
  2. pn = Test Store the payee name shown to the customer
  3. am = 499.00 always two decimals
  4. cu = INR currency

upi://pay?pa=merchant%40upi&pn=Test+Store&am=499.00&cu=INR

How to use it

  1. Pick the type of code you need — a link, a UPI payment, WiFi credentials, a contact card and so on.
  2. Fill in the fields. The payload updates as you type.
  3. Adjust size, colours, quiet zone and error correction if you need to.
  4. Download PNG for screens, or SVG for anything going to print — SVG is vector and stays sharp at any size.

What this tool does not do

  • A QR code holds a limited amount of data. Very long text will not encode — shorten it or link to a page instead.
  • These are static codes. The destination is baked in, so it cannot be changed after printing.
  • There is no scan tracking, because that would require routing through a server and would break the privacy claim.

Frequently asked questions

How do I make a UPI QR code?

Choose UPI payment, enter your UPI ID (the VPA, such as name@bank) and optionally a name, amount and note. Leaving the amount blank lets the payer enter their own, which is what most shop counters want.

Do these QR codes expire?

No. The code is generated in your browser and encodes your data directly — there is no redirect through our servers and nothing to expire or switch off. That also means you cannot edit the destination later without making a new code.

Why does my QR code not scan?

Usually contrast or size. A dark code on a light background scans best; light-on-dark and low-contrast pairs often fail. Printed codes also need a quiet zone — the blank margin around them — and enough physical size for the scanning distance.

What error correction level should I use?

M is fine for most screen use. Use H if you are adding a logo or printing on something that may get scuffed, since it can recover about 30% of the code. Higher levels make the pattern denser, so print a little larger.

Can I add a logo to the middle?

Yes, but set error correction to H first. The logo covers modules the code then has to recover, and at lower levels there is not enough redundancy to survive it.

PNG or SVG?

SVG for print — it is vector, so it stays sharp whether it goes on a business card or a hoarding. PNG for screens and anywhere that needs a raster image.

How do I make a WiFi QR code?

Choose WiFi, enter the network name and password, and pick the security type. Scanning it joins the network without typing the password. Semicolons and colons in the password are escaped automatically.

Is my data sent anywhere?

No. The code is generated entirely in your browser. Your UPI ID, WiFi password and contact details never leave your device.

Related tools

Spotted something wrong?
tell us

The figure you got and the figure you expected, if you have both. A source helps.

Only so we can reply. Leave it blank and we still read it.

— every formula on this page is published so it can be checked.

Last updated 3 September 2026.