Skip to content

Standards

What is FNC1 (Function 1 Character)?

By Codexengr, QR Systems Engineer · Last reviewed: 2026-10-19

A special mode indicator that turns a QR code into a GS1-compliant symbol: in first position it signals GS1 Application Identifier data, in second position it marks an industry-specific application.

FNC1 (Function 1 Character) is a mode indicator that changes what the data in a QR code means. A normal QR symbol carries free-form data; a symbol with FNC1 in the first position carries structured GS1 Application Identifier data — the same data language used in GS1-128 barcodes and GS1 DataMatrix across global supply chains. This single indicator is what makes "GS1 QR codes" a distinct, standards-tracked thing rather than just QR codes that happen to contain numbers.

First position: GS1 mode

When the encoder places the FNC1 indicator (mode 0101) in the first data position, the entire symbol is interpreted as a concatenation of GS1 Application Identifiers: (01) for GTIN, (10) for batch, (17) for expiry, (21) for serial, and hundreds more. Because AI data elements have variable lengths, the FNC1 character itself doubles as the field separator — encoded as a special non-data character that tells the parser where one AI element ends and the next begins. A scanner reading a first-position-FNC1 symbol knows to parse the payload as AI data and can validate it against GS1 rules (check digits, fixed lengths, valid AI combinations).

Second position: application identification

FNC1 in the second position (mode 1001) works differently: it is immediately followed by a single-byte application indicator that identifies which industry specification governs the data that follows. This mechanism lets industry groups define their own structured payloads inside QR codes while remaining distinguishable from both plain data and GS1 data. It sees far less use than first-position FNC1 but exists for the same reason — a machine-readable declaration of "how to parse what follows."

FNC1 versus plain data: why it matters

Two QR codes can contain the identical digit string yet mean different things depending on FNC1. The digits 09520123456788 in a plain symbol are just fourteen digits; in a first-position-FNC1 symbol they parse as AI (01) — a GTIN — and supply-chain software treats them accordingly, validating the check digit and looking up the product. Omitting FNC1 when the downstream system expects GS1 data causes misparses; adding it when the reader expects plain data can confuse consumer apps. Match the indicator to the ecosystem.

Relationship to GS1 Digital Link

FNC1-based GS1 QR and GS1 Digital Link solve overlapping problems differently. FNC1 packs AI element strings into the symbol's binary data area — compact, machine-first, unreadable as a URL. Digital Link expresses the same identifiers as a web URI — longer, but clickable, resolvable, and consumer-friendly. New consumer-facing deployments generally prefer Digital Link; FNC1 remains dominant in closed-loop supply chains, healthcare unit-dose marking, and anywhere the existing GS1 scanning infrastructure expects AI syntax.

Practical encoding notes

Generating FNC1 symbols requires a generator with explicit GS1 mode — it must place the indicator, format the AI string with correct separators, and compute any required check digits. Verify the output with a GS1-syntax-aware verifier, not just a phone camera: a phone may decode the raw characters without confirming the AI structure is valid. And remember the quiet zone and print-quality rules apply with full force — a GS1 symbol that fails verification on a production line stops the line.

Diagram description: Bit-stream diagram showing the FNC1 first-position indicator followed by AI element strings with FNC1 separators, contrasted with the same digits encoded as plain data.

Frequently asked questions

What does FNC1 do in a QR code?

In first position, it declares the payload as GS1 Application Identifier data (GTIN, batch, expiry…) with FNC1 as the field separator. In second position, it identifies an industry-specific application. Without it, the same digits are just plain data.

How is a GS1 QR code different from a normal QR code?

Structurally it is the same symbol; the difference is the FNC1 first-position indicator, which tells scanners to parse the payload as GS1 AI data with validation rules, instead of treating it as free-form text.

Should I use FNC1 or GS1 Digital Link for product packaging?

Use GS1 Digital Link for consumer-facing packaging (it is a clickable URL carrying the same identifiers). Use FNC1 GS1 QR for closed supply-chain and healthcare marking where existing scanners expect AI syntax.

Can phone cameras read FNC1 QR codes?

They decode the characters but generally do not parse the AI structure — you get the raw digit string, not labeled fields. Proper validation needs GS1-aware software or a verifier.

Sources

Related terms

Related tools