Skip to main content
CodeLint.Dev Dev Tools

QR Code Generator — Static, No Expiry, No Tracking

Generate QR codes that encode your data directly, with no redirect through this or any other service. Nothing to expire, no scan limit, no account.

QR Code Generator

Generate QR codes for any content. Customize style, colors, and logo. Everything runs locally in your browser.

Type
Dot Style
Colors
#000000
#000000
#ffffff
Logo (optional)

Error correction is set to High when a logo is added.

Need a 1D barcode (Code 128, EAN-13, UPC) or other 2D formats (PDF417, DataMatrix, Aztec)? Try the Barcode Generator →

Error correction levels

QR codes use Reed–Solomon error correction, so a damaged or partly obscured code still scans. Higher levels survive more damage but pack the same data into a denser grid, which needs a better scan.

LevelRecoversCapacity costUse for
L — Low~7%BaselineClean screens, or a long URL you need to keep visually simple
M — Medium~15%~10% less dataThe general-purpose default: screens, flyers, cards
Q — Quartile~25%~25% less dataPrint that gets handled: packaging, labels, menus
H — High~30%~35% less dataIndustrial or outdoor use, or a logo overlaid on the centre

Higher is not automatically better. A denser grid means smaller modules at the same physical size, and below roughly 0.4 mm per module most phone cameras struggle. For a long URL on a small label, L or M at a larger module size often scans more reliably than H.

Design rules that decide whether it scans

  • Keep the quiet zoneThe blank margin around the code must be at least four modules wide. Cropping it tight is the single most common reason a printed code fails — the scanner cannot find the boundary.
  • Never cover the three corner squaresThose are position markers, used to locate and orient the code. Obscuring one makes the code unreadable regardless of error correction level.
  • Dark on light, not the reverseMost scanners expect dark modules on a light background. Inverted codes fail on a meaningful minority of readers. If you must invert, test widely.
  • Contrast matters more than colourColoured codes work if the contrast ratio is high. Light grey on white, or two mid-tone colours, will not scan under poor lighting.
  • A centre logo is fine at Q or HKeep it under about 20% of the total area. The error correction covers the obscured modules — that is precisely what it is for.
  • Size for the scanning distanceA rough rule: the code should be at least one-tenth of the intended scanning distance. A code read from 2 m needs to be around 20 cm across.
  • Shorten the URL before encodingFewer characters means fewer modules and a lower-density, more forgiving code. Strip tracking parameters — they often double the length.

What you can encode besides a URL

QR content is just text, but scanners recognise several conventional formats and act on them:

TypeFormatBehaviour when scanned
URLhttps://example.comOffers to open the link
Plain textAny textDisplays it
Wi-FiWIFI:T:WPA;S:NetworkName;P:password;;Offers to join the network — very well supported on both iOS and Android
Emailmailto:a@example.com?subject=HiOpens a pre-filled message
Phonetel:+441234567890Offers to dial
SMSSMSTO:+441234567890:messageOpens a pre-filled text message
Contact cardvCard or MeCardOffers to add a contact
Calendar eventiCalendar VEVENTOffers to add to the calendar
Geo locationgeo:51.5074,-0.1278Opens in a maps app

The Wi-Fi format escapes special characters with a backslash — a password containing ; , : or \ must be escaped or the parse fails silently and the join is rejected.

About

The QR Code Generator creates scannable QR codes — the most popular type of 2D barcode — for URLs, plain text, WiFi credentials, email, phone numbers, SMS, vCard contacts, and UPI payment links. You can customise the dot style, corner shape, foreground and background colours, and add a logo image in the centre. Download as high-resolution PNG or SVG. For traditional 1D barcodes (Code 128, EAN-13, UPC) and other 2D formats (PDF417, DataMatrix, Aztec), see the Barcode Generator.

How to use

  1. 1 Choose the QR type (URL, WiFi, vCard, etc.) from the type selector.
  2. 2 Fill in the relevant fields for your chosen type.
  3. 3 Customise colours and dot style in the Design section.
  4. 4 Optionally upload a logo image to embed in the centre.
  5. 5 Click Download PNG or Download SVG to save your QR code.
Is a QR code a type of barcode?
Yes. A QR code is a 2D barcode — it stores data in a two-dimensional grid of black and white squares rather than a single row of lines like traditional 1D barcodes (Code 128, EAN-13, UPC). QR codes can store much more data than 1D barcodes and can be read even when partially damaged. If you need a traditional 1D barcode or other 2D formats like PDF417 or DataMatrix, use the Barcode Generator instead.
How do I create a QR code for my WiFi network?
Select the WiFi type, enter your network name (SSID), choose the security type (WPA/WPA2 is most common), and enter the password. The generated QR code, when scanned by a phone, automatically connects the device to your WiFi network — no typing required.
Will the QR code still scan if I add a logo in the centre?
Yes. QR codes have built-in error correction that allows up to 30% of the code to be obscured while remaining scannable. A logo or image in the centre replaces this error correction capacity, so the code still scans reliably as long as the logo does not cover more than about 25% of the total area.
Do QR codes expire?
Static QR codes generated by this tool never expire. The data is encoded directly in the QR pattern itself, so the code works forever without any server or subscription. Dynamic QR codes that redirect through a URL shortener can expire if the redirect service shuts down, but this tool generates static codes only.