Bar Code 1®
A Web Of Information About Bar Code
2-Dimensional Bar Code Page

Specifications For Popular 2D Bar Codes

For years bar codes have been promoted as a machine readable licence plate. Each label contained a unique serial number coded in black and white bars that was a key into a database containing detailed information. That was the expert wisdom. Yet many end users wanted to code more information. They wanted the bar code to be a portable database rather than just a database key.

In 1984 the trend to portable databases began when the Automotive Industry Action Group (AIAG) published an application standard for shipping and parts identification labels which consisted of four "stacked" Code 39 bar codes. These stacked bar codes contained part number, quantity, supplier, and serial number.

The first truly two-dimensional bar code was introduced by Intermec Corporation in 1988 when they announced Code 49. Since Code 49's introduction, six other coded have either been invented or have been redesigned to meet the need to place a portable database in as little space as possible.

There are several terms now being used to describe this new class of keyless data entry symbologies. Two-dimensional code or 2-D code really is generic to this entire class.

The terms stacked symbology or multi-row code are more accurately applied to those symbologies made up of a series of one-dimensional bar codes. The data is coded in a series of bars and spaces of varying width.

The term Matrix code applies to 2-D codes that code the data based on the position of black spots within a matrix. Each black element is the same dimension and it is the position of the element that codes the data.

Ordinary bar code is "vertically redundant", meaning that the same information is repeated vertically. It is in fact a one-dimensional code. The heights of the bars can be truncated without any lose of information. However, the vertical redundancy allows a symbol with printing defects, such as spots or voids, to still be read. The higher the bar heights, the more probability that at least one path along the bar code will be readable.

A two-dimensional code stores information along the height as well as the length of the symbol. In fact, all human alphabets are two-dimensional codes. Since both dimensions contain information, at least some of the vertical redundancy is gone. Other techniques must be used to prevent misreads and to produce an acceptable read rate. Misread prevention is relatively easy. Most two-dimensional codes use check words to insure accurate reading. Acceptable read rate is a different problem, and no research has been done to date to assess first read rates.

Two-dimensional code systems have become more feasible with the increased use of moving beam laser scanners, and Charge Coupled Device (CCD) scanners. The 2-D symbol can be read with hand held moving beam scanners by sweeping the horizontal beam down the symbol. However, this way of reading such a symbol brings us full circle back to the way 1D bar code was read -- by sweeping a contact wand across the symbol. The speed of sweep, resolution of the scanner, and symbol/reader distance take on the same criticality as with contact readers and one-dimensional bar code.

Initially, two-dimensional symbologies were developed for applications where only a small amount of space was available for an automatic ID symbol. The first application for such symbols was unit-dose packages in the healthcare industry. These packages were small and had little room to place a bar code. The electronics industry also showed an early interest in very high density bar codes, and two-dimensional symbologies since free space on electronics assemblies was scarce.

More recently, the ability to encode a portable database has made two-dimensional symbologies attractive in applications where space is not at a premium. One example is storing name, address, and demographic information on direct mail business reply cards. A good direct mail response is often less that two percent. If the return card is only coded with a "licence plate", the few replies much be checked against a very large database, perhaps millions of names. This can be quite expensive in computer time. If all the important information is printed in two-dimensional code at the time the mailing label is printed, there is very little additional cost, and a potential for great savings when the cards are returned. Similar savings can occur in field service applications where servicing data is stored in a 2-D symbol on equipment. The field engineer uses a portable reader to get the information rather than dialing up the home office's computer.

There are well over 20 different 2-D symbologies available today. The following is a list of a few of the more popular. If you would like to see others, please drop the Webmaster a note with the name of the code. Please see the specification sources page for the addresses and phone numbers of the sources for the specifications of these codes. You can find a list of industries and what types of 2-D symbologies they use by going here.

3D Barcode (Bumpy Barcode)

