QR Code Types & Formats: Complete Technical Guide
Master QR code technical specifications. Learn about different QR types, data formats, error correction levels, and optimization strategies for maximum reliability.
QR Code Types & Formats: Complete Technical Guide
Not all QR codes are created equal. The code that opens a website uses completely different encoding than one storing contact information. Understanding these differences ensures your codes work reliably and efficiently.
QR Code Basics: How They Work
Before diving into types, understand the fundamental structure:
Anatomy of a QR Code
Positioning Patterns (3 large squares in corners)
- Help scanners locate and orient the code
- Always present in same locations
- Critical for quick detection
Alignment Patterns (smaller squares in grid)
- Help with perspective correction
- More patterns in larger codes
- Enable accurate scanning at angles
Timing Patterns (alternating line between position markers)
- Coordinate system for data location
- Helps determine QR version
- Ensures accurate module reading
Format Information
- Error correction level
- Mask pattern used
- Located near position patterns
Data and Error Correction
- Actual encoded information
- Redundancy for damage recovery
- Takes up majority of code
Quiet Zone (white border)
- Minimum 4 modules wide
- Separates code from surroundings
- Essential for reliable scanning
Version and Capacity
QR Code Versions: 1 through 40
Version 1:
- Size: 21×21 modules
- Capacity: 25 alphanumeric characters
- Use: Short URLs, simple data
Version 10:
- Size: 57×57 modules
- Capacity: 174 alphanumeric characters
- Use: Medium data, contact cards
Version 40:
- Size: 177×177 modules
- Capacity: 4,296 alphanumeric characters
- Use: Large data sets, documents
Automatic Selection: Most generators choose version based on data length.
Data Encoding Modes
Different character types encode differently, affecting capacity:
Numeric Mode
What It Encodes: Numbers only (0-9)
Capacity (Version 40, Low error correction):
- Maximum: 7,089 digits
- Example: "1234567890"
Use Cases:
- Serial numbers
- Phone numbers
- Tracking codes
- Numeric IDs
Efficiency: Most efficient encoding
- 3.33 bits per digit
- Smallest QR code for numeric data
Example:
Input: "123456789012"
Mode: Numeric
Result: Version 1, 21×21 modules
Alphanumeric Mode
What It Encodes: Numbers, uppercase letters, and symbols
- Characters: 0-9, A-Z
- Symbols: space, $, %, *, +, -, ., /, :
Capacity (Version 40, Low error correction):
- Maximum: 4,296 characters
- Example: "HELLO WORLD 123"
Use Cases:
- URLs (uppercase)
- Product codes
- Short messages
- Identification strings
Efficiency:
- 5.5 bits per character
- More efficient than byte mode for supported characters
Limitation: Case-sensitive text not supported
Example:
Input: "HTTPS://EXAMPLE.COM"
Mode: Alphanumeric
Result: Version 2, 25×25 modules
Byte Mode
What It Encodes: Any 8-bit data
- All ASCII characters
- Unicode (UTF-8)
- Binary data
Capacity (Version 40, Low error correction):
- Maximum: 2,953 bytes
- Example: "Hello World!" (mixed case)
Use Cases:
- Full URLs with mixed case
- Email addresses
- Multilingual text
- Binary data
Efficiency:
- 8 bits per byte
- Least efficient for simple text
- Necessary for complex data
Example:
Input: "hello@example.com"
Mode: Byte (mixed case)
Result: Version 2, 25×25 modules
Kanji Mode
What It Encodes: Japanese Kanji characters
Capacity (Version 40, Low error correction):
- Maximum: 1,817 characters
- Specific to Shift JIS encoding
Use Cases:
- Japanese text
- Kanji-specific applications
Efficiency:
- 13 bits per character
- More efficient than Byte mode for Kanji
- Optimized for Japanese language
Choosing the Right Mode
Optimization Strategy:
- All numeric? → Numeric mode
- Uppercase + limited symbols? → Alphanumeric
- Mixed case or special characters? → Byte mode
- Japanese Kanji? → Kanji mode
Example Comparison:
Data: "HTTPS://EXAMPLE.COM"
Alphanumeric mode:
- Version 1 (21×21)
- 19 characters
Byte mode (if lowercase used):
- Version 2 (25×25)
- Larger code for same data
Choice: Alphanumeric (smaller, faster scan)
Error Correction Levels
QR codes include redundancy to remain scannable even when damaged:
Level L (Low): ~7% Recovery
Damage Tolerance: Up to 7% of code can be damaged
Data Capacity: Maximum (least redundancy)
Use Cases:
- Controlled environments
- Digital displays
- Protected printing
- Maximum data needs
Example:
Version 10, Level L
Capacity: 174 alphanumeric characters
Damaged area: Up to 7%
When to Use:
- ✅ Indoor use
- ✅ Clean surfaces
- ✅ Need maximum capacity
- ❌ Outdoor exposure
- ❌ Rough handling
Level M (Medium): ~15% Recovery
Damage Tolerance: Up to 15% of code can be damaged
Data Capacity: Good balance
Use Cases:
- General purpose
- Product packaging
- Indoor posters
- Business cards
Example:
Version 10, Level M
Capacity: 135 alphanumeric characters
Damaged area: Up to 15%
When to Use:
- ✅ Most applications (default choice)
- ✅ Normal wear and tear expected
- ✅ Standard printing quality
- ✅ Moderate data needs
Level Q (Quartile): ~25% Recovery
Damage Tolerance: Up to 25% of code can be damaged
Data Capacity: Reduced for reliability
Use Cases:
- Outdoor advertising
- Rough surfaces
- Long-term exposure
- Logo overlay desired
Example:
Version 10, Level Q
Capacity: 95 alphanumeric characters
Damaged area: Up to 25%
Logo overlay: Possible
When to Use:
- ✅ Logo in center (takes up space)
- ✅ Outdoor use
- ✅ Industrial environments
- ✅ Weather exposure
Level H (High): ~30% Recovery
Damage Tolerance: Up to 30% of code can be damaged
Data Capacity: Minimum (maximum redundancy)
Use Cases:
- Harsh environments
- Custom designs
- Large logo overlays
- Critical applications
Example:
Version 10, Level H
Capacity: 74 alphanumeric characters
Damaged area: Up to 30%
Logo overlay: Up to 30% coverage
When to Use:
- ✅ Maximum reliability critical
- ✅ Artistic/branded designs
- ✅ Severe conditions
- ❌ When capacity is priority
Choosing Error Correction Level
Decision Matrix:
| Factor | L | M | Q | H | |--------|---|---|---|---| | Indoor clean | ✅ | ✅ | ⚠️ | ❌ | | Outdoor | ❌ | ⚠️ | ✅ | ✅ | | With logo | ❌ | ⚠️ | ✅ | ✅ | | Max data | ✅ | ✅ | ❌ | ❌ | | Print quality varies | ❌ | ✅ | ✅ | ✅ |
Default Recommendation: Level M (best balance for most uses)
QR Code Data Types
Different information types use specific formats:
URL/Website Links
Standard Format:
https://www.example.com
Optimization:
- Use HTTPS (security and trust)
- Shorten URLs when possible
- Remove unnecessary parameters
- Use URL shorteners for long links
Example:
Long URL (87 characters):
https://www.example.com/products/category/subcategory/item?utm_source=qr&ref=12345
Shortened (22 characters):
https://bit.ly/abc123
Result: Smaller QR code, faster scanning
Mobile Optimization:
- Ensure mobile-responsive landing page
- Fast loading (under 3 seconds)
- Clear call-to-action
- Easy navigation
WiFi Network Configuration
Format:
WIFI:T:WPA;S:NetworkName;P:Password;H:false;;
Parameters:
T
: Network type (WPA, WEP, or leave blank for open)S
: SSID (network name)P
: PasswordH
: Hidden network (true/false)
Example:
WIFI:T:WPA;S:CoffeeShop_Guest;P:coffee123;H:false;;
Use Cases:
- Restaurant/cafe guest WiFi
- Office guest networks
- Event WiFi access
- Hotel rooms
Best Practices:
- Use WPA2 or WPA3
- Avoid special characters in SSID
- Test on multiple devices
- Display network name visibly
Contact Information (vCard)
Format:
BEGIN:VCARD
VERSION:3.0
FN:John Doe
ORG:Company Name
TEL:+1-555-123-4567
EMAIL:john@example.com
URL:https://example.com
END:VCARD
Full Example:
BEGIN:VCARD
VERSION:3.0
N:Doe;John;;;
FN:John Doe
ORG:Acme Corporation
TITLE:Marketing Director
TEL;TYPE=WORK,VOICE:+1-555-123-4567
TEL;TYPE=CELL:+1-555-987-6543
EMAIL:john@example.com
URL:https://johndoe.com
ADR;TYPE=WORK:;;123 Main St;New York;NY;10001;USA
END:VCARD
Fields:
- Name (FN, N)
- Organization (ORG)
- Title (TITLE)
- Phone numbers (TEL)
- Email (EMAIL)
- URL (URL)
- Address (ADR)
- Photo (PHOTO) - base64 encoded
Size Optimization:
- Include only essential fields
- Shorter job titles
- Minimal address details
- Skip photo for smaller code
Email Messages
Format:
mailto:email@example.com?subject=Subject&body=Message
Parameters:
to
: Recipient emailsubject
: Pre-filled subjectbody
: Pre-filled messagecc
: CC recipientsbcc
: BCC recipients
Example:
mailto:support@example.com?subject=Product%20Inquiry&body=I%20would%20like%20to%20know%20more%20about
Use Cases:
- Customer support links
- Product inquiries
- Feedback forms
- Newsletter signups
URL Encoding: Use %20 for spaces, %0A for line breaks
SMS Messages
Format:
sms:+15551234567?body=Message text here
iOS Format:
sms:+15551234567&body=Message text here
Cross-Platform (works on both):
sms:+15551234567?body=Message
Example:
sms:+15551234567?body=I%27d%20like%20to%20schedule%20an%20appointment
Use Cases:
- Appointment reminders
- Contest entries
- Text-to-join campaigns
- Customer feedback
Phone Numbers
Format:
tel:+15551234567
Best Practices:
- Include country code (+1 for US)
- No spaces or dashes
- Use E.164 format
Examples:
US: tel:+15551234567
UK: tel:+442012345678
International: tel:+[country][number]
Geographic Coordinates
Format:
geo:37.7749,-122.4194
With Query:
geo:0,0?q=37.7749,-122.4194(Label)
Example:
geo:40.7128,-74.0060?q=40.7128,-74.0060(New York City)
Opens:
- Google Maps (Android)
- Apple Maps (iOS)
- Default mapping app
Use Cases:
- Event locations
- Store finders
- Real estate listings
- Tourism guides
Calendar Events
Format:
BEGIN:VEVENT
SUMMARY:Event Name
DTSTART:20250201T100000Z
DTEND:20250201T110000Z
LOCATION:123 Main St, City
DESCRIPTION:Event details here
END:VEVENT
Example:
BEGIN:VEVENT
SUMMARY:Team Meeting
DTSTART:20250215T140000Z
DTEND:20250215T150000Z
LOCATION:Conference Room A
DESCRIPTION:Monthly team sync
URL:https://zoom.us/j/123456
END:VEVENT
Use Cases:
- Conference schedules
- Appointment reminders
- Event invitations
- Webinar registrations
Static vs. Dynamic QR Codes
Static QR Codes
Characteristics:
- Data embedded directly in code
- Cannot be changed after creation
- No tracking capabilities
- Works forever (no expiration)
- No internet required for code to work
Pros:
- ✅ Free to create
- ✅ Never expires
- ✅ No dependencies
- ✅ Privacy-friendly
- ✅ Offline functionality
Cons:
- ❌ Cannot update destination
- ❌ No analytics
- ❌ Larger code for long URLs
- ❌ No A/B testing
Best For:
- Permanent uses (business cards)
- WiFi passwords
- Contact information
- When tracking not needed
- Privacy-conscious applications
Example:
QR contains: https://example.com/page
Scans to: https://example.com/page (always)
If page moves: QR code becomes invalid
Dynamic QR Codes
Characteristics:
- Short redirect URL in code
- Actual destination can be changed
- Analytics and tracking
- Requires internet connection
- Depends on redirect service
Pros:
- ✅ Update destination anytime
- ✅ Detailed analytics
- ✅ A/B testing possible
- ✅ Smaller QR code (short URL)
- ✅ Campaign management
Cons:
- ❌ Requires redirect service
- ❌ Service dependency (can expire)
- ❌ Usually costs money
- ❌ Privacy considerations
- ❌ Slower (extra redirect)
Best For:
- Marketing campaigns
- Print advertising
- Event materials
- Testing and optimization
- When analytics essential
Example:
QR contains: https://qr.service/abc123
Initially redirects to: https://example.com/spring-sale
Later changed to: https://example.com/summer-sale
Same QR code works for both
Decision Guide
Choose Static When:
- Information won't change
- Tracking not required
- Want maximum reliability
- Long-term use (years)
- Privacy important
Choose Dynamic When:
- Campaign testing needed
- Analytics required
- URL might change
- Short-term campaigns
- Multiple destination testing
Advanced QR Code Features
Micro QR Codes
Specifications:
- Smaller size than standard QR
- Single position marker
- Versions: M1 to M4
- Limited capacity
Capacity:
- M1: 5 numeric digits
- M2: 10 alphanumeric characters
- M3: 23 alphanumeric characters
- M4: 35 alphanumeric characters
Use Cases:
- Small items (jewelry, electronics)
- Space-constrained applications
- Component tracking
- Minimal data needs
Frame QR Codes
Features:
- Custom canvas around code
- Brand integration
- Call-to-action text
- Eye-catching designs
Examples:
- "Scan Me" speech bubble
- Product image frame
- Brand color borders
- Decorative patterns
Considerations:
- Don't violate quiet zone
- Maintain scannability
- Test thoroughly
- Balance design and function
Frequently Asked Questions
What's the maximum data capacity of a QR code?
Version 40 with Level L can hold 7,089 numeric digits, 4,296 alphanumeric characters, or 2,953 bytes.
Which error correction level should I use?
Level M for most uses. Level Q or H if adding logos or for outdoor use. Level L only for controlled environments.
Can I edit a QR code after printing?
Only dynamic QR codes allow changing the destination. Static codes cannot be modified after creation.
Do different data types affect QR code size?
Yes. Numeric mode is most efficient, followed by alphanumeric, then byte mode. Same data requires larger codes in less efficient modes.
How do I make the smallest possible QR code?
Use numeric or alphanumeric mode, Level L error correction, shorten URLs, and include only essential data.
What happens if I exceed capacity?
The QR code automatically increases to the next version. More data = larger code.
Conclusion
Understanding QR code technical specifications ensures reliable, optimized codes for any use case. Choose the right encoding mode, error correction level, and data type for your specific needs.
Technical Optimization Checklist:
- ✅ Choose appropriate encoding mode
- ✅ Select right error correction level
- ✅ Optimize data format
- ✅ Test across devices
- ✅ Verify quiet zone
- ✅ Use appropriate version
Ready to create optimized QR codes? Generate QR Codes →
Learn practical applications in our QR Code Marketing Guide and QR Code Design Best Practices.