GS1 AI (10) Batch / Lot Number Specification & FNC1 Rules
Parse manufacturing batch and lot numbers from GS1 barcodes with automatic FNC1 delimiter handling.
Quick Technical Summary: Parse manufacturing batch and lot numbers from GS1 barcodes with automatic FNC1 delimiter handling. Implementation conforms to GS1 General Specifications & AI Syntax.
Specification & Structural Breakdown
AI (10) identifies the manufacturing batch or lot number. It is variable-length up to 20 alphanumeric characters.
| Property | Value |
|---|---|
| AI Code | 10 |
| Data Content | Batch / Lot Number |
| Length | 1 to 20 alphanumeric characters |
| Delimiter Required | Yes (FNC1 / <GS>) if not end of string |
Test GS1 AI (10) Batch / Lot Number Specification & FNC1 Rules Live
Paste raw inputs up to 32KB and inspect deterministic parsed JSON in real-time across 330+ Cloudflare edge locations. Pure compute, zero cold-starts.
Parsed JSON Response Model
The edge microservice transforms input payloads into strongly-typed hierarchical JSON with zero cold starts:
{
"ai": "10",
"lotNumber": "LOT-2026-A89",
"length": 12
}
Copy-Paste Integration Code
Integrate this validator directly into your application using your production API key:
curl --request POST \
--url "https://gs1-barcode-digital-link-decoder-sunrise-2027.stanzaapi.com/api/v1/gs1/decode" \
--header "Content-Type: application/json" \
--header "x-api-key: YOUR_API_KEY" \
--data '{
"barcode": "010001234567890510LOT123\u001d1726083121SN9988"
}'
const response = await fetch("https://gs1-barcode-digital-link-decoder-sunrise-2027.stanzaapi.com/api/v1/gs1/decode", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": process.env.API_KEY || "YOUR_API_KEY"
},
body: JSON.stringify({
"barcode": "010001234567890510LOT123\u001d1726083121SN9988"
})
});
const data = await response.json();
console.log(data);
import requests
import json
url = "https://gs1-barcode-digital-link-decoder-sunrise-2027.stanzaapi.com/api/v1/gs1/decode"
headers = {
"Content-Type": "application/json",
"x-api-key": "YOUR_API_KEY"
}
payload = {
"barcode": "010001234567890510LOT123\u001d1726083121SN9988"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
package main
import (
"bytes"
"fmt"
"io"
"net/http"
"os"
)
func main() {
url := "https://gs1-barcode-digital-link-decoder-sunrise-2027.stanzaapi.com/api/v1/gs1/decode"
payload := []byte(`{"barcode":"010001234567890510LOT123\u001d1726083121SN9988"}`)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(payload))
req.Header.Add("Content-Type", "application/json")
req.Header.Add("x-api-key", os.Getenv("API_KEY"))
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
Frequently Asked Questions & Technical Notes
Any alphanumeric character from GS1 Character Set 82 (A-Z, 0-9, special symbols like hyphens and slashes).
Related GS1 Barcode & Digital Link Decoder (Sunrise 2027) API Formats
Explore sibling specifications and standards in the same developer cluster:
GS1 AI (01) Global Trade Item Number (GTIN) & Mod-10 Checksum
Instant Modulo-10 checksum validation and structure decomposition for GS1 AI (01) GTIN barcodes.
View Format →GS1 AI (17) Expiration Date Specification (YYMMDD & YYMM00)
Parse GS1 expiration date timestamps into ISO 8601 dates with full support for YYMM00 end-of-month logic.
View Format →GS1 AI (21) Individual Serial Number Specification
Extract unit-level serial numbers from 1D and 2D GS1 barcodes for track-and-trace systems.
View Format →GS1 AI (00) Serial Shipping Container Code (SSCC-18) Spec
Validate 18-digit SSCC pallet and logistics shipping container codes in sub-1ms.
View Format →