Standards/jab-code
JAB Code
Overview
JAB Code ("Just Another Bar Code") is an open, high-capacity colour 2D matrix barcode developed by the Fraunhofer Institute for Secure Information Technology (SIT). Unlike monochrome QR or Data Matrix codes, JAB Code uses coloured square modules — typically 4 or 8 colours — to pack more bits into each module, raising data density at the same physical size [2][2][3]3. It is the basis of the international standard ISO/IEC 23634:2022 and ships with an open-source (LGPL) reference encoder and decoder [3][3][4]4.
History
JAB Code was developed at Fraunhofer SIT on behalf of Germany's Federal Office for Information Security (BSI) [5]5. It was submitted to ISO/IEC standardization as ISO/IEC 23634 and finalized in 2022, making it an internationally standardized colour barcode [1][1][5]5. Fraunhofer published the reference implementation and specification openly, positioning JAB Code as a license-free alternative for high-capacity and document-security applications [3][3][5]5.
Technical specification
- Colour modules: JAB Code encodes data in coloured square modules. It supports 4 colours (2 bits/module) or 8 colours (3 bits/module) by default, with the specification permitting palettes up to 256 colours; the four base colours map to the CMYK model and the secondary four are red, green, blue, and white [1][1][2]2.
- Capacity gain: a 4-colour code stores roughly twice, and an 8-colour code roughly three times, the data of a monochrome (two-colour) code of the same size, allowing whole messages to be embedded directly rather than referencing an external database [1][1][7]7.
- Symbol structure: a single primary symbol carries four finder patterns at its corners; optional secondary symbols (which omit finder patterns) can "dock" horizontally or vertically onto the primary or other secondaries, supporting square or rectangular layouts and large total areas [1][1][3]3.
- Error correction: JAB Code uses Low-Density Parity-Check (LDPC) codes for error correction, with user-selectable strength (commonly cited as 11 levels, 0–10, default 3 per ISO/IEC 23634:2022) [2]2.
- Reference implementation: written in C (C11), comprising a core library (
src/jabcode), a writer (jabcodeWriter), and a reader (jabcodeReader); buildable on Linux and via MinGW-w64 on Windows [4]4.
Use cases
- Document security and authenticity: verifying certificates, wills, and prescriptions; embedding digital signatures so a document can be checked offline without a database lookup [5]5.
- Anti-counterfeiting of products, where the high capacity stores full signed payloads on the item itself [5]5.
- General high-density data carriage where a QR code would be too small or require an online reference [1][1][7]7.
Implementations
The official reference implementation is jabcode/jabcode on GitHub, an LGPL v2.1, C-language encoder and decoder maintained by Fraunhofer SIT, with API documentation, the ISO/IEC 23634:2022 spec, and a live demo at jabcode.org [3][3][4]4. Because the format is open and not subject to licensing, third-party ports and wrappers also exist [1][1][5]5.
Comparison
JAB Code's defining departure from QR / Data Matrix is the use of colour as a third information dimension, multiplying per-module capacity (2–3×) while keeping a familiar finder-pattern-and-matrix layout; the cost is reliance on colour-faithful printing and capture [1][1][7]7. Against Microsoft's High Capacity Color Barcode (HCCB) — which also uses 4 or 8 colours but arranges them as clusters of coloured triangles and was commercialized as the now-discontinued Microsoft Tag — JAB Code uses coloured square modules, is fully open and ISO-standardized, and is actively maintained, whereas HCCB/Microsoft Tag has been retired [7]7. JAB Code's main practical weakness relative to QR is limited reader ecosystem and adoption [7]7.
Fun facts
- JAB Code was created for the German Federal Office for Information Security, with document-forgery resistance (including pairing with "paper fingerprinting") among its design goals [5]5.
- Its eight default colours are the CMYK primaries (cyan, magenta, yellow, black) plus red, green, blue, and white [1]1.
Status
Active. Standardized as ISO/IEC 23634:2022, with an openly maintained LGPL reference encoder/decoder and a public demo; free of licensing restrictions [1][1][3][3][5]5.
Sources
1 JAB Code — Wikipedia, 2024 2 JAB Code — Grokipedia, 2025 3 JAB Code — official project site — Fraunhofer SIT, 2024 4 jabcode/jabcode reference implementation — Fraunhofer SIT (GitHub), 2024 5 Color barcode becomes ISO standard — Fraunhofer SIT, 2022 7 Comparison to other similar barcodes / High Capacity Color Barcode — Wikipedia, 2024
Deployments
No country reports mention this standard by name.
Regions / aggregations not mapped to a single country
- Universal