QR Code Generator – Free, Instant & No Sign-Up

Create a QR code for any URL, Wi-Fi, vCard, UPI, or WhatsApp link in seconds. Free, browser-based, no account needed. Download PNG or SVG instantly.

Fill in the fields to generate your QR code.
Download PNG

Generated in your browser — nothing is uploaded.

Turn any link, text, or contact into a scannable QR code in seconds

Paste a URL, type a phone number, or fill in a Wi-Fi password — the QR code generator above builds a crisp, scannable QR code instantly. Download it as a PNG or SVG and you're done. No account needed, nothing uploaded to a server.

How to create a QR code (step by step)

  1. Choose a type — URL, Wi-Fi, vCard (contact card), UPI payment, WhatsApp, or plain text.
  2. Fill in the fields — for a URL just paste the link; for Wi-Fi enter the network name (SSID) and password.
  3. Customise (optional) — pick a foreground colour, background colour, and size in pixels. Higher error correction (level H) keeps the QR scannable even if part of it is covered by a logo.
  4. Download — save as PNG for printing or sharing online, or SVG for logos and large-format printing where you need it to scale without blurring.

Scanning the code does exactly what the data says: a URL QR opens the page in the phone's browser, a Wi-Fi QR connects the device to the network, a UPI QR opens the payment app pre-filled with the recipient's details, and a WhatsApp QR starts a chat.

Worked example — URL QR code

Input:

Type: URL
URL:  https://techtoolexpert.com
Size: 300 × 300 px
Foreground: #1a1a2e  (dark navy)
Background: #ffffff  (white)
Error correction: M

Result: a 300 × 300 pixel QR code in dark navy on white. Anyone who scans it lands on techtoolexpert.com — no redirect, no middleman. The URL is encoded directly into the QR matrix, so the code works forever as long as the page exists.

Generate a QR code in code (Python & JavaScript)

Need to create QR codes programmatically? Here are two minimal, runnable snippets.

Python — using the qrcode library

# pip install qrcode[pil]
import qrcode

img = qrcode.make('https://techtoolexpert.com')
img.save('my-qr.png')

That saves a PNG called my-qr.png in your working directory. The qrcode library (by Lincoln Loop) handles the encoding; Pillow renders the image.

JavaScript (browser) — using the qrcode npm package

// npm install qrcode
const QRCode = require('qrcode');

QRCode.toDataURL('https://techtoolexpert.com', { width: 300 }, (err, url) => {
  if (err) throw err;
  console.log(url); // paste this data: URL into an  src
});

In a browser you can also use QRCode.toCanvas(canvasElement, text) to draw directly onto a <canvas>. Full API docs live at github.com/soldair/node-qrcode.

How the QR code generator works

QR codes follow the ISO/IEC 18004 standard. Your text or URL is encoded into a binary matrix of black-and-white squares (called modules). The size of the matrix grows with the amount of data — a short URL fits in a small grid; a full vCard needs more modules.

Error correction embeds redundant data so a scanner can recover the message even if up to 30 % of the code is damaged or hidden (level H). The four levels are L (7 %), M (15 %), Q (25 %), and H (30 %). Use H when you plan to print a logo over the centre of the code.

Everything happens inside your browser using JavaScript. Nothing is sent to any server — your Wi-Fi passwords, contact details, and payment IDs stay on your device.

When to use each QR type

TypeBest forWhat scanning does
URLLinks to any webpage, product, or social profileOpens the URL in the phone's browser
Wi-FiCafé, office, or event guest networksJoins the Wi-Fi network automatically
vCardBusiness cards, name badgesSaves the contact to the phone's address book
UPIAccepting payments in India (Google Pay, PhonePe, etc.)Opens the UPI payment app pre-filled
WhatsAppCustomer support, marketing opt-insOpens WhatsApp with a pre-written message
TextShort notes, serial numbers, event detailsDisplays the plain text on screen

When NOT to use a QR code

  • Extremely long data — a 2 000-character JSON blob makes a very dense QR that many phone cameras struggle to read. Link to a page that holds the data instead.
  • Low-contrast printing — a light grey code on white paper scans poorly. Keep strong contrast between modules and background.
  • Replacing dynamic links you need to update — a static QR encodes the exact URL you typed. If the destination might change, use a URL shortener with a redirect (but be aware that adds a third-party dependency).

Key facts worth knowing

  • QR codes are free to create and use — the standard is open, there are no royalties or licences to buy.
  • They never expire on their own. A URL QR stops working only if the destination URL goes offline, not because the QR code itself has a shelf life.
  • All codes generated here are static — the data is baked into the image, with no redirect server in between.
  • SVG output is infinitely scalable, ideal for print materials larger than A4.

Ready to make your first QR code? Fill in the fields in the tool above, hit generate, and download your file — it takes about ten seconds.

Frequently asked questions

Is this QR code generator free? Do I need an account?+
Completely free, no account, no email required. Open the page, generate as many QR codes as you like, and download them.
Do the QR codes expire?+
No. A static QR code encodes data directly into the image — it has no expiry date. A URL QR will stop working only if the web page it points to goes offline, not because of anything in the code itself.
Is my data (passwords, contact info, payment details) uploaded anywhere?+
Nothing leaves your browser. The QR code is generated entirely on your device using JavaScript. Your Wi-Fi passwords, UPI IDs, and contact details are never sent to any server.
PNG vs SVG — which format should I download?+
Choose PNG for sharing online, embedding in emails, or printing at a fixed size (e.g. a label or flyer). Choose SVG for logos, large-format print, or anywhere you need the image to scale to any size without getting blurry or pixelated.
What error correction level should I pick?+
Level M (15 %) works for most cases. Use level H (30 %) if you plan to overlay a logo on the centre of the QR code. Avoid level H for very long URLs — it makes the matrix denser and slightly harder for older cameras to read.
How do I make a QR code that connects to Wi-Fi without typing a password?+
Select the 'Wi-Fi' type, enter the network name (SSID), choose the security type (WPA2 is most common), and type the password. When someone scans the code, their phone joins the network automatically — no typing needed.
Can I put a logo in the middle of the QR code?+
Yes — set error correction to level H, download the SVG, then overlay your logo in a design tool like Figma or Inkscape. The error-correction data lets the scanner recover the hidden modules. Keep the logo under about 25-30 % of the total QR area.
How do I generate QR codes in bulk or programmatically?+
Use the Python qrcode library (pip install qrcode[pil]) or the Node.js qrcode package (npm install qrcode) and loop over your data. Both are open source and follow the ISO/IEC 18004 standard. See the code examples on this page for a quick start.