Estimate your sea freight costs based on container size, route distance, and cargo type.
20′ Standard Dry Van
40′ Standard Dry Van
40′ High Cube (HC)
20′ Reefer (Refrigerated)
40′ Reefer (Refrigerated)
Short Haul (e.g., Intra-Asia / Intra-Europe)
Medium Haul (e.g., Transatlantic)
Long Haul (e.g., Transpacific / Asia-Europe)
General Cargo (Non-DG)
Dangerous Goods (IMO/Hazardous)
Fragile / High Value
Base Ocean Freight:
Route & Nature Adjustment:
Weight Surcharge:
Fuel Surcharge (BAF):
Port & Documentation Fees:
Total Estimated Cost:
*Disclaimer: These are estimates. Final rates are subject to carrier volatility, peak season surcharges (PSS), and specific port congestion fees.
Understanding Ocean Container Shipping Rates
Calculating the cost of ocean freight is more complex than simple mileage. Carriers utilize a multi-layered pricing structure that responds to global trade imbalances, fuel prices, and equipment availability.
Key Factors Influencing Your Shipping Quote
Container Dimensions: The 20-foot equivalent unit (TEU) is the industry standard. While a 40-foot container (FEU) offers double the volume, it typically costs significantly less than two 20-foot containers due to single-handling efficiencies.
Bunker Adjustment Factor (BAF): This is a floating surcharge used to compensate for fluctuations in global oil prices. It ensures carriers remain profitable even when fuel costs spike.
Terminal Handling Charges (THC): These fees are collected by port authorities for the movement of containers from the vessel to the terminal gate.
Commodity Classification: Hazardous materials (Dangerous Goods) require special stowage on a vessel (often on deck), which commands a premium price due to increased risk and regulatory compliance.
20ft vs. 40ft Containers: Which is Cheaper?
If you are shipping heavy goods (like stone, tiles, or machinery), a 20ft container is often better because you will hit the weight limit before the volume limit. For voluminous but light goods (like furniture or clothing), a 40ft High Cube (HC) provides the best value per cubic meter.
Practical Example
If you are shipping 18 tons of general cargo from Shanghai to Los Angeles (Long Haul) in a 40ft Standard container:
Base Rate: $2,800
Route Multiplier (2.5x): $7,000
BAF Surcharge (12%): $840
Port Fees: $350
Total Estimated: $8,190
function calculateShippingRates() {
// Get Input Values
var baseRate = parseFloat(document.getElementById('containerType').value);
var routeMultiplier = parseFloat(document.getElementById('routeZone').value);
var cargoWeight = parseFloat(document.getElementById('cargoWeight').value);
var cargoNature = parseFloat(document.getElementById('cargoNature').value);
var bafPercent = parseFloat(document.getElementById('bunkerSurcharge').value);
var portFees = parseFloat(document.getElementById('portFees').value);
// Validation
if (isNaN(cargoWeight) || cargoWeight 18) {
weightSurcharge = (cargoWeight – 18) * 50; // $50 per ton over 18 tons
}
// 3. BAF Calculation
var bafAmount = adjustedBase * (bafPercent / 100);
// 4. Total Calculation
var totalCost = adjustedBase + weightSurcharge + bafAmount + portFees;
// Display Results
document.getElementById('resBase').innerText = "$" + baseRate.toLocaleString();
document.getElementById('resAdj').innerText = "$" + (adjustedBase – baseRate).toLocaleString();
document.getElementById('resWeight').innerText = "$" + weightSurcharge.toLocaleString();
document.getElementById('resBAF').innerText = "$" + bafAmount.toLocaleString();
document.getElementById('resPort').innerText = "$" + portFees.toLocaleString();
document.getElementById('resTotal').innerText = "$" + totalCost.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('shipping-result').style.display = 'block';
}