Barcode notes
1D barcode types
2 of 5 (sometimes Code25)
Can code numbers, 0123456789.
Uses five bits per digit. Simple, low data density.
Standard 2 of 5
Uses only the widths of the black bars to encode information. The white is just spaces and codes nothing.
See also:
- http://en.wikipedia.org/wiki/Two-out-of-five_code (the basic coding, and Standard 2 of 5)
Interleaved 2 of 5
Uses the width of the bars and the width of the spaces, so can code a little more information in the same space, compared to standard 2 of 5.
See also:
Derivations
For example Identcode and Leitcode are used by Deutsche Post (different aspects of delivery - leitcode is mostly delivery address, identicode is more internal), and are 2-of-5 of fixed length(verify) (12 and 14 respectively) with a different check digit (modulo-10 ?).
Code 39
Can code 43 characters (0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/|%), and one start/stop code (required as a code, and if output is represented as *).
Check digit: optional, Modulo 43.
It has seen some variations (expansions).
Full ASCII Code 39, an extension, and seems to be relatively standard(verify).
Lowish data density.
See also:
Code 93
Based on the older code 39, designed to have higher data density.
The basic form has the same 43-character set as Code 39, but with 5 extra codes that allow and extended form that code switching to cover 128 ASCII codes - this Full ASCII code 93 via two-byte combinations.
See also:
Code 128
Each symbol is a combination of bar,space,bar,space,bar,space where the width of each can be 1, 2, 3 or 4 units.
With some reserved details, each barcode symbol can code ~103 actual things.
While Code 128 covers 128 ASCII symbols, actually switches between two codesets that each code 96 of that range - and has a third codeset that is more efficient for purely numeric codes.
- Code 128A: ASCII characters 00 to 95
- includes control codes, 0–9, A–Z, some symbols
- Code 128B: ASCII characters 32 to 127
- includes 0–9, A–Z, a-z, some symbols
- Code 128C: two digits at a time
- includes 00 through 99
(can also potentially code 128..255 e.g. for Latin1, but uses a convention not widely supported)
GS1-128 (previously also known as UCC/EAN-128, UCC-128, EAN-128, because EAN changed its name to GS1 in 2005) is a Code128 that starts with FNC1, and is a more structured form used in shipping, and can contain company, container, serial number, production and expiration dates (and in fact a whole bunch more) [1]
Code 11
Codes 0123456789-
See also:
Notes:
- EAN means 'International Article Number' (actually stands for European Article Number)
- 'EAN International' changed its name to 'GS1' in 2005, so EAN and GS1 are near-synonymous
- Uniform Code Council (UCC) is a member of GS1 ('GS1 US')
GTIN (Global Trade Item Number, a GS1 term) is an umbrella concept that groups a bunch of GS1's coding for trade, and concrete ways to show them (in barcodes)(verify)
GTIN groups:
- 8-digit GTIN-8
- formerly/also known as EAN-8, UCC-8
- Can be coded in EAN-8 bar code
- 12-digit GTIN-12
- formerly/also known as EAN-12, UCC-12, UPC(-A?)
- Can be coded in UPC-A, ITF-14, and in GS1-128 bar codes
- 13-digit GTIN-12
- formerly/also known as EAN-13, UCC-13, CIP
- Can be coded in EAN-13, ITF-14, and in GS1-128 bar codes
- 14-digit GTIN-14
- Can be coded in ITF-14 and in GS1-128 bar code
Depends on application:
- Retail often uses EAN-8, EAN-13, UPC-A or UPC-E
EAN-13 and variants
EAN-13
- the straightforward barcode form of this...
- numeric international product identifier with check digit
EAN 2
- Extension to EAN-13 (and UPC-A), shown as a separate barcode area
- used to indicate issue numbers for magazines
- http://en.wikipedia.org/wiki/EAN-2
EAN 5 - expansion of EAN-13
- Extension to EAN-13 (and UPC-A), shown as a separate barcode area
- used code suggested pricing, e.g. 52199 means US$21.99 (5 for USD)
- https://en.wikipedia.org/wiki/EAN-5
EAN-8
- short variant, can (only?) be used instead of EAN-13 used when space is very limited (verify)
EAN Velocity
- EAN-8 variant (length:8) that starts with a 0
- Mostly used within companies, for products that have no EAN-13 or EAN-8 - which is now rare.
Universal Product Code (UPC)
Used for item tracking. Similar to EAN in much of its structure. Part of GS1, specifically GTIN. (verify)
Used in North America, UK, Australia, New Zealand.
http://en.wikipedia.org/wiki/Universal_Product_Code
UPC-A
UPC-E
UPC EXT2
See EAN-2 extension
UPC EXT5
See EAN-5 extension
On length
Most 1D barcodes have no mentioned maximum length.
There is a practical maximum, like barcode readers resolution and FOV (and even print resolution), but you should assume that above approximately a hundred lines (so approx two or three dozen symbols) is going to start trouble on at least budget barcode scanners.
2D barcode types
QR-Code (2D)
From Denso Wave, which owns the trademark, and is not exercising the patent rights.
Software / use:
- ZXing ('Zebra Crossing') has
- an online encoder and decoder
- some code and misc. info (Mostly Java on Android)
- Google Charts can generate QR codes (note that its API sort of requires you do some caching)
See also:
- http://en.wikipedia.org/wiki/QR_code Wikipedia
- ISO/IEC 18004:2006 (there are other standards, e.g. the Japanese one)
Data Matrix (2D)
See also:
Aztec code
Used for transport ticketing, e.g. in airlines.
https://en.wikipedia.org/wiki/Aztec_Code
Maxicode
Mainly used by UPS
https://en.wikipedia.org/wiki/MaxiCode
Stacked
Stacked 2D barcodes mean that they are set up so that they could be decoded with linear scans from a 1D barcode reader. (These days, you'ld probably much prefer a 2D scanner).
GS1 DataBar
https://en.wikipedia.org/wiki/GS1_DataBar
PDF 417
Portable Data File
Used in commercial (e.g. airline) and government (e.g. US driver license)
About four times less dense than QR and Data Matrix
See also:
MicroPDF417
Lesser known
RSS-14
RSS-14 is a Reduced Space Symbology to code an EAN-14.
It is targeted at healthcare and groceries, where items may be to small for
RSS Stacked
RSS Truncated
See also:
Unsorted
- EAN-14 - used for traded goods.
- Length: 14
- Character set: digits
- EAN-18 / SSCC-18 / NVE (Nummer der Versandeinheit) - used in supply chain tracking
- Length: 18
- Character set: digits
- UCC/EAN 128
- GS1 DataBar[2]
- (includes what used to be called RSS 14 (Reduced Space Symbology) ?(verify))
- Codabar[3]
- MSI (also known as Modified Plessey) [4]
- Plessey [5]
- ITF-14 [6]
- SCC14 - Apparently known as all of Shipping Container Code, EAN-14, UCC-14, DUN-14, UPC Case Code, Despatch Unit Number
14, GTIN-14
- Maxicode (2D) [7]
- Aztec Code (2D) [8]
- PM code (2D and color) - basically a colorful QR code
- SSCC18, a.k.a. just SSCC (Serialized Shipping Container Code)
- HIBC (Health Care Industry Barcode)
- FIM [9]
- Pharmacode [10]
- TelePen [11]
- DX (Digital indeX) - used on the edge of rolls of photo film [12]
Mail things:
- CPC Binary (Canada Post) [13]
Uppy-downy mail things
- PLANET (Postal Alpha Numeric Encoding Technique) [14]
- POSTNET (Postal Numeric Encoding Technique) [15]
- Intelligent Mail (OneCode, IMb) [16]
- RM4SCC [17], and variations like CBC, KIX
- PostBar [18]