Generators

QR Code Guide: How to Create Codes That Actually Scan

By Smart Tools Utility Team · Published October 7, 2026 · Updated October 7, 2026 · 7 min read

A QR code is only useful if it scans on the first try. Most failures are not caused by the generator but by choices made afterwards: too little contrast, a decorative style the phone cannot read, text that was not encoded as intended, or a code printed too small. This guide shows how to create a QR code with our QR Code Generator, how to format content for WiFi, email and phone codes, and which styles and colours we tested and found reliable, including the ones that failed.

We did not just look at the results. We decoded the generated codes with two independent open-source readers (OpenCV and ZXing) to see which settings really scan. Where a setting is risky we say so plainly.

How to create a QR code, step by step

  1. Choose the content type (Free Text, URL, YouTube, Email, Phone or WiFi) and type or paste the content into the input box.
  2. Adjust the look if you want: dot shape, dot colour, background colour (or transparent), an optional centre logo, and a frame.
  3. Check the live preview. It updates as you change settings.
  4. Download as PNG, JPG, SVG or PDF.
  5. Test with a real phone before printing or publishing. This one step prevents most problems.
The QR Code Generator settings panel with content type, colour pickers, size and logo options
The customisation settings: colours accept hex values, the background can be transparent, and a logo can be added in the centre.
A generated QR code in the live preview with download buttons for PNG, JPG, SVG and PDF
The live preview with the download buttons.

Content formats that phone cameras understand

The generator encodes exactly what you type. It does not add prefixes for you, so for the special types you write the standard format yourself. Phones recognise these patterns and offer the matching action (open a link, join a network, start an email or call).

Website   https://example.com/menu
Email     mailto:hello@example.com
Phone     tel:+15551234567
WiFi      WIFI:T:WPA;S:CafeGuest;P:espresso2026;;

If a link contains spaces or special characters, make it URL-safe first with the URL Encoder.

How much a QR code can hold, and why shorter is better

With the generator's medium error correction, the maximum is about 2,331 ASCII characters, but you should stay far below that. More data means a denser grid of smaller squares (called modules), and dense codes are harder to scan at a distance or when printed small. Measured sizes:

Characters   Grid
   19        25 × 25   (a short URL)
   50        33 × 33
  100        41 × 41
  200        57 × 57
  500        85 × 85
 1000       121 × 121
 2000       171 × 171

The practical lesson: encode a short link, not the whole content. A 19-character URL gives a code with big, forgiving modules; a 1,000-character one needs a high-resolution print and a steady camera. Put long content behind a short URL on a page you control.

Ready to make your QR code?

Open the QR Code Generator

Colours and styles: what scans and what does not

This is where we tested hardest, because customisation is the most common cause of unscannable codes. We exported codes at 400 and 800 pixels and tried to decode each with OpenCV and ZXing.

Reliable

Risky, so test before use

Phone cameras are sometimes more forgiving than software readers, and sometimes less. A code that passes on your phone can still fail on an older device, so test on more than one when it matters.

The tool can place a logo (upload your own or choose a built-in icon) in the middle of the code. The logo covers part of the data, which QR error correction can recover, but only up to a limit. Keep the logo small, use a simple shape, and always scan the result. The built-in icons are loaded from a CDN, so they need an internet connection.

PNG, JPG, SVG or PDF?

Print size: a rule of thumb is to keep the printed code at least 2 cm (about 0.8 inch) wide for short URLs, and larger for denser codes, or for codes scanned from a distance. A poster scanned from 2 metres needs a much larger code than a business card.

A known limitation: non-English characters

If you encode text with accented letters or non-Latin characters, test carefully. In our tests, plain ASCII text worked, but characters such as ✓, Japanese text and emoji came back corrupted when scanned, and é was stored in an older single-byte encoding that some readers display incorrectly. For URLs, this does not matter as long as the link itself is ASCII. For text with special characters, use a percent-encoded URL, or a link to a page that holds the text.

Staying safe with QR codes

Quick answers

Do QR codes expire? The codes this tool creates are static: the data is inside the image, so it does not expire and needs no account. It also cannot be changed later; for a different destination, make a new code.

Why will my QR code not scan? The usual causes are low contrast, a frame or border that is too tight, a dot style that is hard to read, too much data, or printing too small. Try a square style with dark dots on a light background first.

Is it free? Yes, and generation runs in your browser.

Ready to make your QR code?

Open the QR Code Generator