Audit · tested 2026-08-24
7 of them return a freight class that no band of the current NMFC density scale produces. Two more quote dense freight a class more expensive than it rates. 8 match the current scale exactly. Here is the method, the evidence, and a ten-second test you can run on whatever tool you use.
Enter a pallet 40 × 48 × 48 inches weighing 20 lb into any freight class calculator. That is 0.38 pounds per cubic foot.
The current answer is class 400. If the tool tells you 500, it is reading a table that the NMFC density scale no longer uses — and everything else it tells you is suspect too.
Freight class is an input to the rate, and the shipper tenders it on the bill of lading. Tender the wrong one and the correction does not arrive as a polite note: the terminal reclasses the shipment, recalculates the rate, and bills the difference plus a correction fee, usually after delivery.
So a free calculator that hands you class 500 is not a harmless bit of stale content. It is a number that goes onto paperwork.
The NMFC density scale has 13 sub-provisions. NMFC Docket 2025-1, effective 19 July 2025, expanded the previous 11-sub scale: sub 11 was narrowed to 30 but less than 35 pcf at class 60, a new sub 12 covers 35 but less than 50 pcf at class 55, and a new sub 13 covers 50 pcf or greater at class 50.
A point that trips people up: there are 18 class numbers in the NMFC, from 50 to 500. But only 13 of them can be produced by a density calculation. Classes 77.5, 110, 150, 200 and 500 are real class numbers that can attach to specific NMFC items — they are simply not outputs of the density scale. A chart that maps density to 18 classes is an obsolete chart. See the current chart.
We took the free calculators that rank for “freight class calculator” and related searches in the US, and established what table each one uses. Where the tool publishes its density table, we read the table. Where the logic runs in the page, we read the logic. Where the form posts to a server, we submitted test shipments and recorded the answers.
The test shipments are a 40 x 48 x 48 in = 53.33 cu ft pallet at five weights, chosen so that the current and obsolete tables disagree — plus one control where both tables agree, to prove the tool was working:
| Weight | Density | Current class | Obsolete class |
|---|---|---|---|
| 20 lb | 0.38 pcf | 400 | 500 |
| 250 lb | 4.69 pcf | 175 | 200 |
| 400 lb | 7.50 pcf | 125 | 125 (control — same on both tables) |
| 460 lb | 8.63 pcf | 100 | 110 |
| 720 lb | 13.50 pcf | 85 | 77.5 |
Every finding below is dated 2026-08-24 and quotes the tool’s own table or code. Tools get fixed; if you are reading this later, re-run the ten-second test before relying on any verdict here.
| Tool | Verdict |
|---|---|
| FreightClassCalc.com | Running the obsolete table |
| FreightCenter | Running the obsolete table |
| TranzAct Technologies | Running the obsolete table |
| Warp | Running the obsolete table |
| Freightzy | Running the obsolete table |
| Ease Logistics | Mistranscribed table |
| Stream Logistics | Mistranscribed table |
| FreightPlus | Stopped at the 11-sub scale |
| Diamond Delivery | Stopped at the 11-sub scale |
| Uber Freight | Current, with a gap |
| FedEx Freight | Matches the current scale |
| Estes Express | Matches the current scale |
| FreightPros | Matches the current scale |
| Freightquote | Matches the current scale |
| BlueGrace Logistics | Matches the current scale |
| Old Dominion Freight Line | Matches the current scale |
| Saia | Matches the current scale |
| Schneider | Matches the current scale |
Three tools were excluded from the count:
The calculator uses the older, finer-grained density guideline. It returns class numbers — 77.5, 110, 150, 200, 500 — that no band of the current NMFC density scale produces.
https://www.freightclasscalc.com/calculator.php
Returned the legacy class on all four discriminating cases and the correct class on the control. 0.38 pcf returned class 500; 13.50 pcf returned class 77.5.
How we checked: Submitted the five test shipments to the live form and recorded what it returned.
Density 0.38 lb/cu. ft. Freight Class 500
https://www.freightcenter.com/tools/freight-class-calculator/
The full legacy ladder is hard-coded in the live calculator. The same page displays an updated '13 Sub Density Scale' graphic uploaded in August 2025 - the explainer was updated, the code was not.
How we checked: Read the calculator's own logic in the page's inline script.
else if (res >= 13.5) resClass = 77.5; ... else if (res >= 8) resClass = 110; ... else resClass = 500;
https://www.tranzact.com/resources/freight_class_calculator
Complete legacy 18-tier ladder, including every one of the five classes the current scale does not produce.
How we checked: Read the calculator's own logic in the page's inline script.
else if (density >= 13.5 && density < 15) estimatedclass = 77.5;
https://www.wearewarp.com/tools/freight-class-calculator
States the legacy 18-tier mapping directly, and describes density as mapping to 18 classes. Density maps to 13 sub-provisions; 18 is the count of class numbers that exist, not the number of density bands.
How we checked: Read the reference table and the FAQ structured data published on the page.
The NMFTA freight class chart maps density (PCF) to one of 18 classes: ... 13.5-15 = 77.5 ... and under 1 PCF = Class 500.
https://www.freightzy.com/freight-class-density-calculator
Publishes the legacy 18-tier table as its reference, and works a numeric example that lands on a class the current scale does not produce.
How we checked: Read the density reference table published on the page.
A shipment at about 14.06 PCF generally falls around Class 77.5 on the density scale.
Not the old guideline: the band boundaries are the current ones. But class values are wrong in one or more bands, and the error puts out a class the current scale never produces.
https://easelogistics.com/freight-class-calculator/
Not the legacy table - the band boundaries are the current ones. But the class values are shifted a step in most bands, so it returns class 500 for sub-1 pcf freight and misprices most of the scale. 4-6 pcf returns 250 where the current answer is 175.
How we checked: Read the calculator's own logic in the page's inline script.
if (pcf < 1) freightClass = "500"; else if (pcf < 2) freightClass = "400"; ... else if (pcf < 6) freightClass = "250";
https://streamlogistics.com/freight-class-calculator/
Ten of eleven bands match the current scale exactly. One cell is wrong: 4-6 pcf returns class 150, which is neither the current answer (175) nor the legacy one (200 / 175). A single-cell transcription error, not an out-of-date table.
How we checked: Read the calculator's own logic in the page's inline script.
if (total_density>=4 && total_density<6) { freight_class = 150; }
Correct band widths, but the scale ends at “30 pcf or greater = class 60”. The two classes added in July 2025 are missing, so dense freight is quoted a more expensive class than it rates.
https://freightplus.io/freight-density-calculator/
Band widths are current, but the scale stops at ' 30 or greater = class 60'. The two classes added in July 2025 are missing, so dense freight can never reach class 55 or 50 and is quoted a more expensive class than it rates.
How we checked: Read the density reference table published on the page.
30 or greater | 60
https://www.dlds.com/ship/density-calculator/
Same pattern: current band widths, but the ladder returns 60 for anything at or above 30 pcf. Classes 55 and 50 are unreachable.
How we checked: Read the calculator's own logic in its linked script file.
if (density < 30) return '65'; return '60';
No obsolete classes, but the band structure deviates from the 13 sub-provisions in a way that misprices part of the range.
https://www.uberfreight.com/en-US/freight-density-calculator
No obsolete classes, and the page prose describes the July 2025 change correctly. But the table has 12 bands rather than 13: 15-22.5 and 22.5-30 are collapsed into a single 15-30 band returning class 70, so class 65 is never returned. Freight at 22.5-30 pcf is quoted one class more expensive than it rates. A shipment measuring exactly 50.00 pcf returns an error.
How we checked: Read the calculator's own logic in its application bundle.
15==r||r<30?70:30==r||r<35?60:35==r||r<50?55:r>50?50:"error"
The published table or the calculator logic matches all 13 sub-provisions of the current NMFC density scale.
https://www.fedexfreight.com/en-us/rate-ship/quote/class-calculator
Publishes the complete official 13-sub scale with sub-provision numbering.
How we checked: Read the sub-provision table published on the page.
11 | 30 but less than 35 | 60 -- 12 | 35 but less than 50 | 55 -- 13 | 50 or greater | 50
https://www.estes-express.com/ship/density-calculator
Full 13-sub scale, numbered by sub-provision.
How we checked: Read the density reference table published on the page.
11 | 60 | 30 but less than 35 -- 12 | 55 | 35 but less than 50 -- 13 | 50 | 50 or greater
https://www.freightpros.com/density-calculator/
Full 13-band scale, no obsolete classes.
How we checked: Read the density reference table published on the page.
55 | 35 but less than 50 -- 50 | 50 or greater
https://www.freightquote.com/how-to-ship-freight/freight-class-density-calculator/
Full 13-band scale, no obsolete classes.
How we checked: Read the density reference table published on the page.
35 but less than 50 | 55 | Over 50 | 50
https://densitycalc.mybluegrace.com/
Full 13-band scale, no obsolete classes.
How we checked: Read the density reference table published on the page.
35 but less than 50 | 55 | Over 50 | 50
https://www.odfl.com/us/en/tools/other-tools/density-calculator.html
Thirteen bands, no obsolete classes. Worth noting because a naive text search of this page finds the number 500 several times - it is telemetry configuration and a phone number, not a freight class. We checked.
How we checked: Traced the calculator component to its JSON endpoint and read the table the tool actually fetches.
[{"suggested":"50","min":"50","max":"99999999"}, ... {"suggested":"92.5","min":"10","max":"11.99"}, {"suggested":"400","min":"0.01","max":"0.99"}]
https://www.saia.com/tools-and-resources/freight-density-calculator
Thirteen active bands. Saia is the clearest example of a careful migration: the obsolete classes are still present as rows, but their density ranges have been set to zero so they can never match. Nothing was deleted; the old bands were simply switched off.
How we checked: Read the density table inside the application bundle that the calculator iterates.
{class_name:"100",min_density_lbs_per_ft3:8,max_density_lbs_per_ft3:9.9999},{class_name:"110",min_density_lbs_per_ft3:0,max_density_lbs_per_ft3:0},{class_name:"125",min_density_lbs_per_ft3:6,max_density_lbs_per_ft3:7.9999},{class_name:"150",min_density_lbs_per_ft3:0,max_density_lbs_per_ft3:0}
https://schneider.com/resources/tools-calculators/freight-class-calculator
Thirteen bands, walked in order, first match wins. No obsolete classes.
How we checked: Read the calculator function in the page bundle.
for(let{max:e,value:t}of[{max:1,value:400},{max:2,value:300},{max:4,value:250},{max:6,value:175},{max:8,value:125},{max:10,value:100},{max:12,value:92.5},{max:15,value:85},{max:22.5,value:70},{max:30,value:65},{max:35,value:60},{max:50,value:55},{max:1/0,value:50}])if(a<e)return t
Run the ten-second test on whatever tool you use. If it fails, stop using it — not because the one number is wrong, but because the whole table behind it is.
Then, regardless of which tool you use: the class is an estimate until the NMFC item confirms it. Density gets you the answer for most commodities since Docket 2025-1, but stowability, handling and liability can still override it. Confirm the item number with your carrier before the bill of lading goes out.
Our calculator → — it runs the 13 sub-provisions above, shows you the density it computed so you can check our arithmetic, and does not ask for your email.