UDIScope
Medical device barcode reverse-decoding, GS1 check-digit verification, and live FDA Global UDI Database (GUDID) intelligence.
Optical Barcode Scanner
Initializing camera stream...
Limited intake
What a Unique Device Identifier (UDI) is, and how it is structured
The United States Food and Drug Administration (FDA) and the European Union Medical Device Regulation (EU MDR 2017/745) require medical devices distributed commercially to bear a Unique Device Identifier. A compliant UDI barcode carries two distinct components:
- Device Identifier (UDI-DI): A mandatory, fixed-length numeric or alphanumeric string that identifies the specific model and labeler of the device. Under GS1 standards, this is encoded as a 14-digit Global Trade Item Number (GTIN-14) preceded by Application Identifier (01).
- Production Identifier (UDI-PI): Conditional identifiers that provide commercial traceability, including the expiration date (17), manufacturing date (11), batch or lot number (10), and serial number (21).
GS1 Application Identifiers and delimiter mechanics
In raw Automatic Identification and Data Capture (AIDC) media (such as GS1-128 linear barcodes and GS1 Data Matrix 2D symbols), Application Identifiers denote the meaning and length of following characters. While fixed-length fields like GTIN-14 and Expiration Date do not require delimiters, variable-length fields require strict separator discipline.
| AI | Data Content | Format & Length | Delimiter Requirement |
|---|---|---|---|
| (01) | Global Trade Item Number (GTIN / UDI-DI) | 14 numeric digits | None (fixed length) |
| (17) | Expiration Date | 6 digits (YYMMDD) | None (fixed length) |
| (11) | Manufacturing Date | 6 digits (YYMMDD) | None (fixed length) |
| (10) | Batch or Lot Number | Up to 20 alphanumeric | Requires <GS> / FNC1 if followed by another AI |
| (21) | Serial Number | Up to 20 alphanumeric | Requires <GS> / FNC1 if followed by another AI |
| (240) | Additional Product / Catalog Reference | Up to 30 alphanumeric | Requires <GS> / FNC1 if followed by another AI |
Modulo-10 check-digit arithmetic verification
The final digit of every GTIN-14 is a Modulo-10 check digit. It verifies optical scanning integrity and protects hospital inventory systems from transcription faults.
The verification multiplies alternating digits from right to left by weights 3 and 1.
For a 14-digit GTIN, the calculation evaluates non-check digits from index 0 to 12. Each digit at an even index is multiplied by 3; each digit at an odd index is multiplied by 1. The products are summed, and the result is subtracted from the nearest higher multiple of 10. UDIScope recalculates this proof on every scan and renders the step-by-step arithmetic proof formula.
FDA 21 CFR § 801.18 date standard
Medical device labels sold in the United States must comply with 21 CFR § 801.18, which requires dates to be printed in the order: year, month, day (YYYY-MM-DD). While GS1 barcodes encode dates compactly as six characters (YYMMDD), UDIScope converts and checks these values against the Gregorian calendar and applies the GS1 Day 00 rule (in which day 00 represents the final calendar day of the specified month).
Frequently asked questions
Questions we get
What is a Unique Device Identifier (UDI)?
A Unique Device Identifier (UDI) is a series of numeric or alphanumeric characters created through a globally accepted device identification standard. It comprises a mandatory Device Identifier (UDI-DI) specifying the model and manufacturer, and optional Production Identifiers (UDI-PI) specifying the lot number, serial number, manufacturing date, or expiration date.
How does GS1 Modulo-10 check-digit verification work?
The check digit (the 14th digit of a GTIN-14) is an arithmetic checksum designed to catch single-digit entry errors and adjacent digit transpositions. Digits are multiplied by alternating weights (3, 1, 3, 1...) moving right-to-left. The sum of these products is subtracted from the nearest equal or higher multiple of 10.
What does FDA 21 CFR § 801.18 mandate for medical device date formatting?
Under 21 CFR § 801.18, dates presented in human-readable form on medical device labels must follow the standard order: year, month, day (formatted as YYYY-MM-DD). Even though barcodes often encode dates as YYMMDD, the corresponding label text must display the full four-digit year to prevent international misinterpretation.
What happens if a barcode has no delimiters between variable-length fields?
In GS1 standards, variable-length fields such as Batch/Lot (AI 10) and Serial Number (AI 21) must be separated from subsequent Application Identifiers by an ASCII Group Separator (<GS>, character code 29) or FNC1 control symbol. When scanner software strips these delimiters, subsequent fields may be erroneously parsed into the variable-length string. UDIScope detects this omission and raises a syntax warning.
How fresh is the FDA GUDID data shown on this page?
UDIScope queries the live openFDA UDI endpoint directly from your browser. Every response carries openFDA’s last_updated date, which is displayed directly in the source badge and certificate disclosure. openFDA data may lag FDA source databases by several days or weeks.