구조적 연결: 여러 QR Codes에 데이터 분할하기
Using structured append mode to split large data across up to 16 QR symbols. Headers, reassembly, and practical limitations.
Structured Append: Splitting Data Across Multiple QR Codes
When data exceeds the capacity of a single QR code (even at module count." data-category="QR Code Structure">Version 40, EC Level L), Structured Append mode allows splitting the data across up to 16 linked QR code symbols.
How Structured Append Works
Each QR code in a structured append sequence contains a header with:
- Symbol position (4 bits): This symbol's position (0-15) in the sequence
- Total symbols (4 bits): Total number of symbols in the sequence
- Parity byte (8 bits): XOR of all data bytes across all symbols for verification
The scanner collects all symbols in the sequence and reassembles the data in order, regardless of the scanning order.
Encoding the Header
The structured append header appears at the beginning of the data stream:
- encoding mode." data-category="Encoding & Data">Mode indicator:
0011(Structured Append mode) - Symbol sequence indicator: 4 bits for position, 4 bits for total
- Parity data: 8 bits (XOR of all data bytes)
Total overhead per symbol: 20 bits.
Practical Limitations
Despite being part of the ISO 18004 standard, structured append has significant practical limitations:
- Scanner support: Most smartphone camera apps do not support structured append. They decode each symbol independently.
- User experience: Users must scan multiple codes in sequence — a poor interaction pattern
- Reassembly: Only dedicated scanner applications handle automatic reassembly
- Maximum 16 symbols: Even with 16 Version 40 codes at EC-L, total capacity is approximately 47,000 bytes
Better Alternatives
For most large-data scenarios, alternatives are preferable:
| Alternative | Use Case |
|---|---|
| Dynamic QR code | Encode a short URL linking to the full content |
| URL QR code | Link to a web page with the complete data |
| NFC tag | Higher capacity than QR, no visual scanning needed |
| Data compression | Compress data before encoding (gzip/zlib) |
When Structured Append Makes Sense
- Industrial contexts with dedicated scanner hardware that supports reassembly
- Archival systems where data must be self-contained (no network dependency)
- Regulated environments requiring the complete data in the physical symbol
Key Takeaways
- Structured Append splits data across up to 16 QR code symbols
- Each symbol contains position, total count, and parity information
- Most smartphone cameras do NOT support structured append
- Dynamic or URL QR codes are better alternatives for most scenarios
- Use only with dedicated scanners in industrial or archival contexts