The Complete Guide to QR Code Generation
Everything you need to know about creating QR codes — types, best practices, sizing, and how to generate them for free with FreshUtil's QR Code Generator.
What Are QR Codes?
QR (Quick Response) codes are two-dimensional barcodes that store data in a grid of black and white squares. Originally invented for tracking car parts in Japanese factories, they've become the standard way to bridge physical and digital — restaurant menus, payment links, Wi-Fi passwords, event tickets, contact cards.
Any smartphone camera can read them, and they can store up to about 4,000 characters of text.
Types of QR Code Content
QR codes are just containers for text. What makes them "do things" is the format of that text. Here are the most common types:
URL
The most common use case. The QR code contains a web address, and scanning it opens that page in the browser.
https://freshutil.com
Wi-Fi Credentials
Share your Wi-Fi password without typing it. The format is standardized:
WIFI:T:WPA;S:MyNetwork;P:MyPassword;;
Scanning this on most phones auto-connects to the network.
Contact Card (vCard)
Encode contact information that can be saved directly to the phone's contacts:
BEGIN:VCARD
VERSION:3.0
N:Doe;John
TEL:+1234567890
EMAIL:john@example.com
END:VCARD
Plain Text
Any text content — a message, a serial number, a note. The scanner displays the text.
Pre-fills an email with recipient, subject, and body:
mailto:hello@example.com?subject=Hello&body=Hi%20there
Phone Number
Prompts to call or save the number:
tel:+1234567890
How to Generate a QR Code with FreshUtil
Step 1: Open the QR Code Generator
Go to freshutil.com/tools/utility/qr-generator.
Step 2: Enter Your Content
Type or paste the URL, text, Wi-Fi credentials, or other data you want to encode.
Step 3: Customize (Optional)
Adjust size and error correction level if needed.
Step 4: Download
Save the QR code as a PNG image. Use it in print materials, presentations, websites, or anywhere else.
QR Code Best Practices
Size and Scanning Distance
The minimum printed size depends on how far away the scanner will be:
| Scanning Distance | Minimum QR Code Size |
|---|---|
| 10 cm (phone held close) | 2 × 2 cm |
| 30 cm (table tent, menu) | 3 × 3 cm |
| 1 meter (poster, sign) | 10 × 10 cm |
| 3+ meters (billboard) | 30 × 30 cm |
Rule of thumb: The QR code should be at least 1/10th of the expected scanning distance.
Error Correction
QR codes have four error correction levels:
- L (Low, 7%) — smallest code, least redundancy
- M (Medium, 15%) — good default for clean print
- Q (Quartile, 25%) — handles moderate damage
- H (High, 30%) — survives significant obstruction, used when placing a logo over the code
Higher error correction = larger QR code for the same content, but more resilient to damage or partial obstruction.
Contrast and Color
- Black on white is the most reliable. Scanners are optimized for it
- If using custom colors, maintain strong contrast (dark foreground, light background)
- Never invert (white modules on dark background) — many older scanners can't read it
- Avoid red foreground on white — some cameras interpret red poorly in low light
Content Guidelines
- Keep URLs short — QR codes with fewer characters are smaller and scan more reliably
- Use URL shorteners for very long links, but note the dependency on the shortener service
- Test the QR code on at least two different phones before printing
Common QR Code Mistakes
- Too small — printing a QR code the size of a fingernail on a poster nobody can scan from standing distance
- Low contrast — light grey on white, or colored codes on busy backgrounds
- Too much data — stuffing a full paragraph into a QR code creates a dense grid that's hard to scan; link to a web page instead
- Not testing — generate it, print it, scan it with two different phones. Every time
- Dynamic content in static codes — if the linked URL changes, every printed QR code becomes a dead link. Use a redirect URL you control
Static vs. Dynamic QR Codes
Static QR codes contain the data directly. The content can never change after printing. FreshUtil generates static codes — they work forever, no subscription needed, no tracking.
Dynamic QR codes contain a redirect URL controlled by a service. You can change the destination later, but you depend on that service staying online and you're usually paying a monthly fee. Most "free" QR code generators are actually dynamic — they route scans through their servers to sell analytics.
FreshUtil's QR codes are static and generated entirely in your browser. No tracking, no expiration, no server dependency.