3D barcode really is any linear (1D) barcode (like Code 39 or Code 128) that is embossed on a surface. The code is read by using differences in height, rather than contrast, to distinguish between bars and spaces using a special reader. The code can be used where printed labels will not adhere, or will be otherwise destroyed by a hostile or abrasive environment. They can be painted or coated and still be read. They can be made a permanent feature of a part, making mislabeling impossible. For more information see the Mecco site or the TraceAbility Systems site. United States Patent 5393967


3-DI was developed by Lynn Ltd and is a proprietary code. 3-DI uses small circular symbols. It is most suited for identification marks on shiny, curved metal surfaces such as surgical instruments. Lynn Ltd., 912 North Main Street, Ann Arbor, MI 48104 313-996-1777(v),663-7937(fax). United States Patent 5554841


ArrayTag was invented by Dr. Warren D. Little of the University of Victoria and is a proprietary code. The symbol is made up of elemental hexagonal symbols with a patented complementing border which are printed either alone or in sequenced groups. ArrayTags can encode hundreds of characters and can be read at distances up to 50 meters and is optimized for reading at a distance or in variable lighting situations. The principle application of the code is to track logs and lumber. ArrayTech Systems, 3115 Wessex Close, Victoria, BC, Canada V8P 5N2, 604-592-9525 (voice and fax) United States Patent 5202552

Aztec Code

Aztec Code was invented by Andy Longacre of Welch Allyn Inc. in 1995 and is in the public domain. Aztec Code was designed for ease-of-printing and ease-of-decoding. The symbols are square overall on a square grid with a square central bulls eye finder. The smallest Aztec Code symbol is 15x15 modules square, and the largest is 151x151. The smallest Aztec Code symbol encodes 13 numeric or 12 alphabetic characters, while the largest Aztec Code symbol encodes 3832 numeric or 3067 alphabetic characters or 1914 bytes of data. No quiet zone is required outside the bounds of the symbol . There are 32 sizes in all with user-selected amounts of Reed-Solomon error encoding from 5% to 95% of data region. Recommended level is 23% of symbol capacity plus 3 codewords

All 8-bit values can be encoded. Values 0 - 127 are interpreted as the ASCII character set while values 128 - 255 are interpreted as ISO 8859-1, Latin Alphabet No. 1. Two non-data characters can be encoded, FNC1 for compatibility with some existing applications and ECI escape sequences for the standardized encoding of message interpretation information.

More information at United States Patent 5591956.

Small Aztec Code

Small Aztec Code is a special space-saving version of Aztec Code for encoding shorter messages (up to 95 characters). Space is saved by removing one set of rings from the finder pattern, eliminating the reference grid, and using a shorter mode message which limits the symbols to four data layers; otherwise, the encoding rules are generally the same as for standard Aztec Code. Small Aztec symbols are completely decoder compatible with standard Aztec symbols so the two types can be intermixed in applications.

There are four possible sizes of Small Aztec symbol. As with standard Aztec Code, the one and two layer symbols employ 6-bit codewords for error correction while the three and four layer symbols employ 8-bit codewords. Although the 4-layer symbol holds 76 codewords, at most 64 of those can be data words, thus Small Aztec symbols are limited to encoding 512 bits of data (typically about 95 characters or 120 digits).


Codablock is a stacked symbology from ICS Identcode-Systeme. It was invented by Heinrich Oehlmann and was originally a stack of Code 39 symbols.

Each Codablock symbol contains from 1 to 22 rows. The number of characters per row is a function of the x-dimension of the symbol. In other words, each row can contain a variable amount of characters. Each symbol has a start and stop bar group that extends the height of the symbol. Each row has a two character row indicator, and the last row of the symbol has an optional check digit. The symbol printing program must calculate not only the number of rows needed as in the other stack symbologies, but also calculate the number of characters per row and the print density necessary to best fit the data into the Codablock symbol.

