Skip to content
UDImakerOpen editor

GS1 DataMatrix FNC1 and ASCII 29: Fixing Merged Lot and Serial Data

Understand FNC1, the ASCII 29 group separator, and the ]d2 identifier when troubleshooting GS1 DataMatrix scanner output.

If a scanner returns the lot and serial as one value, investigate the separator between variable-length fields. The barcode image may be readable while its data cannot be divided into the intended fields. Keep the image, raw scanner result, and expected values together while diagnosing the problem.

Three different things you may encounter

  • FNC1: a symbol function character that marks GS1 DataMatrix at the start and can separate element strings.
  • GS / ASCII 29: the group-separator control character commonly returned at field boundaries. It is not a printable space.
  • ]d2: a symbology identifier that a configured scanner can transmit to identify GS1 DataMatrix. It is not literal label data to type into the GTIN field.

The initial FNC1 and the later field separator have different jobs. Scanner settings can affect how their information reaches your application.

Trace the boundary in an example

For this readable example:

(01)09506000134352(17)271231(10)DEMOLOT7(21)DEMO0001

A diagnostic representation of a scanner result could be:

]d201095060001343521727123110DEMOLOT7[GS]21DEMO0001

Here [GS] is documentation notation for one control character, not four literal characters to encode. The scanner may omit ]d2 depending on its configuration. UDImaker displays a decoded group separator as ␝ while the copy action preserves the original decoded data.

Without the separator, a parser may treat DEMOLOT721DEMO0001 as the lot value. The visible digits 21 cannot reliably identify a new field because those digits could also occur inside a lot.

Isolate the stage that loses the separator

  1. Generate a known example using the structured GS1 DataMatrix editor.
  2. Export and inspect its image with the decoder.
  3. Compare that result with the physical scanner's raw output, before business-field mapping.
  4. Check whether keyboard emulation, middleware, or text cleanup removes control characters.
  5. Compare the final parsed lot and serial with the expected source values.

If the image contains the correct boundary but the receiving application loses it, changing the label layout will not fix that data path. Record the scanner model and configuration alongside the failing sample.

Avoid apparent fixes that hide the problem

Do not replace the separator with a comma or type the text FNC1 into a field. Do not remove production data merely to make a parser accept an example. A final variable-length field needs no trailing separator, but every earlier field must retain the required boundary.

The AI guide explains the field lengths. A successful decode is useful evidence about payload recovery, not a physical print-quality grade.

Sources and technical review

Relevant primary references are listed below. These guides explain the design workflow; confirm current sector requirements and local regulations before production use.