Use this calculator to estimate the National Motor Freight Classification (NMFC) for your shipment.
Select Density
Extremely High (> 50 lbs/ft³)
Very High (30-50 lbs/ft³)
High (15-30 lbs/ft³)
Medium (10-15 lbs/ft³)
Low (5-10 lbs/ft³)
Very Low (2-5 lbs/ft³)
Extremely Low (< 2 lbs/ft³)
Select Handling
Class 150
Class 175
Class 200
Class 225
Class 250
Class 300
Class 350
Class 400
Class 450
Class 500
Select Stowability
Good (No special provisions)
Fair (Requires specific placement)
Poor (Difficult to load, requires space)
Very Poor (Hazardous or irregular)
Select Textability
High (Easily described, standard)
Medium (Requires some detail)
Low (Complex, fragile, or regulated)
Understanding Freight Classification
Freight classification is a standardized system used in the Less Than Truckload (LTL) shipping industry to determine the price of shipping. The National Motor Freight Classification (NMFC) is managed by the National Classification Committee (NCC) and assigns a class number from 50 to 500 to virtually every type of commodity shipped. This class number serves as a primary factor in determining freight rates, along with distance, weight, and services required.
The Four Key Factors
Determining the correct freight class involves evaluating four main characteristics of the shipment:
Density: This is the most significant factor. It's calculated as the weight of the freight divided by the space it occupies (weight per cubic foot). Denser items generally have lower, cheaper classes, while lighter, bulkier items tend to have higher classes.
Handling: This considers how easy or difficult the freight is to load, unload, and handle. Items requiring special equipment, care, or that are hazardous will have higher classes.
Stowability: This factor relates to how well the freight can be stored or stowed in a truck. Items that are easily stacked and don't require special placement are stowed well and may have lower classes. Items that are fragile, irregular, or that cannot be stacked have poor stowability and higher classes.
Liability/Value: This assesses the risk of damage, theft, or loss associated with the freight. High-value items, fragile goods, or those prone to spoilage or damage will have higher classes.
How the Calculator Works
This calculator uses a simplified model to estimate freight class. In reality, the NMFC is extremely detailed, with specific classifications for thousands of commodities. The system uses a complex table and detailed descriptions in the NMFC Item Index. This calculator guides you through the general principles:
Enter Weight per Cubic Foot: This is a direct measure of your freight's density. If you don't know it, you can calculate it by dividing the total weight of a unit of your product by its total volume. For example, if 10 boxes weigh 50 lbs and have a total volume of 20 cubic feet, the density is 50 lbs / 20 ft³ = 2.5 lbs/ft³.
Select Density Category: Based on your calculated weight per cubic foot, choose the corresponding density category.
Select Handling, Stowability, and Liability: These categories are based on the general characteristics of your item. Review the descriptions to select the most appropriate category.
The calculator then combines these selections to suggest a probable freight class. Remember that this is an estimation. Always consult the official NMFC tariff or your freight carrier for the definitive classification of your goods.
Example Calculation
Let's say you are shipping specialized electronics:
Item: High-end server components
Weight per Cubic Foot: You measure a pallet and find it weighs 800 lbs and occupies 40 cubic feet. Density = 800 lbs / 40 ft³ = 20 lbs/ft³.
Density Category: 20 lbs/ft³ falls into the "High (15-30 lbs/ft³)" category.
Handling: These components are sensitive to static and require careful lifting. This might be considered "Fair" or "Poor" handling. Let's choose "Fair".
Stowability: They cannot be stacked easily and must be placed away from heavy items. This is "Poor" stowability.
Liability: These are high-value items prone to damage and theft. This indicates "Low" liability/value.
Based on these inputs, the calculator will provide an estimated freight class. In this scenario, the combination of high density, fair handling, poor stowability, and high value would likely result in a higher freight class (e.g., Class 200 or higher).
Note: This is a conceptual representation. Actual NMFC classification is complex and uses detailed tables and commodity codes. The calculator assigns weighted values to your selections to arrive at an estimated class.
function calculateFreightClass() {
var weightPerCubicFoot = parseFloat(document.getElementById("weightPerCubicFoot").value);
var densityValue = parseInt(document.getElementById("density").value);
var handlingValue = parseInt(document.getElementById("handling").value);
var stowabilityValue = parseInt(document.getElementById("stowability").value);
var textabilityValue = parseInt(document.getElementById("textability").value);
var resultDiv = document.getElementById("result");
resultDiv.innerHTML = "; // Clear previous results
// — Input Validation —
if (isNaN(weightPerCubicFoot) || weightPerCubicFoot <= 0) {
resultDiv.innerHTML = "Please enter a valid weight per cubic foot (must be a positive number).";
return;
}
if (isNaN(densityValue) || densityValue 6) {
resultDiv.innerHTML = "Please select a valid density category.";
return;
}
if (isNaN(handlingValue) || handlingValue 9) {
resultDiv.innerHTML = "Please select a valid handling category.";
return;
}
if (isNaN(stowabilityValue) || stowabilityValue 3) {
resultDiv.innerHTML = "Please select a valid stowability category.";
return;
}
if (isNaN(textabilityValue) || textabilityValue 2) {
resultDiv.innerHTML = "Please select a valid textability category.";
return;
}
// — Simplified Classification Logic —
// These scores are illustrative and do not perfectly mirror the NMFC tables.
// The goal is to show how factors influence class.
var classScore = 0;
// Density Contribution (higher density = lower class, so we invert the score)
// We map density values (0-6) to a range, e.g., 100 down to 10
var densityScore = 100 – (densityValue * 10);
if (weightPerCubicFoot = 2 && weightPerCubicFoot 5 && weightPerCubicFoot 10 && weightPerCubicFoot 15 && weightPerCubicFoot 30 && weightPerCubicFoot 50) densityScore = 170; // Extremely High
// Handling Contribution (higher difficulty = higher class)
// Assign scores based on the selected handling category (0-9)
var handlingScores = [150, 175, 200, 225, 250, 300, 350, 400, 450, 500];
var handlingScore = handlingScores[handlingValue] || 150; // Default to lowest if invalid
// Stowability Contribution (poor stowability = higher class)
// Scores: 0 (Good) to 3 (Very Poor)
var stowabilityScores = [50, 100, 150, 200];
var stowabilityScore = stowabilityScores[stowabilityValue] || 50;
// Textability Contribution (low textability = higher class)
// Scores: 0 (High) to 2 (Low)
var textabilityScores = [50, 100, 150];
var textabilityScore = textabilityScores[textabilityValue] || 50;
// — Combine Scores —
// This is a highly simplified formula. Real classification uses a matrix and detailed descriptions.
// We'll primarily rely on the selected handling/stowability/textability classes and adjust with density.
// Let's use the provided Handling class as a base and adjust.
var estimatedClass = handlingScore;
// Adjust based on other factors. These adjustments are heuristic.
if (densityValue >= 5) { // Very Low Density
estimatedClass += 50;
} else if (densityValue <= 2) { // High Density
estimatedClass -= 50;
}
estimatedClass += stowabilityScore;
estimatedClass += textabilityScore;
// — Final Class Cap and Floor —
// Ensure the class is within the typical 50-500 range
if (estimatedClass 500) {
estimatedClass = 500;
}
// Round to the nearest 5 or 10 for typical class increments, or just round normally
estimatedClass = Math.round(estimatedClass / 5) * 5; // Round to nearest 5
if (estimatedClass 500) estimatedClass = 500;
resultDiv.innerHTML = "Estimated Freight Class: " + estimatedClass + "";
}