GS1 DataMatrix – Label Printing Guide and Software
Printing Labels with GS1 DataMatrix – Software Guide
GS1 DataMatrix
This guide explains how to create and print labels and other media with GS1 DataMatrix using our software
Barcode Forge.
The content encoded in GS1 DataMatrix can also be displayed as text, as shown in the image to the right. This is the simplest form of a label, which can be further customized by adding text, barcodes or graphic elements as required.
Comprehensive Data Validation for Maximum Security
GS1 DataMatrix codes are used in a wide range of industries, including sensitive areas such as healthcare, where data integrity and traceability are paramount. To meet these high standards, our software performs additional data checks beyond the security mechanisms inherent in GS1 DataMatrix itself.Before a GS1 DataMatrix is printed on a label, the software verifies key dates such as the production date or expiry date, to ensure they are valid. It also validates critical information, such as GTIN and SSCC against its check digit. Other data fields are checked for compliance with required formats, such as allowed characters and length.
Through these extensive checks, our software minimizes input errors and ensures that the generated GS1 DataMatrix codes meet the security standards required in critical applications.
GS1 DataMatrix basics – The difference from DataMatrix
The term "DataMatrix" refers to a barcode format, similar to the QR Code, that translates any type of information into a pattern of dots and gaps typical of 2D codes."GS1 DataMatrix", on the other hand, specifies a standard that uses DataMatrix codes as a data carrier to store specific types of information. This standard is managed by the global GS1 organization to enable product identification and traceability in global supply chains.
Information that can be encoded in a GS1 DataMatrix includes the Shipping Container Code (SSCC), Global Trade Item Number (GTIN), production and expiry dates, and approximately 100 additional data types listed in the appendix of this guide.
A GS1 DataMatrix includes the FNC1 character, which serves as an identifier to distinguish it from a standard DataMatrix. The FNC1 character is placed in front of the content encoded in the barcode, allowing a barcode scanner to switch to the correct processing mode early and interpret the subsequent data correctly. Our software adds the FNC1 character automatically.
Summary: While "DataMatrix" refers to a generic barcode format, "GS1 DataMatrix" is a structured type of information stored in DataMatrix codes.
A First Look at the Software
An example project [download] provides the basis for all the following explanations. The 30-Day Trial version of the software is sufficient for opening and testing. The project contains a simple label layout with a GS1 DataMatrix and a text element that displays the code's content as readable text:The Data section contains a table with typical GS1 information. Right-clicking on the table header allows you to rename or delete columns and add new ones later.
This information is linked to individual layout elements in the Label section through placeholders. Right-click the GS1 DataMatrix object on the label and select Edit. This will open the object's properties window; then switch to the Text tab.
As shown in the image below, the information is listed line by line, with one piece of information per line. Each line begins with an Application Identifier (AI) in parentheses, followed by a placeholder that references a column in the table above where the information is stored.
You can insert additional information later in the same way, using the Insert data field button to place the appropriate placeholders.
The GS1 Application Identifier principle and FNC1 as a separator
As mentioned in the previous section, each piece of information in a GS1 DataMatrix is introduced by a number called the Application Identifier (AI). The AI defines the meaning and format of the information. A table with all supported AIs is provided in the appendix.Depending on the AI, the length of the information can be either fixed or variable. While AI 01 and AI 17 in our example always have a fixed length, AI 10 and AI 30 may consist of a variable number of characters. For such AIs, the end of the information must be marked with an FNC1 character so that a barcode scanner is able to identify the exact number of characters that make up the information.
Our software inserts the FNC1 character automatically, so you don't have to do it yourself. However, you can use the knowledge of the role of the FNC1 character in another way: Always place variable-length AIs at the end, as shown with AI 30 in the example. FNC1 is then not required, resulting in one less character that needs to be encoded in the GS1 DataMatrix.
Note: The FNC1 character can also be inserted manually using the Insert special character button. However, this is only required if multiple AIs are entered in sequence on a single line.
Check Digit calculation for GTIN and SSCC
GTIN and SSCC (AI 00, 01 and 02) always contain a check digit in the last position – position 14 for the GTIN and position 18 for the SSCC. If the check digit is missing, the software can automatically calculate and append it.To have the software do this, use the Insert function field button and select [-Mod10-]. This can be used for both the GS1 DataMatrix and for the text representation of the content. The result should look like this for our example:
Appendix: Explanations for the Following Table
1. In the Format column, an "N" indicates that only numeric data is allowed, while "X" indicates alphanumeric data (plus additional characters). A double point (..) indicates that the number of characters can vary within a specified range. For example, "N..6" indicates a numeric value with a maximum length of 6 digits. Conversely, "N6" indicates a numeric value that must be exactly 6 digits in length.2. Application Identifiers (column AI) ending with an "x" are intended to indicate fractions. The fraction is encoded without a decimal point. Instead, the number of fractional digits is inserted into the application identifier at the position of the "x".
For example, 310x (Net weight, kilograms):
(3100)123456 = 123456 kg
(3101)123456 = 12345.6 kg
(3102)123456 = 1234.56 kg
(3103)123456 = 123.456 kg
(3104)123456 = 12.3456 kg
(3105)123456 = 1.23456 kg
Application Identifiers for the GS1 DataMatrix
AI | Description | Format | FNC1 required |
---|---|---|---|
00 | Serial Shipping Container Code (SSCC) | N18 | |
01 | Global Trade Item Number (GTIN) | N14 | |
02 | GTIN of contained trade items | N14 | |
10 | Batch or lot number | X..20 | ✔ |
11 | Production date (YYMMDD) | N6 | |
12 | Due date (YYMMDD) | N6 | |
13 | Packaging date (YYMMDD) | N6 | |
15 | Best before date (YYMMDD) | N6 | |
16 | Sell by date (YYMMDD) | N6 | |
17 | Expiration date (YYMMDD) | N6 | |
20 | Internal product variant | N2 | |
21 | Serial number | X..20 | ✔ |
22 | Consumer product variant | X..20 | ✔ |
235 | Third Party Controlled, Serialised Extension of GTIN (TPX) | X..28 | ✔ |
240 | Additional product identification assigned by the manufacturer | X..30 | ✔ |
241 | Customer part number | X..30 | ✔ |
242 | Made-to-Order variation number | N..6 | ✔ |
243 | Packaging component number | X..20 | ✔ |
250 | Secondary serial number | X..30 | ✔ |
251 | Reference to source entity | X..30 | ✔ |
253 | Global Document Type Identifier (GDTI) | N13+X..17 | ✔ |
254 | GLN extension component | X..20 | ✔ |
255 | Global Coupon Number (GCN) | N13+N..12 | ✔ |
30 | Variable count of items (variable measure trade item) | N..8 | ✔ |
310x | Net weight, kilograms (variable measure trade item) | N6 | |
311x | Length or first dimension, metres (variable measure trade item) | N6 | |
312x | Width, diameter, or second dimension, metres (variable measure trade item) | N6 | |
313x | Depth, thickness, height, or third dimension, metres (variable measure trade item) | N6 | |
314x | Area, square metres (variable measure trade item) | N6 | |
315x | Net volume, litres (variable measure trade item) | N6 | |
316x | Net volume, cubic metres (variable measure trade item) | N6 | |
320x | Net weight, pounds (variable measure trade item) | N6 | |
321x | Length or first dimension, inches (variable measure trade item) | N6 | |
322x | Length or first dimension, feet (variable measure trade item) | N6 | |
323x | Length or first dimension, yards (variable measure trade item) | N6 | |
324x | Width, diameter, or second dimension, inches (variable measure trade item) | N6 | |
325x | Width, diameter, or second dimension, feet (variable measure trade item) | N6 | |
326x | Width, diameter, or second dimension, yards (variable measure trade item) | N6 | |
327x | Depth, thickness, height, or third dimension, inches (variable measure trade item) | N6 | |
328x | Depth, thickness, height, or third dimension, feet (variable measure trade item) | N6 | |
329x | Depth, thickness, height, or third dimension, yards (variable measure trade item) | N6 | |
330x | Logistic weight, kilograms | N6 | |
331x | Length or first dimension, metres | N6 | |
332x | Width, diameter, or second dimension, metres | N6 | |
333x | Depth, thickness, height, or third dimension, metres | N6 | |
334x | Area, square metres | N6 | |
335x | Logistic volume, litres | N6 | |
336x | Logistic volume, cubic metres | N6 | |
337x | Kilograms per square metre | N6 | |
340x | Logistic weight, pounds | N6 | |
341x | Length or first dimension, inches | N6 | |
342x | Length or first dimension, feet | N6 | |
343x | Length or first dimension, yards | N6 | |
344x | Width, diameter, or second dimension, inches | N6 | |
345x | Width, diameter, or second dimension, feet | N6 | |
346x | Width, diameter, or second dimension, yard | N6 | |
347x | Depth, thickness, height, or third dimension, inches | N6 | |
348x | Depth, thickness, height, or third dimension, feet | N6 | |
349x | Depth, thickness, height, or third dimension, yards | N6 | |
350x | Area, square inches (variable measure trade item) | N6 | |
351x | Area, square feet (variable measure trade item) | N6 | |
352x | Area, square yards (variable measure trade item) | N6 | |
353x | Area, square inches | N6 | |
354x | Area, square feet | N6 | |
355x | Area, square yards | N6 | |
356x | Net weight, troy ounces (variable measure trade item) | N6 | |
357x | Net weight (or volume), ounces (variable measure trade item) | N6 | |
360x | Net volume, quarts (variable measure trade item) | N6 | |
361x | Net volume, gallons U.S. (variable measure trade item) | N6 | |
362x | Logistic volume, quarts | N6 | |
363x | Logistic volume, gallons U.S. | N6 | |
364x | Net volume, cubic inches (variable measure trade item) | N6 | |
365x | Net volume, cubic feet (variable measure trade item) | N6 | |
366x | Net volume, cubic yards (variable measure trade item) | N6 | |
367x | Logistic volume, cubic inches | N6 | |
368x | Logistic volume, cubic feet | N6 | |
369x | Logistic volume, cubic yards | N6 | |
37 | Count of trade items or trade item pieces contained in a logistic unit | N..8 | ✔ |
390x | Applicable amount payable or Coupon value, local currency | N..15 | ✔ |
391x | Applicable amount payable with ISO currency code | N3+N..15 | ✔ |
392x | Applicable amount payable, single monetary area (variable measure trade item) | N..15 | ✔ |
393x | Applicable amount payable with ISO currency code (variable measure trade item) | N3+N..15 | ✔ |
394x | Percentage discount of a coupon | N4 | |
400 | Customers purchase order number | X..30 | ✔ |
401 | Global Identification Number for Consignment (GINC) | X..30 | ✔ |
402 | Global Shipment Identification Number (GSIN) | N17 | |
403 | Routing code | X..30 | ✔ |
410 | Ship to - Deliver to Global Location Number | N13 | |
411 | Bill to - Invoice to Global Location Number | N13 | |
412 | Purchased from Global Location Number | N13 | |
413 | Ship for - Deliver for - Forward to Global Location Number | N13 | |
414 | Identification of a physical location - Global Location Number | N13 | |
415 | Global Location Number of the invoicing party | N13 | |
416 | GLN of the production or service location | N13 | |
417 | Party GLN | N13 | |
420 | Ship to - Deliver to postal code within a single postal authority | X..20 | ✔ |
421 | Ship to - Deliver to postal code with ISO country code | N3+X..9 | ✔ |
422 | Country of origin of a trade item | N3 | |
423 | Country of initial processing | N3+N..12 | ✔ |
424 | Country of processing | N3 | |
425 | Country of disassembly | N3+N..12 | ✔ |
426 | Country covering full process chain | N3 | |
427 | Country subdivision Of origin | X..3 | ✔ |
7001 | NATO Stock Number (NSN) | N13 | |
7002 | UN/ECE meat carcasses and cuts classification | X..30 | ✔ |
7003 | Expiration date and time | N10 | |
7004 | Active potency | N..4 | ✔ |
7005 | Catch area | X..12 | ✔ |
7006 | First freeze date (YYMMDD) | N6 | |
7007 | Harvest date | N6..12 | ✔ |
7008 | Species for fishery purposes | X..3 | ✔ |
7009 | Fishing gear type | X..10 | ✔ |
7010 | Production method | X..2 | ✔ |
7020 | Refurbishment lot ID | X..20 | ✔ |
7021 | Functional status | X..20 | ✔ |
7022 | Revision status | X..20 | ✔ |
7023 | Global Individual Asset Identifier (GIAI) of an assembly | X..30 | ✔ |
703x | Number of processor with ISO Country Code | N3+X..27 | ✔ |
7040 | GS1 UIC with Extension 1 and Importer index | N1+X3 | |
710 | National Healthcare Reimbursement Number (NHRN) - Germany PZN | X..20 | ✔ |
711 | National Healthcare Reimbursement Number (NHRN) - France CIP | X..20 | ✔ |
712 | National Healthcare Reimbursement Number (NHRN) - Spain CN | X..20 | ✔ |
713 | National Healthcare Reimbursement Number (NHRN) - Brasil DRN | X..20 | ✔ |
714 | National Healthcare Reimbursement Number (NHRN) - Portugal AIM | X..20 | ✔ |
723x | Certification reference | X2+X..28 | ✔ |
7240 | Protocol ID | X..20 | ✔ |
8001 | Roll products (width, length, core diameter, direction, splices) | N14 | |
8002 | Cellular mobile telephone identifier | X..20 | ✔ |
8003 | Global Returnable Asset Identifier (GRAI) | N14+X..16 | ✔ |
8004 | Global Individual Asset Identifier (GIAI) | X..30 | ✔ |
8005 | Price per unit of measure | N6 | |
8006 | Identification of an individual trade item piece | N14+N2+N2 | ✔ |
8007 | International Bank Account Number (IBAN) | X..34 | ✔ |
8008 | Date and time of production | N8+N..4 | ✔ |
8009 | Optically Readable Sensor Indicator | X..50 | ✔ |
8010 | Component/Part Identifier (CPID) | Y..30 | ✔ |
8011 | Component/Part Identifier serial number (CPID SERIAL) | N..12 | ✔ |
8012 | Software version | X..20 | ✔ |
8013 | Global Model Number (GMN) | X..30 | ✔ |
8017 | Global Service Relation Number to identify the relationship between an organisation offering services and the provider of services | N18 | |
8018 | Global Service Relation Number to identify the relationship between an organisation offering services and the recipient of services | N18 | |
8019 | Service Relation Instance Number (SRIN) | N..10 | ✔ |
8020 | Payment slip reference number | X..25 | ✔ |
8026 | Identification of pieces of a trade item (ITIP) contained in a logistic unit | N14+N2+N2 | ✔ |
8110 | Coupon code identification for use in North America | X..70 | ✔ |
8111 | Loyalty points of a coupon | N4 | |
8112 | Paperless coupon code identification for use in North America | X..70 | ✔ |
8200 | Extended Packaging URL | X..70 | ✔ |
90 | Information mutually agreed between trading partners | X..30 | ✔ |
91 | Company internal information | X..90 | ✔ |
92 | Company internal information | X..90 | ✔ |
93 | Company internal information | X..90 | ✔ |
94 | Company internal information | X..90 | ✔ |
95 | Company internal information | X..90 | ✔ |
96 | Company internal information | X..90 | ✔ |
97 | Company internal information | X..90 | ✔ |
98 | Company internal information | X..90 | ✔ |
99 | Company internal information | X..90 | ✔ |
For questions about the GS1 DataMatrix or our software, please contact us!