DSCSA 4-Element 2D DataMatrix Barcode & Matrix Specification
Extract and validate all 4 DSCSA product identifier elements and FNC1 group separators in milliseconds.
Quick Technical Summary: Extract and validate all 4 DSCSA product identifier elements and FNC1 group separators in milliseconds. Implementation conforms to 21 U.S. Code § 360eee / GS1 EPCIS.
Specification & Structural Breakdown
DSCSA Section 582 mandates that packaging at the unit and case level carry a GS1 2D DataMatrix barcode encoding GTIN, Serial Number, Expiration Date, and Lot Number.
Variable-length Application Identifiers (AI 21 and AI 10) require GS1 FNC1 (<GS> / ASCII 29) group separators when not at the end of the barcode string.
| AI | Data Element | Format | Length |
|---|---|---|---|
| (01) | GTIN-14 | Numeric with Mod-10 Checksum | 14 digits (Fixed) |
| (21) | Serial Number | Alphanumeric | Up to 20 chars (Variable + FNC1) |
| (17) | Expiration Date | YYMMDD | 6 digits (Fixed) |
| (10) | Batch / Lot | Alphanumeric | Up to 20 chars (Variable + FNC1) |
Test DSCSA 4-Element 2D DataMatrix Barcode & Matrix Specification 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:
{
"elements": {
"gtin": "00301234567896",
"serial": "123456789012",
"expiration": "2026-08-31",
"lot": "LOT99881"
},
"syntaxValid": true,
"fnc1DelimitersPresent": true
}
Copy-Paste Integration Code
Integrate this validator directly into your application using your production API key:
curl --request POST \
--url "https://fda-dscsa-eu-fmd-drug-serialization-api-21-usc-360eee.stanzaapi.com/api/v1/dscsa/validate-barcode" \
--header "Content-Type: application/json" \
--header "x-api-key: YOUR_API_KEY" \
--data '{
"rawBarcode": "010030123456789621123456789012\u001d1726083110LOT99881"
}'
const response = await fetch("https://fda-dscsa-eu-fmd-drug-serialization-api-21-usc-360eee.stanzaapi.com/api/v1/dscsa/validate-barcode", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": process.env.API_KEY || "YOUR_API_KEY"
},
body: JSON.stringify({
"rawBarcode": "010030123456789621123456789012\u001d1726083110LOT99881"
})
});
const data = await response.json();
console.log(data);
import requests
import json
url = "https://fda-dscsa-eu-fmd-drug-serialization-api-21-usc-360eee.stanzaapi.com/api/v1/dscsa/validate-barcode"
headers = {
"Content-Type": "application/json",
"x-api-key": "YOUR_API_KEY"
}
payload = {
"rawBarcode": "010030123456789621123456789012\u001d1726083110LOT99881"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
package main
import (
"bytes"
"fmt"
"io"
"net/http"
"os"
)
func main() {
url := "https://fda-dscsa-eu-fmd-drug-serialization-api-21-usc-360eee.stanzaapi.com/api/v1/dscsa/validate-barcode"
payload := []byte(`{"rawBarcode":"010030123456789621123456789012\u001d1726083110LOT99881"}`)
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
Without FNC1 (<GS>) separators, a barcode scanner cannot distinguish where a variable-length serial number ends and the next element begins.
Related FDA DSCSA & EU FMD Prescription Drug Serialization API Formats
Explore sibling specifications and standards in the same developer cluster:
GS1 Verification Router Service (VRS) Lightweight Messaging Spec
GS1 Verification Router Service (VRS) protocol engine for automated saleable drug returns verification in under 5ms.
View Format →EPCIS 1.2 XML Pharmaceutical Supply Chain Event Parser
High-speed EPCIS 1.2 XML parser extracting ObjectEvents, AggregationEvents, BizStep, ReadPoint, and GLN identifiers into JSON.
View Format →EPCIS 2.0 JSON-LD Pharmaceutical Supply Chain Event Parser
Next-generation EPCIS 2.0 JSON-LD parser and schema compliance validator for modern pharmaceutical supply chain architectures.
View Format →FDA 21 CFR 201.25 Barcode Requirement & 2D DataMatrix Spec
Automated compliance validator for US FDA 21 CFR 201.25 drug product barcode labeling regulations.
View Format →