GS1-128 Barcodes beginning with (00) or other (digits) in parens
OnMerge Barcodes

There are special considerations for using OnMerge Barcodes for barcodes like the one below beginning with a few digits in (parentheses) which are part of the GS1-128 family.
GS1-128 Barcode

GS1-128 barcodes go by many names, such as SSCC-18, SCC-14, GLN, and GTIN.

NB Beware! You may see references to GTIN-8, GTIN-12, GTIN-13, or GTIN-14 (instead of just plain GTIN), but those something else entirely. They're other names for EAN-8, UPC-A, EAN-13, and 2 of 5 Interleaved (ITF-14), respectively. OnMerge Barcodes can also produce those.

NB SCC-14 data can be placed in either UCC EAN128(GS-128) or 2 of 5 Interleaved (ITF-14) barcodes. If you need the style that begins with (01), use the instructions on this page. If you need the style with no (01) [and probably bars or a box around the barcode], use 2 of Interleaved and make sure to select the Generate Check Digit option.

Don't use Code 128 for these -- use UCC EAN128

If you receive specifications from a trading partner which either a) call for GS1 barcodes, b) show a sample 1-dimensional barcode like the one above beginning with a few digits in parentheses, or c) call for a Code 128 barcode beginning with "FNC1" or "Function Code 1," DON'T USE REGULAR CODE 128 as your Barcode Type. Use UCC EAN128 instead.


UCC EAN128 is a special sub-type of Code 128 barcodes which automatically includes the invisible FNC1 indicator in the barcode, and which has special processing/verification rules to deal with parentheses and generate checksums in certain cases.

Entering Data

The leading digits in parentheses such as (00) are called the Application Identfier. They identify the meaning and format of the digits that follow.

The barcode data you enter or retrieve from a database must include the () characters around the Application Identfier, immediately followed by all the data digits. No blanks or punctuation. OnMerge will remove the parentheses from the barcode's internal representation, but needs the parentheses to verify the data's format.

Certain Applications such as SSCC-18 (Application Identifier 00) may call for a checksum as the last digit. OnMerge Barcodes will compute the checksum for you automatically, BUT you must include a "dummy" digit such as zero where the checksum is supposed to appear. OnMerge Barcodes will silently change the dummy digit to the correct value.

Adding spaces between the digits of human-readable text

Some trading partners may specify spaces between certain digits in the human-readable text. Unfortunately, the rules for placing the blanks varys significantly, even for a given Application. Given this, OnMerge Barcodes shows the human-readable text as a solid block of text by default. For example, this SSCC-18 shows up as

but you might need for format the digits as

  (00) 0 0123456 000000001 8

You can easily add blanks in specific places using the Text Filter & Format option on the Barcode Setup tab. Enter a ? for each data digit (including the parenthesis characters) and a space wherever you need to insert one. The Format for the example above would be

  ???? ? ???????? ????????? ?


NB Remember, the above example is only ONE of many possible ways to format SSCC-18 data.

Multi-part Barcodes

GS1-128 allows data for multiple applications in one barcode. To do this, enter the full data for the first application, followed by the & (ampersand) character and the data for second application. Repeat adding & and application data as needed. For example


is (00)001234560000000018 in the same barcode as (420)90077