QR Code Generator

QR codes for URL, WiFi, contact, vCard - colors, logo, bulk export.

Free Online QR Code Generator

QR codes bridge physical and digital - menus, business cards, WiFi sharing, event check-in. Dokall generates QR codes for URLs, WiFi networks, plain text, and vCard contacts with customizable colors and optional logo embedding.

Download as PNG or SVG, or bulk-generate multiple codes at once. All rendering happens in your browser for fast, private QR code creation.

What is a QR Code?

A QR code (Quick Response code) is a two-dimensional barcode that stores data as a pattern of black and white squares. Invented by Denso Wave in 1994 for tracking automotive parts, QR codes are now used everywhere - payments, menus, boarding passes, contact sharing, WiFi login, and marketing materials.

Unlike traditional barcodes that store data in one dimension (a row of lines), QR codes encode data in both horizontal and vertical directions. This allows them to hold significantly more information - up to about 3,000 bytes of binary data or over 4,000 alphanumeric characters.

QR Code Data Types

The most common QR code type encodes a URL. When scanned, the phone opens the browser and navigates to the link. But QR codes support several structured data formats.

WiFi QR codes encode the network name (SSID), password, and encryption type. Scanning one on a phone automatically connects to the network without typing the password. The format is WIFI:T:WPA;S:NetworkName;P:password;;.

vCard QR codes encode contact information - name, phone, email, address, company. Scanning adds the contact directly to the phone's address book.

Plain text QR codes simply display the encoded text. Calendar event codes (vEvent) add events to the calendar. SMS codes open the messaging app with a pre-filled number and message. Each type uses a specific prefix or format that phones and scanning apps recognize.

QR Code Error Correction

QR codes have built-in error correction that allows them to be read even when partially damaged or obscured. There are four error correction levels: L (Low, ~7% recovery), M (Medium, ~15%), Q (Quartile, ~25%), and H (High, ~30%).

Higher error correction means more redundant data is stored, which makes the QR code larger (more modules) for the same payload. Level M is the default and works well for most uses. Use level H when the code might be printed on curved surfaces, partially covered, or when you want to overlay a logo in the center.

The logo overlay trick works because the error correction data can reconstruct the covered portion - as long as the covered area does not exceed the error correction capacity. With level H, you can safely cover up to about 30% of the code area.

QR Code Design Best Practices

Maintain high contrast between the foreground and background. Black on white is most reliable. If you use custom colors, ensure there is enough contrast for scanners - dark foreground on light background works best. Avoid inverting (white on black) as some older scanners struggle with it.

Include a quiet zone - an empty margin around the code at least 4 modules wide. Without sufficient margin, scanners may not detect the code boundaries.

Test the code at the intended print size. The minimum printed size depends on the number of modules and the scanning distance. For a standard 25-module QR code, a minimum of 2 cm x 2 cm works for close-range scanning. For posters or billboards scanned from a distance, scale up proportionally.

Use URL shorteners for long URLs. Shorter data produces fewer modules, which makes the QR code simpler and more scan-resistant at small sizes. Dokall's URL shortener can create short links specifically for QR code use.

Static vs Dynamic QR Codes

A static QR code has the data encoded directly in the pattern. Once printed, the content cannot be changed. If you encoded a URL and later want to change the destination, you need to generate and print a new code.

A dynamic QR code encodes a redirect URL (typically a short link). The redirect destination can be changed at any time without reprinting the code. This is useful for marketing campaigns, menus that change seasonally, or any context where the content needs to be updated.

Dokall generates static QR codes. For dynamic behavior, combine the QR code generator with Dokall's URL shortener - encode the short link in the QR code, and update the redirect destination later.

Frequently Asked Questions

How much data can a QR code store?
A QR code can store up to 7,089 numeric characters, 4,296 alphanumeric characters, or 2,953 bytes of binary data. In practice, shorter data produces simpler, more scannable codes. A typical URL of 50-100 characters produces a QR code that scans easily even at small print sizes.
Do QR codes expire?
Static QR codes never expire - the data is embedded in the pattern itself and will work as long as the physical code is readable. Dynamic QR codes (which redirect through a service) expire if the redirect service shuts down or the link is deleted. Dokall's generated QR codes are static and permanent.
Can I customize QR code colors and add a logo?
Yes. You can change the foreground and background colors as long as there is sufficient contrast (dark foreground, light background). You can overlay a logo in the center if you use a high error correction level (H), which allows up to 30% of the code to be obscured. Dokall supports both custom colors and logo overlay.
What is QR code error correction?
QR codes include redundant data that allows them to be read even when partially damaged. There are four levels: L (7% recovery), M (15%), Q (25%), and H (30%). Higher error correction produces larger codes but makes them more resilient to damage, dirt, or logo overlays.
What is the minimum size for a printed QR code?
A QR code should be at least 2 cm x 2 cm (0.8 x 0.8 inches) for close-range scanning with a smartphone. For scanning from a distance, use the 10:1 rule - the code should be at least 1/10th of the scanning distance in width. A code scanned from 1 meter away should be at least 10 cm wide.
Are QR codes secure?
QR codes are a data carrier - they are as secure as the data they contain. A QR code linking to a phishing site is dangerous, but that is the URL's fault, not the QR code's. Always preview the decoded content before opening links from unknown QR codes. Dokall's QR Code Scanner shows you the URL before you navigate to it.
What is the difference between static and dynamic QR codes?
A static QR code has the data encoded directly in the image - it cannot be changed after creation. A dynamic QR code encodes a redirect URL that can be changed anytime without reprinting the code. Static codes are free and permanent; dynamic codes require a redirect service and may have costs or expiration.