The code is a continuous, variable-length symbology that can encode the Code 39 character set (10 digits, 26 letters, space, and 6 symbols) and is no more dense than a Code 39 symbol at a given print density. For example, the maximum data density is 56 alphanumeric characters per square inch with a symbol using an x-dimension of about 7.5 mils and a bar ratio of 2 to 1.

The current version is Codablock F which is basically a stack of Code 128 symbols. A Codablock F symbol consists of between 2 and 44 rows, each up to a maximum of 62 symbol characters wide. Each row can be read by a standard code 128 reader and contains additional overhead information relating to row numbering and symbol size to enable the decoded output from each row to be re-assembled to reproduce the complete message in the right sequence.

The advantage of this code is that it can be read by moving beam laser scanners with very little modification. Codablock was adopted by German blood banks for the identification of blood. United States Patent 5235172.

Code 1 (Code One)

Code 1 was invented by Ted Williams in 1992 and is the earliest public domain matrix symbology. It uses a finder pattern of horizontal and vertical bars crossing the middle of the symbol. The symbol can encode ASCII data, error correction data, function characters, and binary encoded data. There are 8 sizes ranging from code 1A to code 1H. Code 1A can hold 13 alphanumeric characters or 22 digits while code 1H can hold 2218 alphanumeric characters or 3550 digits. The largest symbol version measures 134x wide by 148x high. The code itself can be made into many shapes such as an L, U, or T form.

Code 1 is currently used in the health care industry for medicine labels and the recycling industry to encode container content for sorting. There does not appear to be any US Patent.

You can purchase complete, official specifications from the following organizations:

Code 16K

Code 16K was developed by Ted Williams in 1989 to provide a simple to print and decode multiple row symbology. Williams also developed Code 128, and the structure of 16K is based on Code 128. Not coincidentally, 128 squared happened to equal 16,000 or 16K for short. Code 16K resolved an inherent problem with Code 49. Code 49's structure requires a large amount of memory for encoding and decoding tables and algorithms. 16K is a stacked symbology.

Each Code 16K symbol contains from 2 to 16 rows, with 5 ASCII characters per row. Additionally, up to 107 16-row symbols can be concatenated together to allow encoding of up to 8,025 ASCII characters, or 16,050 numeric digits. In the extended mode, the first three characters in each 16 row symbol defines the mode character, the order of the 16 row symbol in the block, and the total number of symbols in the block.

The code is a continuous, variable-length symbology that can encode the complete ASCII 128-character set. The minimum value of the x-dimension is 7.5 mils for a symbol to be read by an unknown reader. Minimum bar height is 8 times the x-dimension The maximum data density is 208 alphanumeric characters per square inch or 417 numeric digits per square inch when the symbol is printed at 7.5 mils. In the health care industry for example, a Code 16K symbol printed with a 7.5 mil x-dimension including a flag character, a 10 digit NCD number, a 5 digit expiration date, and a 10 alphanumeric lot code, would fit in a symbol measuring only .35 inches by .61 inches.

Code 16K symbols can be read by modified moving beam laser or CCD scanners. Rows can be scanned in any order. After the last row has been scanned, the bar code reader automatically puts the information in proper sequence. Labels can be printed by standard printing technologies. There does not appear to be any US Patent.

There is a complete pdf specification here.

You can purchase complete, official specifications from the following organizations:

Code 49

Code 49 was developed by David Allais in 1987 at the Intermec Corporation to fill a need to pack a lot of information into a very small symbol. Code 49 accomplishes this by using a series of bar code symbols stacked one on top of another. Each symbol can have between two and eight rows. Each row consists of a leading quiet zone; a starting pattern; four data words encoding eight characters, with the last character a row check character; a stop pattern; and a trailing quiet zone. Every row encodes the data in exactly 18 bars and 17 spaces, and each row is separated by a one-module high separator bar (row separator).

The code is a continuous, variable-length symbology that can encode the complete ASCII 128-character set. Its structure is actually a cross between UPC and Code 39. Intermec has put the code in the public domain.

