Sea Freight Calculator

Sea Freight Calculator :root { –primary-blue: #004a99; –success-green: #28a745; –light-bg: #f8f9fa; –border: #d9e2ef; –text: #1f2a37; } body { font-family: Arial, Helvetica, sans-serif; background: #ffffff; color: var(–text); margin: 0; padding: 0; } .loan-calc-container { max-width: 1000px; margin: 24px auto; padding: 20px; background: var(–light-bg); border: 1px solid var(–border); border-radius: 8px; } h1 { color: var(–primary-blue); margin: 0 0 8px 0; } .intro { margin: 0 0 18px 0; color: #4b5563; } .calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; } .panel { background: #ffffff; border: 1px solid var(–border); border-radius: 8px; padding: 16px; } .panel h2 { margin: 0 0 12px 0; color: var(–primary-blue); font-size: 18px; } .input-group { display: flex; flex-direction: column; margin-bottom: 12px; } .input-group label { font-weight: 600; margin-bottom: 6px; } .input-group input { padding: 10px; border: 1px solid var(–border); border-radius: 6px; font-size: 15px; } .helper { font-size: 12px; color: #6b7280; margin-top: 4px; } .action-row { display: flex; align-items: center; gap: 12px; margin-top: 8px; } button.calculate-btn { background: var(–primary-blue); color: #ffffff; border: none; padding: 12px 16px; border-radius: 6px; font-size: 15px; cursor: pointer; } button.calculate-btn:hover { background: #003d80; } #result { margin-top: 14px; padding: 16px; border-radius: 8px; background: #eef4ff; border: 1px solid #cfe0ff; } .result-title { font-weight: 700; color: var(–primary-blue); margin-bottom: 6px; } .total-amount { font-size: 28px; font-weight: 800; color: var(–success-green); background: #e9f7ef; padding: 10px 12px; border-radius: 6px; display: inline-block; margin-bottom: 10px; } .breakdown { display: grid; gap: 6px; font-size: 14px; } .breakdown span { display: flex; justify-content: space-between; } .error { color: #b91c1c; font-weight: 600; } .article { margin-top: 24px; background: #ffffff; border: 1px solid var(–border); border-radius: 8px; padding: 18px; } .article h2 { color: var(–primary-blue); margin-top: 0; } .article h3 { color: #1f4e79; margin-bottom: 6px; } .article p { line-height: 1.6; margin-top: 0; } @media (max-width: 820px) { .calc-grid { grid-template-columns: 1fr; } }

Sea Freight Calculator

Estimate international sea freight costs using weight-or-measurement pricing, distance surcharges, and common port and documentation fees.

Shipment Details

Enter 0 if unknown and use volume instead.
CBM = cubic meters of cargo.

Rates and Surcharges

Enter shipment details and click Calculate to see your estimate.

How a Sea Freight Quote Is Calculated

Sea freight pricing typically follows the weight-or-measurement (W/M) rule. Carriers charge based on whichever is greater: the cargo weight in metric tons or the volume in cubic meters (CBM). The W/M value is then multiplied by the rate per W/M to create the base freight cost. From there, surcharges and fixed fees are added to produce the final landed freight estimate.

Key Inputs Explained

Weight (tons) and Volume (CBM) define the W/M basis. The calculator selects the higher of the two to reflect standard carrier billing practices. The Rate per W/M is your negotiated ocean rate. Distance surcharge captures long-route or canal-related charges when a carrier bills by nautical mile. Fuel surcharge is a percentage of base freight, while insurance applies to cargo value. Port and documentation fees cover terminal handling, security, and paperwork.

Formula Used

Chargeable Units (W/M) = max(Weight in tons, Volume in CBM)

Base Freight = Chargeable Units x Rate per W/M

Distance Surcharge = Distance (NM) x Distance Rate

Fuel Surcharge = Base Freight x Fuel %

Insurance = Cargo Value x Insurance %

Total Sea Freight = Base Freight + Distance Surcharge + Fuel Surcharge + Insurance + Port Fees + Documentation Fee

Example Calculation

A shipment weighs 12 tons and measures 18 CBM. The rate is $65 per W/M, the route is 6,000 nautical miles with a $0.02 per NM surcharge, fuel surcharge is 12%, cargo value is $85,000 with 0.6% insurance, port fees are $350, and documentation is $75.

Chargeable units are 18 W/M (volume is higher). Base freight is 18 x $65 = $1,170. Distance surcharge is 6,000 x $0.02 = $120. Fuel surcharge is 12% of $1,170 = $140.40. Insurance is 0.6% of $85,000 = $510. Total estimated sea freight is $2,365.40.

When to Use This Calculator

This calculator is ideal for budgeting ocean shipments, comparing carrier quotes, and forecasting landed costs for international trade. It aligns with typical LCL pricing structures and provides a clear breakdown of how charges build from the W/M basis to the final total.

function calculateSeaFreight() { var weight = parseFloat(document.getElementById("cargoWeight").value); var volume = parseFloat(document.getElementById("cargoVolume").value); var rate = parseFloat(document.getElementById("ratePerWM").value); var distance = parseFloat(document.getElementById("distanceNm").value); var distanceRate = parseFloat(document.getElementById("distanceRate").value); var fuelPct = parseFloat(document.getElementById("fuelSurcharge").value); var cargoValue = parseFloat(document.getElementById("cargoValue").value); var insurancePct = parseFloat(document.getElementById("insuranceRate").value); var portFees = parseFloat(document.getElementById("portFees").value); var docFee = parseFloat(document.getElementById("docFee").value); if (isNaN(weight) || weight < 0) { weight = 0; } if (isNaN(volume) || volume < 0) { volume = 0; } if (isNaN(rate) || rate <= 0) { document.getElementById("result").innerHTML = '
Please enter a valid Rate per W/M.
'; return; } if (weight === 0 && volume === 0) { document.getElementById("result").innerHTML = '
Please enter either weight or volume.
'; return; } if (isNaN(distance) || distance < 0) { distance = 0; } if (isNaN(distanceRate) || distanceRate < 0) { distanceRate = 0; } if (isNaN(fuelPct) || fuelPct < 0) { fuelPct = 0; } if (isNaN(cargoValue) || cargoValue < 0) { cargoValue = 0; } if (isNaN(insurancePct) || insurancePct < 0) { insurancePct = 0; } if (isNaN(portFees) || portFees < 0) { portFees = 0; } if (isNaN(docFee) || docFee = volume) ? "Weight (W/M basis)" : "Volume (W/M basis)"; var costPerUnit = total / chargeableUnits; document.getElementById("result").innerHTML = '
Estimated Total Cost
' + '
$' + formatMoney(total) + '
' + '
' + 'Chargeable Units (W/M) ' + chargeableUnits.toFixed(2) + ' (' + basis + ')' + 'Base Freight $' + formatMoney(baseFreight) + '' + 'Distance Surcharge $' + formatMoney(distanceSurcharge) + '' + 'Fuel Surcharge $' + formatMoney(fuelSurcharge) + '' + 'Insurance $' + formatMoney(insuranceCost) + '' + 'Port and Handling Fees $' + formatMoney(portFees) + '' + 'Documentation Fee $' + formatMoney(docFee) + '' + 'Cost per W/M $' + formatMoney(costPerUnit) + '' + '
'; } function formatMoney(value) { return value.toFixed(2); }

Leave a Comment