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.