Matrix 2 of 5 (also known as Code 2 of 5 Matrix.) is a variable length, discrete, two width symbology. Matrix 2 of 5 is a subset of two-out-of-five codes. Unlike Industrial 2 of 5 code, Matrix 2 of 5 can encode data not only with black bars but with white spaces. Matrix 2 of 5 was developed in 1970-х by Nieaf Co. in The Netherlands and commonly was uses for warehouse sorting, photo finishing, and airline ticket marking. Matrix 2 of 5 can encode only digits 0-9. Matrix 2 of 5 can include optional check digit. Most of barcode readers support this symbology. Encoding Matrix 2 of 5 is a subset of two-out-of-five codes family and uses wide and narrow elements for encoding. Unlike previously developed Industrial 2 of 5 it uses both black bars and white spaces for data encoding. However, it has lower density then Interleaved 2 of 5 code, because it is discrete symbology and requires additional space between data patterns. Main advantage over Interleaved 2 of 5 codes is ability to encode odd number of characters in message. Matrix 2 of 5 encodes only digits from 0 to 9 in three black bars and two white spaces, with every data pattern split by additional white space. Matrix 2 of 5 could include optional checksum character which is added to the end of the barcode. Matrix 2 of 5 features: character set is a number (0-9); encoding density moderate: barcode length on 11% longer than Interleaved 2 of 5 symbology and on 82% than Code 128; variable length of symbol; can include optional checking character. Four starting bars and spaces in pattern have own weights which encode value of the symbol (except zero). Also, last black bar is used as parity bit to avoid single error. Value of the symbol is a sum of nonzero weights of four first pattern elements. N - narrow black bar or white space. W - wide black bar or white space. Narrow to wide components difference could be from 1/3 to 2/5. The barcode has the following physical structure: 1. Start character 2. Variable length digit characters, properly encoded 3. Stop character Checksum Matrix 2 of 5 may include an optional check digit which is calculated as mod 10/3 checksum. Because specification of Matrix 2 of 5 does not require checksum any other checksum types could be used with the