What Is a CAGE Code
The five-character CAGE code identifies your company in the DoD supply system, and it appears on nearly everything you deliver — inside the IUID Data Matrix, on the UID label, on the MIL-STD-129 box label, and in the drawing title block. This guide covers what it is, how it is formatted, and where it goes.
- Updated
- 2026-10-03
- Length
- 938 words
A CAGE code (Commercial and Government Entity code) is a five-character identifier assigned to a company, a government activity, or a facility that does business with the U.S. federal government. It is the identifier the DoD supply system uses to say who: who made the part, who is delivering it, who assigned the serial number, whose drawing it is.
If you are marking or labeling hardware for a DoD contract, your CAGE code is on almost every surface of the delivery.
How you get one
A CAGE code is assigned by the Defense Logistics Agency as part of registering in SAM.gov (System for Award Management). There is no separate application: complete the SAM registration and a CAGE code is issued, or the existing one is confirmed. It is free. Companies outside the United States receive an NCAGE code through their national codification bureau instead; the format is the same.
A CAGE code identifies a location, not just a company. A business with two plants may hold two codes. The one that goes on the hardware is the one for the facility that is the enterprise of record for the item, which for IUID purposes means the enterprise assigning the UII.
The format
- Five characters, alphanumeric.
- Never contains the letters I or O. This is deliberate: it eliminates confusion with the digits 1 and 0 on marks, labels, and stamps.
- U.S. codes have historically started with a digit; NCAGE codes typically start with a letter.
- Case is uppercase on marks and labels.
So 1A2B3 is a plausible CAGE; 1O2B3 is not, because it contains an O.
Where the CAGE code appears
Inside the IUID Data Matrix
Under MIL-STD-130, the CAGE code is the usual enterprise identifier in a Unique Item Identifier. In the Data Matrix it is tagged with a qualifier:
| Format | Qualifier | Example element |
|---|---|---|
| Format 06, Construct 2 | 17V | 17V1A2B3 |
| Format 06, Construct 1 (single element) | 18S or 25S | 18S1A2B3X0001 |
| Format 12 | MFR (manufacturer) or CAG | MFR 1A2B3 |
| Format 12, supplier-assigned on a legacy item | SPL | SPL 1A2B3 |
When a reader derives the UII, it prefixes the CAGE with the issuing agency code D, so CAGE 1A2B3 becomes D1A2B3… at the front of the UII. How to read a UII walks through the full derivation.
The CAGE in the UII is the code of the enterprise that assigns the identifier, which is not always the manufacturer. A distributor or depot marking a legacy item uses its own CAGE; that is what the Format 12 SPL qualifier and the Construct 1 single-element forms exist for.
In the human-readable text on the item
MIL-STD-130 requires human-readable information beside the symbol, and the drawing typically calls for the CAGE with its data area title: CAGE 1A2B3 or MFR 1A2B3, alongside the part number and serial. On a UID label it is normally the first or second line.
On MIL-STD-129 package labels
The identification label on a unit pack and on an exterior shipping container carries the CAGE as a human-readable line (CAGE 1A2B3) and encodes it again in the PDF417 barcode alongside the contract number, CLIN, part number, and serials. What goes on a MIL-STD-129 label lists every field. The CAGE on the box is the contractor's; it may differ from the CAGE inside the UIIs if the items were made or serialized by someone else.
In the drawing title block
Engineering drawings carry the design activity's CAGE in the title block. It is how a part number is made unambiguous across the supply system: part number 12345 from CAGE 1A2B3 and part number 12345 from CAGE 9Z8Y7 are two different parts. When a drawing note says "MARK PER MIL-STD-130, CAGE 1A2B3," the design activity's code is what goes in the mark, even if a different shop produced the part, unless the contract says otherwise.
On certificates and paperwork
Certificates of Conformance, packing lists, WAWF receiving reports, and IUID Registry submissions all identify the contractor by CAGE. The code on the paperwork must match the code on the hardware, which is why vendors ask for it on the RFQ rather than looking it up.
CAGE vs DUNS vs UEI
Three identifiers overlap in federal contracting and it is easy to send the wrong one:
- CAGE — five characters, DLA-assigned, used on hardware and in the UII with IAC
D. - DUNS — nine digits, assigned by Dun & Bradstreet, the alternative enterprise identifier in a UII with IAC
UN. Still permitted on marks, though SAM.gov no longer uses it for registration. - UEI — the twelve-character Unique Entity ID that replaced DUNS in SAM.gov in 2022. It is a registration identifier, not a MIL-STD-130 enterprise identifier, and it does not appear in a UII.
When a drawing or contract says "enterprise identifier," it means the CAGE (or, less often, DUNS). Send the CAGE.
Checklist before marking or labeling
- The CAGE is five characters, uppercase, with no I or O.
- It is the code for the enterprise assigning the UII (item marks) or the contractor delivering (package labels), and you know which is which.
- It matches the CAGE on the drawing note, the contract, and your SAM.gov record.
- It is the same string on the item mark, the UID label, the box label, and the CoC.
The IUID generator validates the CAGE format as part of building the UII, which catches an I or O before it is marked on a part.