The minimum value of the x-dimension is 7.5 mils for a symbol to be read by an unknown reader. Assuming an x-dimension of 7.5 mils, and a minimum 8 row symbol height of .5475 inches, the maximum theoretical density is 170 alphanumeric characters per square inch. For a health industry symbol with a flag character, a 10-digit NDC number, a 5-digit expiration date, and a 10-character alphanumeric lot code, the symbol would be .3 inches by .53 inches. A 15-digit printed circuit board serial number Code 49 symbol would be only .1 inches by .3 inches.

Scanning Code 49 can be done with modified moving beam laser scanners or CCD scanner. Intermec makes a CCD scanner which will decode Code 49 symbols along with standard bar code symbologies. Labels can be printed by standard printing technologies.

You can purchase complete, official specifications from the following organizations:

More information about Code 49 is available in the following United States patents: 4,794,239


Color Code SymbolDeveloped by researchers at Korea's Yonsei University, ColorCode™ is a proprietary two-dimensional bar code system that is designed to store URLs and be read by a cell phone camera. It allows a camera to recognize indexed codes, which are in turn linked to data. The matrix of blocks and analog data pertaining to the number of colors are digitized and then processed by a dedicated server using addresses registered for the codes. More information is available at ColorZip SEA Pte Ltd. Also see United States patents: 6,981,644, 7,020,327, and 7,487,914.

CP Code

CP Code is a proprietary code developed by CP Tron, Inc. It is made up of square matrix symbols with an L-shaped peripheral Finder and adjacent timing marks. Visually similar to Data Matrix Code. United States Patent 5343031. See also United States Patent 5128526


DataGlyph is a proprietary code developed by Xerox PARC . The code is made up of a gray background pattern of small "\"s and "/"s encoding binary data, including synchronization patterns and error correction. Each mark can be as short as 1/100th of an inch (0.25mm). Densities of 1000 8-bit "bytes" per square inch are possible using this code. DataGlyph is tolerant to ink marks, bad copies, and even staples through the symbol because of the internal error correction, randomization of the data.

DataGlyphs are designed to merge with the design of the product they are printed on. DataGlyphs can be logos or tints behind text or graphics. Applications include questionnaires, direct-mail reply forms and surveys and business cards The symbol is read using an image scanner. United States Patent 5245165.

Data Matrix

Data Matrix from Siemens, is a 2-D matrix code designed to pack a lot of information in a very small space. A Data Matrix symbol can store between one and 500 characters. The symbol is also scalable between a 1-mil square to a 14-inch square. That means that a Data Matrix symbol has a maximum theoretical density of 500 million characters to the inch! The practical density will, of course, be limited by the resolution of the printing and reading technology used.

The code has several other interesting features. Since the information is encoded by absolute dot position rather relative dot position, it is not as susceptible to printing defects as is traditional bar code. The coding scheme has a high level of redundancy with the data "scattered" throughout the symbol. According to the company, this allows the symbol to be read correctly even if part of it is missing. Each Datacode symbol has two adjacent sides printed as solid bars, while the remaining adjacent sides are printed as a series of equally spaced square dots. These patterns are used to indicate both orientation and printing density of the symbol.

Two main subsets of Datamatrix symbols exists. Those using convolutional coding for error correction which were used for most of the initial installations of Datamatrix systems, these versions are referenced as ECC-000 to ECC-140. The second subset is referenced ECC-200 and uses Reed-Solomon error correction techniques. ECC-000 to 140 symbols all have an odd number of modules along each square side. ECC-200 symbols have an even number of modules on each side. Maximum data capacity of an ECC-200 symbol is 3116 numeric digits, or 2335 alpha numeric characters, in a symbol 144 modules square.

The most popular applications for Datamatrix is the marking of small items such as integrated circuits and printed circuit boards. These applications make use of the code’s ability to encode approximately fifty characters of data in a symbol 2 or 3mm square and the fact that the code can be read with only a 20 percent contrast ratio.

