Enter the rate specified in your FedEx service guide (usually between $1.00 and $1.40).
$
The minimum fee FedEx charges if declared value exceeds $100.
Base Liability (Included):$100.00
Value Subject to Fee:$0.00
Estimated Declared Value Cost:$0.00
How FedEx Declared Value Charges Work
When shipping via FedEx, it is crucial to understand that carriers do not provide "insurance" in the traditional sense. Instead, they sell Declared Value coverage. This calculator helps you estimate the additional cost required to cover your package's full value beyond the standard liability limit.
The $100 Standard Liability
By default, FedEx liability for loss or damage is limited to $100 per shipment at no extra cost to you unless you declare a higher value. This means if you ship a package worth $50 without declaring a higher value, you are covered. However, if you ship a laptop worth $1,500 and do not declare a value, the maximum payout remains $100.
Calculating the Excess Value Fee
If your item is worth more than $100, you can choose to declare a higher value. FedEx charges a fee based on the amount in excess of the first $100. The math typically follows these rules:
Base Threshold: The first $100 is free.
Increments: The fee is calculated for every $100 (or fraction thereof) of the excess value.
Minimum Charge: There is a minimum charge (often around $4.20) applied if you declare any value above $100.
Calculation Example
Assume you are shipping a camera worth $650 and the current rate is $1.40 for every $100 of liability.
Total Value: $650
Included Coverage: $100
Excess Value: $650 – $100 = $550
Units of $100: FedEx rounds fractions up. $550 / 100 = 5.5. This counts as 6 units.
Calculation: 6 units × $1.40 = $8.40.
Since $8.40 is greater than the minimum charge (e.g., $4.20), the declared value fee added to your shipping cost would be $8.40.
Important Restrictions
FedEx has maximum declared value limits for specific items. For example, items like jewelry, artwork, or antiques often have a maximum declared value limit (e.g., $1,000), regardless of how much you are willing to pay. Always check the current FedEx Service Guide for prohibited items and maximum liability caps.
function calculateFedExInsurance() {
// 1. Get input values
var declaredValInput = document.getElementById('declaredValue').value;
var rateInput = document.getElementById('ratePer100').value;
var minChargeInput = document.getElementById('minCharge').value;
// 2. Validate inputs
var declaredVal = parseFloat(declaredValInput);
var rate = parseFloat(rateInput);
var minCharge = parseFloat(minChargeInput);
// Check for NaN or negative numbers
if (isNaN(declaredVal) || declaredVal < 0) declaredVal = 0;
if (isNaN(rate) || rate < 0) rate = 0;
if (isNaN(minCharge) || minCharge < 0) minCharge = 0;
// 3. Define Logic Constants
var freeCoverage = 100;
var finalFee = 0;
var excessValue = 0;
var breakdownText = "";
// 4. Perform Calculation
if (declaredVal <= freeCoverage) {
// No fee if value is under or equal to $100
finalFee = 0;
excessValue = 0;
breakdownText = "Value is within the standard $100 liability limit. No extra fee.";
} else {
// Calculate excess
excessValue = declaredVal – freeCoverage;
// Logic: Fee is per $100 OR FRACTION THEREOF.
// Example: Excess of $50 counts as 1 unit. Excess of $101 counts as 2 units.
var units = Math.ceil(excessValue / 100);
// Calculate raw fee
var calculatedFee = units * rate;
// Apply minimum charge logic
if (calculatedFee < minCharge) {
finalFee = minCharge;
breakdownText = "Calculated fee (" + formatMoney(calculatedFee) + ") is below minimum. Minimum charge applied.";
} else {
finalFee = calculatedFee;
breakdownText = units + " units of $100 (excess) × " + formatMoney(rate) + " rate.";
}
}
// 5. Output Results
document.getElementById('baseCoverage').innerHTML = "$100.00";
document.getElementById('excessValueDisplay').innerHTML = formatMoney(excessValue);
document.getElementById('totalFeeDisplay').innerHTML = formatMoney(finalFee);
document.getElementById('calcBreakdown').innerHTML = breakdownText;
// Show the result box
document.getElementById('result').style.display = 'block';
}
// Helper function for currency formatting
function formatMoney(amount) {
return "$" + amount.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
}