Estimate your Full Truckload (FTL) shipping costs and per-mile rates instantly.
Base Freight Cost:–
Fuel Surcharge Amount:–
Accessorial Fees:–
Total "All-In" Rate Per Mile:–
Estimated Total Shipping Cost:–
Understanding Truck Freight Rates
Calculating accurate truck freight rates is essential for shippers, brokers, and owner-operators alike. The trucking industry operates on a volatile pricing model heavily influenced by fuel costs, lane supply and demand, and equipment type. This calculator helps break down the costs into the three primary components: the base linehaul rate, fuel surcharges, and accessorial fees.
Key Components of Freight Pricing
Linehaul (Base) Rate: This is the core cost of moving the goods, typically quoted as a "Rate Per Mile" (RPM) or a flat lane rate. It covers the driver's wages, equipment wear and tear, and carrier profit.
Fuel Surcharge (FSC): Because diesel prices fluctuate, carriers charge a separate percentage or per-mile fee to cover fuel. This protects the carrier from spikes in oil prices.
Accessorials: These are fees for services beyond simple driving. Common examples include detention (waiting time), lumper fees (loading/unloading assistance), and stop-off charges.
How to Calculate All-In Trucking Rates
To determine the true cost of moving a load, you must look at the "All-In" rate. The formula used in the calculator above is:
(Distance × Base Rate) + (Base Freight × Fuel %) + Extras = Total Cost
For example, if you are shipping 1,000 miles at $2.00/mile with a 20% fuel surcharge and $100 in extra fees:
Base Freight: 1,000 × $2.00 = $2,000
Fuel Cost: $2,000 × 0.20 = $400
Total: $2,000 + $400 + $100 = $2,500
All-In RPM: $2,500 / 1,000 = $2.50 per mile
Factors Affecting Rate Per Mile
Lane Balance: Headhaul lanes (leaving a production hub) generally cost more than backhaul lanes (returning to a hub), as carriers are eager to get their trucks back to profitable areas.
Seasonality: Produce season (typically spring and summer) drastically increases rates in agricultural regions as demand for refrigerated trucks spikes.
Urgency: Spot market rates for last-minute loads are almost always higher than contracted rates planned weeks in advance.
Frequently Asked Questions
What is the difference between Spot Rates and Contract Rates?
Contract rates are fixed prices agreed upon between shippers and carriers for a set period (usually a year). Spot rates are real-time market prices determined by current supply and demand for a specific load at a specific time.
How is Fuel Surcharge usually calculated?
While some carriers use a flat fee, the industry standard typically pegs the surcharge to the Department of Energy's (DOE) weekly national average diesel price. It is often applied as a percentage of the base linehaul rate.
Does this calculator work for LTL (Less Than Truckload)?
This calculator is optimized for FTL (Full Truckload) shipping where pricing is primarily distance-based. LTL pricing is more complex, involving freight classes, density, and dimensional weight.
function calculateFreight() {
// 1. Get input values by ID
var distanceInput = document.getElementById('distanceMiles');
var rateInput = document.getElementById('ratePerMile');
var fuelInput = document.getElementById('fuelSurchargePercent');
var feesInput = document.getElementById('accessorialFees');
// 2. Parse values to floats
var distance = parseFloat(distanceInput.value);
var ratePerMile = parseFloat(rateInput.value);
var fuelPercent = parseFloat(fuelInput.value);
var additionalFees = parseFloat(feesInput.value);
// 3. Validation and Defaulting
if (isNaN(distance) || distance <= 0) {
alert("Please enter a valid distance greater than 0.");
return;
}
if (isNaN(ratePerMile)) ratePerMile = 0;
if (isNaN(fuelPercent)) fuelPercent = 0;
if (isNaN(additionalFees)) additionalFees = 0;
// 4. Perform Calculations
// Base Freight Cost = Distance * Rate Per Mile
var baseFreightCost = distance * ratePerMile;
// Fuel Cost = Base Freight * (Percent / 100)
// Note: Sometimes FSC is per mile, but percent is common for surcharge on top of linehaul
var fuelCostAmount = baseFreightCost * (fuelPercent / 100);
// Total Cost
var totalCost = baseFreightCost + fuelCostAmount + additionalFees;
// All-In Rate Per Mile
var allInRate = totalCost / distance;
// 5. Update the UI
document.getElementById('resBaseCost').innerText = "$" + baseFreightCost.toFixed(2).replace(/\B(?=(\d{3})+(?!\d))/g, ",");
document.getElementById('resFuelCost').innerText = "$" + fuelCostAmount.toFixed(2).replace(/\B(?=(\d{3})+(?!\d))/g, ",");
document.getElementById('resFees').innerText = "$" + additionalFees.toFixed(2).replace(/\B(?=(\d{3})+(?!\d))/g, ",");
document.getElementById('resRPM').innerText = "$" + allInRate.toFixed(2);
document.getElementById('resTotal').innerText = "$" + totalCost.toFixed(2).replace(/\B(?=(\d{3})+(?!\d))/g, ",");
// Show results
document.getElementById('resultsArea').classList.add('visible');
}