The code is read by CCD video camera or CCD scanner. Symbols between one-eight inch square to seven inches square can be read at distances ranging from contact to 36 inches away. Typical reading rates are 5 symbols per second.

Patent Concerns
In 2005, Acacia Research Corp. began to demand royalties from users of Data Matrix barcode, even though Data Matrix was in the public domain. Acacia alleged that Data Matrix infringed their patent to Vericode, which was not in the public domain. Cognex, a barcode printer and scanner company that sold barcode scanners for Data Matrix code, filed suit against Acacia alleging that the Vericode patent was invalid. On May 19, 2008, The U.S. District Court for the District of Minnesota held most of the claims to be invalid and the patent to be unenforceable. You can read the court order here. As of November 16, 2008, there is no indication that Acacia has appealed this decision.

On March 22, 2006, a "third party" Re-Examination of the Vericode patent (5,612,524) was requested. The Re-Exam application number is 90/007980. On December 4, 2007, a rejection of many of the patent claims was issued by the the US Patent and Trademark office. This Re-Examination application as of November 16, 2008 is still pending. The case has been finally rejected and Acacia has filed a notice of appeal.

More Data Matrix Resources

More information about Data Matrix is available at The Barcode Software Center web site

You can type in data and generate a Data Matrix symbol by going here .

You canbuy a Windows program to generate Data Matrix code by going here.

You can decode a Data Martix image by visiting this site and uploading an image of the code.

More information about Data Matrix code is available in the following United States patents: 4,939,354; 5,053,609; 5,124,536

There are programs that are released under GNU (which means that the source code is available for free).

libdmtx is a shared library for Linux that can be used to read (scan & decode) and write (encode & print) 2D Data Matrix barcode symbols. It is released under the LGPL and can be used and distributed freely under these terms. (Sourceforge link.)

Data Matrix Reader For Symbian OS cellphones at sourceforge.

Data Matrix specification is available free from GS1.

You can purchase complete, official specifications from the following organizations:

Datastrip Code

Datastrip Code was originally called Softstrip and was developed by Softstrip Systems. It is the oldest of the two dimensional symbologies. This proprietary code is now owned by Datastrip Inc. It is a patented encoding and scanning system that allows, data, graphics and even digitized sound to be printed on plain paper in a highly condensed format and read error-free into a computer.

Datastrip's main components are printed graphic patterns (the Datastrip) and electro-optical readers. A Datastrip Code consists of a matrix pattern, comprising very small, rectangular black and white areas (or DiBits). Markers down the side and across the top of the strip (start line, checkerboard and rack) contain alignment information for the Datastrip Code readers and ensure data integrity. Header information contains details about the data stored on the strip: file name, number of bytes, density of the data strip, etc. The Datastrip encoding method, which includes parity bits on each encoded line, offers excellent reliability and error correction capabilities.

Data strips are typically up to 5/8 inch wide and up to 9 inches long. Data density can vary from 150 to 1,000 bytes per square inch, depending upon the printing technology used to produce the strips. Datastrip Code can be successfully produced by most types of dot matrix, laser (including very high speed centralized laser printers), ink jet or thermal printers. Datastrip Code can be reproduced on most types of paper (including newsprint) and plastic, using conventional printing processes, ranging from office photocopiers (for lower density strips) to high speed web presses. Low density strips (up to 1,100 bytes per 9-inch strip) may be produced on most dot matrix printers. Strips containing up to 3,500 bytes can be produced using laser printing technologies. Very high density strips (up to 4,800 bytes) require more sophisticated production methods using photographic techniques.

Datastrip Code must be read by special readers from Datastrip, Inc. and the reader must be in contact with the code. Originally this code was promoted as a way to publish software in books and magazines in a machine-readable form. The code is now of most interest for printing information on ID cards.

More information about SoftStrip is available in the following United States patents: 4,692,603; 4,728,783; 4,754,127; 4,782,221

