.freight-calc-container {
font-family: -apple-system, BlinkMacSystemFont, “Segoe UI”, Roboto, Helvetica, Arial, sans-serif;
max-width: 800px;
margin: 20px auto;
padding: 25px;
border: 1px solid #e1e4e8;
border-radius: 12px;
background-color: #ffffff;
box-shadow: 0 4px 6px rgba(0,0,0,0.05);
color: #333;
}
.freight-calc-container h2 {
color: #1a3a5a;
margin-top: 0;
font-size: 24px;
border-bottom: 2px solid #f0f2f5;
padding-bottom: 10px;
}
.calc-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
margin-bottom: 25px;
}
.input-group {
display: flex;
flex-direction: column;
}
.input-group label {
font-weight: 600;
margin-bottom: 8px;
font-size: 14px;
color: #4a5568;
}
.input-group input {
padding: 12px;
border: 1px solid #cbd5e0;
border-radius: 6px;
font-size: 16px;
transition: border-color 0.2s;
}
.input-group input:focus {
outline: none;
border-color: #3182ce;
box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.2);
}
.calc-btn {
grid-column: span 2;
background-color: #2b6cb0;
color: white;
padding: 15px;
border: none;
border-radius: 6px;
font-size: 18px;
font-weight: bold;
cursor: pointer;
transition: background-color 0.2s;
}
.calc-btn:hover {
background-color: #2c5282;
}
.result-box {
margin-top: 25px;
padding: 20px;
background-color: #f7fafc;
border-radius: 8px;
border-left: 5px solid #2b6cb0;
display: none;
}
.result-item {
display: flex;
justify-content: space-between;
margin-bottom: 10px;
padding-bottom: 5px;
border-bottom: 1px dashed #edf2f7;
}
.result-item:last-child {
border-bottom: none;
}
.result-label {
font-weight: 500;
}
.result-value {
font-weight: 700;
color: #2b6cb0;
}
.freight-article {
margin-top: 40px;
line-height: 1.6;
color: #4a5568;
}
.freight-article h3 {
color: #2d3748;
margin-top: 25px;
}
.density-table {
width: 100%;
border-collapse: collapse;
margin: 20px 0;
}
.density-table th, .density-table td {
padding: 12px;
text-align: left;
border: 1px solid #e2e8f0;
}
.density-table th {
background-color: #edf2f7;
}
@media (max-width: 600px) {
.calc-grid {
grid-template-columns: 1fr;
}
.calc-btn {
grid-column: span 1;
}
}
LTL Freight Class & Density Calculator
How to Calculate Freight Density
Freight density is one of the primary factors used by Less-Than-Truckload (LTL) carriers to determine shipping rates. To calculate density manually, follow these steps:
- Measure the Length, Width, and Height of your shipment in inches (include pallets or packaging).
- Multiply Length × Width × Height to get the total cubic inches.
- Divide the total cubic inches by 1,728 to convert it to cubic feet.
- Divide the weight of the shipment by the total cubic feet.
The resulting number is your Pounds per Cubic Foot (PCF), which correlates to your NMFC freight class.
Density-Based Freight Class Table
| Density (lbs per cubic foot) | Freight Class |
|---|---|
| Over 50 | Class 50 |
| 30 to 50 | Class 55 |
| 22.5 to 30 | Class 65 |
| 15 to 22.5 | Class 70 |
| 10.5 to 12 | Class 92.5 |
| 8 to 9 | Class 110 |
| Less than 1 | Class 500 |
Real-World Example
Imagine you are shipping a standard pallet that weighs 450 lbs. The dimensions are 48″L x 40″W x 48″H.
- Volume: 48 × 40 × 48 = 92,160 cubic inches.
- Cubic Feet: 92,160 ÷ 1,728 = 53.33 cubic feet.
- Density: 450 ÷ 53.33 = 8.44 lbs per cubic foot.
- Estimated Class: Based on the density of 8.44, this would fall into Class 110.
function calculateFreightClass() {
var weight = parseFloat(document.getElementById(‘f_weight’).value);
var length = parseFloat(document.getElementById(‘f_length’).value);
var width = parseFloat(document.getElementById(‘f_width’).value);
var height = parseFloat(document.getElementById(‘f_height’).value);
if (isNaN(weight) || isNaN(length) || isNaN(width) || isNaN(height) || weight = 50) { freightClass = “50”; }
else if (density >= 35) { freightClass = “55”; }
else if (density >= 30) { freightClass = “60”; }
else if (density >= 22.5) { freightClass = “65”; }
else if (density >= 15) { freightClass = “70”; }
else if (density >= 13.5) { freightClass = “77.5”; }
else if (density >= 12) { freightClass = “85”; }
else if (density >= 10.5) { freightClass = “92.5”; }
else if (density >= 9) { freightClass = “100”; }
else if (density >= 8) { freightClass = “110”; }
else if (density >= 7) { freightClass = “125”; }
else if (density >= 6) { freightClass = “150”; }
else if (density >= 5) { freightClass = “175”; }
else if (density >= 4) { freightClass = “200”; }
else if (density >= 3) { freightClass = “250”; }
else if (density >= 2) { freightClass = “300”; }
else if (density >= 1) { freightClass = “400”; }
else { freightClass = “500”; }
document.getElementById(‘res_volume’).innerHTML = cubicFeet.toFixed(2) + ” ft³”;
document.getElementById(‘res_density’).innerHTML = density.toFixed(2) + ” lb/ft³”;
document.getElementById(‘res_class’).innerHTML = “Class ” + freightClass;
document.getElementById(‘freightResult’).style.display = “block”;
}