FAQ: Barcode Parameters
|Barcode Properties, Font-Size, EAN-13, UPC-A, Data Matrix and more. For more information see also our Barcode Reference.|
GS1 Data Matrix
How can I generate a GS1 Data Matrix?
- Adjust Data Matrix as symbology
- Set the Data Matrix format property to EAN or GS1. This adds an FNC1 on the first data code word position which marks the barcode as GS1/EAN type.
- Enable Escape Sequences
- Use the sequence \F to encode an FNC1 as separator between variable length AI fields. If the barcode reader reads such a FNC1 it will return GS (ASCII 29) instead.
Don't encode \F as first data character by yourself (this would lead to incorrect internal data format). Use the DM format property instead (as shown above).
QR Code, VCard
How can I create a VCard Barcode?
VCard is not a bar code itself, it is a special file format, which can be used to store data in a bar code (e.g. into QR Code). A detailed description of the VCard format can be found here:
Wikipedia - VCard Specification
Just bring your data into the given format and you'll be able to read the barcode with your mobile phone and recognize the data as contact information.
Create VCard barcodes with Barcode Studio
With our Barcode Studio we offer an Assistant to create VCard barcodes the easy way.
How To Encode Binary Data (2D Codes)
Even if you use an escape sequence for binary data the encoder will use Codepage Conversion (example: \x88 leads to a different value in Data Matrix as desired).
- Switch off codepage conversion (use Encoding Mode LowByte)
- Force binary encoding mode if available (see PDF417 Encoding Mode, Data Matrix EnforceBinaryEncoding)
Relevant for DP Premium Address and other applications where you encode binary data in a 2D symbol (Data Matrix etc).
FNC1 With GS1 Barcodes
How To Encode FNC1 (GS1 Barcodes)?
FNC1 is used as separator character for variable length data fields in the application identifier standard. It can be encoded with \F. Sample: The data field for the batch or lot number varies in length (up to 20 characters) and needs a termination (FNC1).
- To encode FNC1 Escape-Sequences must be enabled.
- Don't insert FNC1 after the last data field.
- Insert FNC1 even if the maximum field length is used.
Example 1: FNC1 in TBarCode
In this example we generate a GS1-128 barcode with 2 Application Identifier. The batch or lot number (AI =10, variable length so it needs FNC1) and the best before date (AI=15).
' set the barcode type = GS1-128 (EAN/UCC 128)
TBarCode101.BarCode = eBC_GS1_128
' enable Translate Escape Sequences
TBarCode101.EscapeSequences = True
' set the data to be encoded
TBarCode101.Text = "10222333\F15100701"
Example 2: FNC1 in Barcode Studio
We use the same sample data like before. To add the functional character FNC1 to your barcode data follow the steps:
- Enter the barcode data „10222333\F15100701“ .
- Switch to the tab "Settings" and check Escape Sequences.
- FNC1 will be insert and the Application Identifier (AI=15) is recognized automatically in the HRT.
- In Barcode Studio 11.5+ you can use the new Assistant for GS1 Application Identifiers.
What are the correct font settings for the EAN-13 or UPC-A barcode?
EAN-13 / UPC-A can be printed in several sizes. The possible sizes can be found in the specification. The nominal module width is 0.330 mm (optimized for 300 dpi printers it would be 0.339 mm). The human readable font must be adapted to these sizes.
The specification says that a "clearly legible font shall be used" for the human-readable digits, and OCR-B (as defined in ISO 1073-2) with a height of 2.75 mm at nominal size is recommended. Because this font is referenced only as a convenient standard typeface, you can use Courier or Arial (Bold) if you don't have the OCR-B font available.
It is not part of the specification but you can use this kind of formula to get a useful font size (based upon the module width parameter).
Fontsize [pt] = ModWidth [mm] / 0.339 * 10
- EAN13 (module width X=0.339mm) = font size 10pt (optional: bold)
- If module width X would be 0.5 mm = font size 14,7pt
The formula above can be used for other barcodes, too.
GS1 DataBar Expanded
What are data segments in GS1 DataBar / RSS Expanded?
GS1 DataBar Expanded (alias RSS Expanded) symbols are constructed as a sequence of triplets, each consisting of a finder pattern between two symbol characters. Such a triplet contains 2 data segments (symbol characters).
2 segments forming a "triplet" consist of 17+15+17 modules. The left and right guard pattern for the symbol consist each of 1 bar + 1 space.
Per segment/data character you can encode 12 bits. Each symbol is prefixed with a check character. So the smallest symbol, which uses at least 4 symbol characters (containing 1 check char) can encode 36 Bits.
Input data is processed with a character set mapping algorithm + error recognition. With a simple formula it would be hard to predict how many data segments are required for a given set of input characters.
TEC-IT software allows you to adjust the number of data segments per row in GS1 DataBar Expanded Stacked
How to use the Compressed Mode of Code 128?
Simply select Code128 as the bar code type. Make sure to clear the Format string. Code 128 auto compresses data by default (and subset switching is done automatically).
GTIN Number with GS1 Data Matrix
How can I calculate the check digit of the GTIN number with GS1 Data Matrix?
Assuming you have several Application Identifiers to encode (01-GTIN + 17-Expiration Date + 10-Batch Lot...) and you want to calculate the check digit of the GTIN number with TBarCode, proceed as follows:
Set Property Format = 01#############^
Set Property Translate Esc Sequences = True
Set Property CheckDigit = EAN-14 (complies with Mod-10 used with GTIN)
Set Property DMFormat = EAN
Set Property Text = GTIN (13 digits, no check digit) + 17 + Exp. Date + 10 + Batch Lot Number
Note: Encode the leading GTIN number without 01 and with only the first 13 digits (no check digit).The "^" character in the format property controls the position, where the calculated check digit will be automatically inserted. The leading 01 AI for the GTIN is also contained in the format string.
The resulting barcode data will be as follows:
10 + GTIN (13 digits + 1 check digit) + 17 + Exp. Date + 10 + Batch Lot Number
PPN/NTIN Data Matrix
How can I generate a PPN Code or a NTIN Code?
The data structures of the IFA PPN und GS1 NTIN Code are encoded with a Data Matrix ECC200 symbology (ISO/IEC 16022). The IFA version is using Data Matrix Macro 06 mode, while the GS1 version is based upon Data Matrix with FNC1. A specific range for the cell size and module width has been defined as well.
More information: Encoding PPN and NTIN Numbers (German)
DFI PPN Code
Set Data Matrix format to Macro-06.
Library/DLL: BCSet_DM_Format (pBarCode, eDMPr_Macro06)
This will add a header of "[)>" + RS + "06" + GS and a trailer of RS + EOT to the encoded data.
User Data (Example):
9N ..... PPN
1T ... Batch (LOT)
D ... Expiry date
S ... Serial Number
\x1d ... GS (group separator)
Translate Escape Sequences must be activated!
Details: PPN Code Spezifikation (German)
GS1 NTIN Code
Set the Data Matrix format to EAN or GS1. This adds an FNC1 on the first code word position. Then use Application Identifiers as shown in the GS1 specification.
Details: NTIN Code Spezifikation (German) NTIN Code Specification (English)
Data Matrix UID Code
How can I generate an UID Code?
UID Codes are used as a permanent marking method in order to give equipment a unique ID. UID Codes utilize the Data Matrix ECC200 bar code symbology - this standard is supported by TEC-IT.
Unique Identification Marking (UID marking, Item Unique Identification or IUID) is a part of the compliance process mandated by the United States Department of Defense. The Unique Identification Program is a global asset tracking system for hard products. UID tracking ensures asset location and operational quality data integrity for the life of the tracked asset.
Beside selecting Data Matrix as bar code type the encoded data structure has to comply with the rules outlined in the „MIL Std 130“ specification (see also next FAQ).
Creating the world wide unique UID number can be achieved by the following methodologies (constructs) and approved equivalents:
- UID Construct 1, composed of Issuing Agency Code, an Enterprise Identifier, and a Serial Number unique within the Enterprise
- UID Construct 2, composed of Issuing Agency Code, an Enterprise Identifier, a Part Number and a Serial Number (unique within the Part Number)
- The following IUID Equivalents are also approved: Vehicle Identification Number (VIN), Global Returnable Asset Identifier (GRAI), Global Individual Asset Identifier (GIAI), Electronic Serial Number (ESN, typically assigned to cell phones)
Accepted Issuing Agencies:
- DoD and NATO
- D-U-N-S (Dun & Bradstreet)
- GS1 (formerly EAN/UCC)
After getting a world wide unique enterprise ID from one of the listed Issuing Agencies, suppliers can number their products with UID Construct 2. Often an existing serial number management can be re-used for that process. Suppliers in the US can use the CAGE code as enterprise ID (assigned after registering at https://www.bpn.gov/ccr/). In other countries the NATO or GS1 can issue enterprise IDs. If a company already owns a DUNS number it can be used as well.
Data Matrix MIL Std 130 N
How can I generate a Data Matrix in accordance with MIL Std 130 N?
The Data Matrix symbol according to MIL Std 130 N is based on ISO/IEC 16022 Data Matrix ECC200, this is the same standard which is used by TEC-IT. The module width may be between 0.19 mm and 0.635 mm, and must be adjusted so that final symbol width does not exceed 25.4 mm.
For more details, see MIL Std 130 N specification (chapter 184.108.40.206).
The structure of data depends on the label, whereas Application Identifier, Data Identifier or TEI can be selected (see specification 5.2.4 Syntax).
- If you choose Application Identifiers, you should select Format Indicator 05 as shown below:
Library/DLL: BCSet_DM_Format (pBarCode, eDMPr_Macro05)
Result: In the data stream, a header of "[)>" + RS + "05" + GS and a trailer of RS + EOT will be inserted. FNC1 is for field separation with variable-length AIs (see specification 220.127.116.11).
- If you choose Data Identifiers, you should use Format Indicator 06 as shown below.
Library/DLL: BCSet_DM_Format (pBarCode, eDMPr_Macro06)
Result: In the data stream, a header of "[)>" + RS + "06" + GS and a trailer of RS + EOT will be inserted.
User Data Example:
17V ... DI for CAGE ID
Translate Escape Sequences must be activated!
1P ... DI for Part Number
S ... DI for Serial Number
\x1d ... GS
If you choose TEI, there is a separate Format Indicator 12. You must manually implement the Format 12 (header, trailer) on the user data. There is no macro (format) available in the software for this.
ISO-8859-15, GLI, ECI
How can I encode char set ISO-8859-15 into PDF417?
TBarCode V9 and Barcode Studio V9 allows you to specify the target code page for the data to be encoded.
tbarcode.CodePage = eCodePage_Custom
tbarcode.CodePageCustom = 28605 ' Latin-9 on Windows
Alternatively you can use Windows API character set conversion functions.
The PDF417 "GLI" code is an indicator for the reader software, which character set is used for the forthcoming data string. The AIM ECI table contains ECI 000017 for ISO/IEC 8859-15 Latin alphabet No. 9. ECI is the successor of GLI.
The GLI or ECI indicator does not automatically convert the data to the required character set! Consider that GLI or ECI code words are not always supported by the reading software.
The GLI or ECI indicator can be insert by escape sequences into the data stream:
PDF417: \Gnnnnnn (n...6 digits specifying the GLI)
Encode: \G000017 + bar code data
If you use escape sequences, make sure that translation of escape sequences has been enabled in the barcode generator.
© TEC-IT Datenverarbeitung GmbH, Austria
| Site Map
| Legal Conditions and Privacy