Dot Code A

Dot Code A (also known as Philips Dot Code) is one of a limited number of dot code symbologies. This symbology was designed for unique identification of objects in a relatively small area, or for direct marking by low precision marking technologies. The symbol consists of a square array of dots ranging from 6 x 6, to 12 x 12, the latter enabling over 42 billion, billion, billion, billion individual items to be distinguished. Applications include the identification of laboratory glassware and the marking of laundry. United States Patent 4745269.


HCCB The High Capacity Color Barcode barcode format takes advantage of advanced computer imaging devices along with processing power to enable higher density storage of data on analog printed media. The format achieves this by using a different barcode symbol shape in combination with multiple colors per symbol. It is a proprietary code. More information is available at Microsoft Research.


HueCode is a proprietary code developed by Robot Design Associates. The code is made up of blocks of cells containing more than one bit per cell. This is done by using shades of gray or color. The symbol can be printed on plastic or paper. Information densities vary according to the specific techniques used, but range between under 640 Bytes/sq. in. using laser printers to over 40,000 Bytes/sq. in. using dye sublimation printers. HueCode is read using a flatbed scanner set to 400x400 DPI and proprietary software. The code is intended to store text information on the backs of business cards or medical cards.

More information about hueCode is available in the following United States patents: 5,369,261; 5,118,369;


INTACTA.CODE™ is a proprietary code developed by INTACTA Technologies, Inc. and can take any binary data such as executable files, video, text, audio (or a combination of files) and then apply INTACTA.CODE™’s compression, encoding and error correction engines to create an envelope for the data which allows it to be distributed securely while maintaining the integrity of the format and the content.


Maxicode (originally called UPSCode, sometimes called Code 6) is a matrix code developed by United Parcel Service in 1992. However, rather than being made up of a series of square dots, MaxiCode is made up of an a 1-inch by 1-inch array of 866 interlocking hexagons. This allows the code to be at least 15 percent denser than a square dot code, but requires higher resolution printers like thermal transfer or laser to print the symbol. There is a central bull-eye to allow a scanner to locate the label regardless or orientation.

Approximately 100 ASCII characters can be held in the 1-inch square symbol. The symbol can still be read even when up to 25 percent of the symbol has been destroyed and can be read by CCD camera or scanner.

More Information is available here.

More information about Maxicode is available in the following patents: 4,874,936; 4,896,029; 4,998,010

There are programs that are released under GNU (which means that the source code is available for free).

maxicode barcode is an open source converter for the maxicode 2D barcode.

You can purchase complete, official specifications from the following organizations:


MiniCode was developed by Omniplanar, Inc. (now owned by Honeywell) and is proprietary. It is made up of square matrix symbols with a patented method of encoding both low-resolution data (tracking/sortation applications), and high-resolution data (shipping manifest applications).

More information about MiniCode is available in the following patents: 5,153,418; 5,189,292; 5,223,701

PDF 417

PDF417 is a stacked symbology and was invented by Ynjiun Wang in 1991 at Symbol Technologies, now owned by Motorola. PDF stands for Portable Data File, and the symbology consists of 17 modules each containing 4 bars and spaces (thus the number "417"). The code is in the public domain.

The structure of the code allows for between 1000 to 2000 characters per symbol with an information density of between 100 and 340 characters. Each symbol has a start and stop bar group that extends the height of the symbol.

A PDF417 symbol can be read with modified handheld laser or CCD scanners. High density printers (thermal transfer or laser) should be used to print the symbol.

More details are available about PDF417 in the United States Patent 5,243,655. In 2004, Symbol Technologies placed the code in the public domain.

You can purchase complete, official specifications from the following organizations:

Micro PDF417

