NMFC Codes Explained: Structure, Sub-Codes, and How to Find Yours
August 17, 2026
•
5
mins

An NMFC code is a 4-to-6-digit number, sometimes with a hyphenated sub-code, that identifies your specific commodity within the National Motor Freight Classification system. It's not the same thing as freight class: the code identifies what you're shipping, and that identification is what determines which class (50 to 500) applies. Getting the wrong code assigned is a common, and often invisible, source of overbilling.
Key Takeaways
- An NMFC code is a 4-to-6-digit item number, sometimes with a hyphenated 2-digit sub-code, that identifies a specific commodity within the NMFC system.
- The code determines which freight class applies, sub-codes on the same item number can map to different classes depending on density or packaging.
- There's no free, comprehensive public lookup: the official ClassIT+ database is a paid NMFTA subscription, and most "lookup" tools online only cover common commodities.
- The commodity description on the bill of lading has to match the actual freight, a mismatch between the declared code and the inspected shipment is a leading cause of reclassification disputes.
- Freehand's invoice audit agent checks the NMFC code and resulting class on every invoice against the original booking, at 100% coverage instead of a sample.
What is an NMFC code?
An NMFC code is the specific commodity identifier within the National Motor Freight Classification system, published and maintained by the NMFTA (National Motor Freight Traffic Association). Codes run from roughly 1010 to 201060, most are 4 to 6 digits, and some carry a hyphenated 2-digit sub-item indicator, for example 17600-01 versus 17600-02.
The code and the class are different things. The code identifies the commodity. The class (50 to 500) is the rate-setting outcome that the code, combined with how that specific shipment is packaged and presented, produces.
For how freight class itself is calculated from density, stowability, handling, and liability, see our guide to freight class.
How do NMFC sub-codes work?
A sub-code is a 2-digit extension on an NMFC item number that assigns a different freight class based on how the same general commodity is packaged, protected, or comes out density-wise. The base item identifies the commodity. The sub-code narrows it to a specific density or packaging condition.
NMFC item 116030 (furniture) is a commonly cited example: it carries multiple sub-codes, each mapping to a different class band. A densely packed, protected version of the item lands in a lower class, around Class 70, while a lightweight or minimally protected version of the same base item can land as high as Class 200. Same commodity, same base code, different bill.
This is exactly why two shippers moving what looks like the same product on paper can get billed at meaningfully different rates: the sub-code, driven by density and packaging, is doing the work.
How do you find your NMFC code?
The official source is ClassIT+, the NMFTA's own classification database, which requires a paid subscription. Outside of that, shippers typically rely on one of three paths, and none of them is a free, comprehensive public database.
- Ask your carrier or broker. Most LTL carriers and brokers have classification desks or reference the NMFC guidebook directly, and can confirm the code for a described commodity.
- Use a partial online lookup tool. Several carriers and platforms publish lookup tools covering common, frequently shipped commodities, useful for a quick sanity check, not a substitute for the full database on an unusual item.
- Reference the NMFC guidebook itself, available through NMFTA, if your team classifies freight often enough to justify direct access.
For an item that doesn't map cleanly to any of these, the safest path is confirming the code with whoever inspects and bills the shipment, before the invoice arrives, not after.
{{blue-cta}}
What happens when the wrong NMFC code gets applied?
A misapplied NMFC code produces the wrong freight class, and the wrong class produces the wrong rate, whether that error favors the shipper or the carrier. A carrier's post-pickup inspection that disagrees with the declared code is one of the most common triggers for a reclassification, and a reclass changes the bill.
The dispute isn't about whether a reclass happened. It's about whether the reclass is backed by a documented inspection that actually matches the commodity that moved, or whether it's a code change with no paper trail behind it.
Freehand's invoice audit agent checks the NMFC code and resulting class billed on every invoice against the original booking and any inspection documentation the carrier provides, at 100% coverage instead of a sample. A code change without documentation gets flagged before payment clears, not disputed months later after it's already been paid.
{{brown-cta}}
Frequently Asked Questions
What is an NMFC code?
An NMFC code is a 4-to-6-digit item number, sometimes with a hyphenated 2-digit sub-code, that identifies a specific commodity within the National Motor Freight Classification system.
What is an example of an NMFC code?
NMFC item 116030 (furniture) is a commonly cited example, it carries multiple sub-codes that map the same base commodity to different freight classes depending on density and packaging.
How do I find my NMFC code?
The official source is ClassIT+, a paid NMFTA database. Outside of that, ask your carrier or broker's classification desk, use a partial online lookup tool for common commodities, or reference the NMFC guidebook directly.
What's the difference between an NMFC code and freight class?
The NMFC code identifies the specific commodity. Freight class (50 to 500) is the rate-setting outcome that the code, combined with the shipment's actual density and packaging, produces.
Why do NMFC sub-codes matter?
A sub-code narrows a base commodity code to a specific density or packaging condition, and different sub-codes on the same item can map to very different freight classes, and very different rates.
Every Invoice Checked. Every Charge Verified.
Freehand reads each carrier invoice against your contracted rates and flags the variance before you pay it. No sampling, no backlog.
The Rate You Negotiated Isn't the Rate You Get Billed.
Accessorials, fuel surcharges, and reclasses drift off contract the moment freight moves. Procurement wins erode at the invoice.

Every warehouse. Every provider. Every mile.
Gartner's 2026 outlook on logistics outsourcing, and how AI Teams hold every contract to the terms you agreed.
- Where outsourced logistics quietly loses margin
- Why billed charges drift from the contract
- How AI Teams close the gap


.webp)


