What does an NDC number mean?

Three groups of digits on an American medicine carton: a labeler code, a product code and a package code. Unlike most numbers on this site, all three segments mean something.

But the hyphens are not decoration. 21 CFR 207.33 permits five shapes, and three of them are ten digits long — so a bare string of digits cannot be split, and this page will not pretend otherwise.

This one runs on your own device. It is worked out in your browser, so there is nothing to send and nothing to log. Where a tool on this site does send something out, that page says so and names where it goes.

The value in the box is made up. It has the shape of an NDC and is not one; try your own.

The three segments

SegmentDigitsWhat 207.33(b)(1) says
labeler code4, 5 or 6The first segment of the NDC is the labeler code and consists of 4, 5, or 6 digits. The labeler code is assigned by FDA.
product code3 or 4The second segment of the NDC is the product code and consists of 3 or 4 digits
package code1 or 2The third segment of the NDC is the package code and consists of 1 or 2 digits

Five permitted shapes, and why that is a problem

ShapeLabelerProductPackageTotal digits

Look at the totals. Three shapes make ten digits and two make eleven. Nothing inside the number marks where the labeler code ends, so ten digits on their own are consistent with 4-4-2, 5-4-1 and 5-3-2 at once.

That is not a gap this page is filling in with a guess. The tool above shows every reading the digits allow and says plainly that it cannot choose between them. Choosing would be wrong two times in three.

This page is the only place on the site that will read an NDC, and the reason is the same one. The universal lookup box strips spaces and hyphens before any decoder sees what you typed, so that it cannot disagree with the pages — sensible everywhere else, and fatal here, because it would throw away the only thing that makes the number splittable. So this decoder is not registered with it. The check that noticed was the lookup’s own: it spotted that this scheme’s example had stopped matching this scheme’s format test.

What does settle it

“A registrant or private label distributor with a given labeler code must use only one Product-Package Code configuration”

207.33(b)(3). Each labeler picks one shape and sticks to it, so the answer exists — in FDA’s register, keyed by the labeler code. It is simply not in the digits, and this page does not hold that register.

And one shape has no ambiguity at all

“If a labeler code is 4 digits in length, it may be combined only with a product code consisting of 4 digits and a package code consisting of 2 digits”

A four-digit labeler code has exactly one option: 4-4-2. The flexibility is all at the five- and six-digit end.

The labeler is looked up, not read

“The labeler code is assigned by FDA.” So the first segment identifies a company by pointing at a register rather than by describing anything. FDA publish that register as the NDC Directory, and this page links it rather than keeping a copy — a stale copy of a live register is worse than none.

The eleven-digit form you may have met is not this

American billing systems use a “normalised” eleven-digit NDC, padding every segment with leading zeros to make 5-4-2. That convention is not in 21 CFR 207.33. It is something the payment systems do to the code afterwards, and this page does not implement it, because it is not part of the number the regulation defines.

It is mentioned here only so that somebody who has seen an eleven-digit NDC on a claim form knows why this page does not produce one.

An exception that is not a shape

“An alternatively formatted NDC that is approved for use by the relevant Center Director may be used for the following HCT/Ps”

Certain minimally manipulated cell and tissue products — stem cells from peripheral and cord blood, lymphocytes from peripheral blood — may carry a format approved case by case. There is no list of those formats to publish, so a code that fits none of the five shapes is not necessarily wrong.

The European equivalent works the other way round

Worth putting side by side. On a European pack the serial number is required by law to be random and encodes nothing at all. The NDC is the opposite: every segment means something, and the difficulty is not that the number is empty but that its punctuation is load-bearing.

A note on where this came from

The regulation is the 2025 annual edition of the CFR, fetched from govinfo.gov as XML. The link above points at the eCFR, which is the version a person can navigate — but it renders in JavaScript and gives an automated reader no regulation text, so what a machine checks and what a reader opens are deliberately different.

A work of the United States government carries no copyright, so nothing here needed anybody’s permission.