MicroPDF417 is derived from PDF417. The code has a limited set of symbol sizes and a fixed level of error correction for each symbol size. Module dimensions are user-specified so that the symbol may be printed with a variety of printers. The symbology allows up to 150 bytes, 250 alphanumeric characters, or 366 numeric digits to be stored. This is done by specifying one of three compaction modes: data, text or numeric. Text Compaction mode permits all printable ASCII characters to be encoded (values 32 to 126 inclusive) as well as selected control characters. Byte Compaction mode permits all 256 possible 8-bit byte values to be encoded. This includes all ASCII characters value 0 to 127 inclusive and provides for international character set support

MicroPDF417 is designed for applications where the symbol must be smaller than PDF417 will allow.

QR Code

QR Code (Quick Response Code) is a matrix code developed by Nippondenso ID Systems and is in the public domain. QR Code symbols are square in shape and can easily be identified by their finder pattern of nested alternating dark and light squares at three corners of the symbol. Maximum symbol size is 177 modules square, capable of encoding 7366 numeric characters, or 4464 alpha numeric characters. One important feature of the symbology is its ability to encode directly Japanese Kanji and Kana characters. QR Code is designed for rapid reading using CCD array cameras and image processing technology because of the layout of the finder pattern. See more information about QR Code here. United States Patent 5726435. According to the Company, the QR Code patent is not enforced. If you want to see all the wide ranging applications (including solving a crime on the US TV show CSI) visit QR Code and 2D Barcode News. This is a great site!!! There is jewelry with QR Code here.

Snowflake Code

Snowflake Code is a proprietary code developed by Electronic Automation Ltd. in 1981. The code is a square array of discrete dots, similar to Philips "Dot Code". It is possible to encode more than 100 numeric digits in a space of only 5mm x 5mm. User selectable error correction allows up to 40% of the code to be destroyed and still remain readable.

The code is used in the pharmaceutical industry and has an advantage that it can be applied to products and materials in a wide variety of ways, including printed labels, ink-jet printing, laser-etching, indenting or hole punching. Electronic Automation Ltd. was acquired in March 1999 by Videojet Systems International Inc., a division of Marconi Data Systems Inc. which now appears to no longer exist. United States Patent: 5825015.


SuperCode was invented by Ynjiun Wang in 1994 and is in the public domain. The symbology uses a packet structure, a variant of a multi-row symbology. There are precise rules for the horizontal placement of symbol characters in a packet, but greater freedom in placing packets vertically and horizontally than offered by a matrix of columns and rows in a multi-row symbology. The packet structure of SuperCode ensures that each symbol character encoding a data or error correction codeword is adjacent to a symbol character encoding the packet address. Thus the sequence of codewords is known regardless of how the packets are arranged. Not only does this allow for non-rectangular symbol shapes, but the packets do not have to abut one another physically.

The maximum number of data characters per symbol at the lowest level of error correction is 4,083 alphanumeric data characters, 5,102 digits, or 2,546 bytes. SuperCode symbols have error correction codewords, based on Reed-Solomon error correction algorithms, which can be used not only to detect errors but to correct erroneously decoded or missing codewords. A user may select one of 32 error correction levels. United States Patent 5481103 .


Ultracode was developed by Zebra Technologies and is in the public domain. The symbol is composed of a variable-length strip of pixel columns with non-critical widths. The code includes numeric and alphanumeric modes, with advanced language/code page handling provisions, and selectable levels of Reed-Solomon error correction. Both black/white and a higher density colored version are supported. The symbology utilizes pairs of vertical columns of either 7 monochrome(dark/light) or 8 multicolored (typically white, red, green, and blue, or cyan, magenta, yellow and black) cells to encode each datum as a point on character planes of a 43 plane language group.

The Ultracode symbologies differ from most two-dimensional, error-correcting bar codes in that they have a long, thin aspect ratio similar to existing linear bar codes and are not positioned as high-capacity symbologies. Ultracode is especially suited for direct
printing with low linear precision. United States Patent 6070805

BarCode 1 is a registered trademark of Adams Communications.
Send comments and questions by e-mail to Russ Adams