EDGE ENGINE SUB-2MS DETERMINISTIC V8 EXECUTION • ZERO DATA RETENTION • EXPLORE API SPECS →
GS1 General Specifications & AI Syntax <1ms Edge Edge Compute

GS1 FNC1 / ASCII 29 (GS) Separator Rules for Variable-Length AIs

Parse FNC1 (ASCII 29 / <GS>) separators that terminate variable-length GS1 Application Identifiers. This specification documents the exact field layout, checksum rules, and validation behavior so your integration matches GS1 General Specifications & AI Syntax without reading the source standard.

Latency: <1ms Edge Availability: 99.99% Standard: GS1 General Specifications In-Memory Execution
Interactive Edge Workbench

⚡ Live GS1 FNC1 / ASCII 29 (GS) Separator Rules for Variable-Length AIs Interactive Workbench

Test real-time validation and schema parsing for GS1 FNC1 / ASCII 29 (GS) Separator Rules for Variable-Length AIs directly in your browser. Runs in sub-5ms with zero setup.

32KB Demo Cap 60 req/min Burst <2ms V8 Compute Zero Data Retention
input.txt 0 B
output.json demo-ready
Status: Ready
{
  "status": "Click RUN VALIDATION to execute on the Cloudflare edge..."
}
Sandbox Quota: Free Tier (50 reqs/mo) • Production keys from $29/mo Get Free Sandbox Key →
Need 512KB+ Payloads, High-Throughput & 99.9% Production SLA?
Direct API keys include pooled monthly quotas, zero cold-starts, and HIPAA BAA eligibility on the Mega tier.
Get Production API Key →
LLM / MCP
Prompt-Ready Specification for AI Agents llms.txt
Structured format rules and schemas optimized for LLM coding agents and Model Context Protocol tooling.
Raw .md
Official Standard & Validation Protocol Authority: GS1 Global Standards Architecture ↗

Quick Summary: Parse FNC1 (ASCII 29 / <GS>) separators that terminate variable-length GS1 Application Identifiers. Validates strictly against GS1 General Specifications & AI Syntax with sub-5ms in-memory response times.

Latency
<1ms Edge
Standard
GS1 General Specifications
Version
Max Payload
512 KB
Privacy
In-Memory (0 bytes stored)

Specification & Structural Breakdown

Technical Summary: Validates strictly against GS1 General Specifications & AI Syntax. Payloads are parsed in memory and return clean, typed JSON in milliseconds with zero data logged.

FNC1 is a non-data function character in Code 128 and DataMatrix that marks the end of a variable-length Application Identifier.

When the barcode payload is transmitted as text, FNC1 is represented as ASCII 29 (GS, 0x1D), often displayed as <GS>.

Fixed-length AIs (01, 17, 00, 37) never need a separator; variable-length AIs (10, 21, 30, 240) require one whenever another AI follows.

AILengthSeparator NeededExample
01 GTIN14 digits (fixed)No0100012345678905
17 Expiration6 digits (fixed)No17260831
10 Batch/Lot1-20 alphanumericYes if not last10LOT123<GS>
21 Serial1-20 alphanumericYes if not last21SN9988<GS>
30 VAR COUNT1-8 digitsYes if not last3000000250<GS>

Parsed JSON Response Model

The edge microservice transforms input payloads into strongly-typed hierarchical JSON envelopes with sub-5ms latency:

HTTP 200 JSON Response Envelope
{
  "raw": "010001234567890510LOT123<GS>17260831",
  "separator": "ASCII 29 (0x1D)",
  "decoded": {
    "10": "LOT123",
    "17": "260831",
    "01": "00012345678905"
  }
}

Copy-Paste Integration Code (6 Languages)

Integrate GS1 FNC1 / ASCII 29 (GS) Separator Rules for Variable-Length AIs directly into your production application with native, zero-dependency code snippets in cURL, Node.js, Python, Go, C#, and a ready-to-paste Claude prompt:

curl --request POST \
  --url "https://api.stanzaapi.com/gs1-decoder/api/v1/gs1/decode" \
  --header "Content-Type: application/json" \
  --header "x-api-key: YOUR_API_KEY" \
  --data '{
  "barcode": "010001234567890510LOT123\u001d1726083121SN9988"
}'

Frequently Asked Questions & Technical Notes

What is the FNC1 / ASCII 29 separator?

FNC1 is a non-data symbol used in GS1-128 and DataMatrix to mark the end of a variable-length Application Identifier. It is transmitted as ASCII 29 (GS, 0x1D). Without it, a parser cannot tell where a variable-length value such as AI (10) batch/lot ends and the next AI begins.

Which AIs are variable length and need FNC1?

AIs such as (10) batch/lot, (21) serial number, (30) VAR COUNT, and (240) additional product ID are variable length and need FNC1 when followed by another AI. Fixed-length AIs such as (01), (17), (00), and (37) never need it.

Related GS1 Barcode & Digital Link Decoder (Sunrise 2027) API Formats

Explore sibling specifications and standards in the same developer cluster:

Complementary Enterprise APIs

Seamlessly orchestrate data pipelines across adjacent financial, regulatory, and supply-chain protocols:

All GS1 Barcode & Digital Link Decoder (Sunrise 2027) API Formats & Specifications (11) Directory Index ↓
GS1 AI (01) Global Trade Item Number (GTIN) & Mod-10 Checksum GS1 AI (10) Batch / Lot Number Specification & FNC1 Rules GS1 AI (17) Expiration Date Specification (YYMMDD & YYMM00) GS1 AI (21) Individual Serial Number Specification GS1 AI (00) Serial Shipping Container Code (SSCC-18) Spec GS1 Digital Link URI Standard & QR Web Transition (Sunrise 2027) GS1 AI (02) CONTENT Global Trade Item Number Specification GS1 AI (37) COUNT of Trade Items Specification GS1 AI (30) VAR COUNT Specification for Variable-Measure Items GS1-128 vs GS1 DataMatrix vs GS1 Digital Link QR Comparison GS1 FNC1 / ASCII 29 (GS) Separator Rules for Variable-Length AIs