Ontario
British Columbia
Quebec
Alberta
Manitoba
Saskatchewan
Nova Scotia
New Brunswick
Newfoundland & Labrador
Prince Edward Island
Yukon
Northwest Territories
Nunavut
Ontario
British Columbia
Quebec
Alberta
Manitoba
Saskatchewan
Nova Scotia
New Brunswick
Newfoundland & Labrador
Prince Edward Island
Yukon
Northwest Territories
Nunavut
FedEx Ground (1-7 Business Days)
FedEx Express Saver (3 Business Days)
FedEx 2Day (2 Business Days)
FedEx Standard Overnight (Next Day pm)
FedEx Priority Overnight (Next Day am)
FedEx First Overnight (Next Day early am)
Estimated Shipping Cost
Billable Weight:–
Base Rate (Zone ):–
Fuel Surcharge (14.5%):–
Taxes (Estimated):–
Total Estimated Cost:–
*This calculator provides estimates for educational purposes only. Actual FedEx rates may vary based on specific postal codes, account discounts, and daily fuel surcharge fluctuations.
Guide to FedEx Shipping Rates in Canada
Calculating shipping costs for FedEx within Canada involves understanding several key variables. Whether you are an e-commerce business owner or sending a personal package, the final rate is determined by a combination of weight, package dimensions, distance traveled (zones), and the speed of service selected.
1. Dimensional Weight vs. Actual Weight
One of the most critical concepts in shipping logistics is Dimensional (Dim) Weight. Carriers like FedEx do not simply charge based on the scale weight of your package. They compare the actual weight against the volumetric weight.
Formula: Dimensional Weight (kg) = (Length x Width x Height in cm) / 5000.
If you are shipping a large, lightweight box (like a pillow), you will be charged for the space it occupies in the truck or plane, not its physical weight. This is known as the Billable Weight.
2. Understanding Canadian Shipping Zones
FedEx determines the "Distance" factor using zones. In Canada, shipping intra-province (e.g., Toronto to Ottawa) is generally Zone 1 or 2, resulting in lower base rates. Shipping cross-country (e.g., Montreal to Vancouver) traverses multiple zones, significantly increasing the base rate.
3. Service Types Available
Choosing the right service level affects cost dramatically:
FedEx Ground: Most economical, strictly by truck. Good for heavy items where time is not critical (1-7 days).
FedEx Express Saver & 2Day: Air options that balance speed and cost.
FedEx Overnight (First, Priority, Standard): Premium air services for next-day delivery. "First" arrives early morning, "Priority" mid-morning, and "Standard" in the afternoon.
4. Surcharges and Fees
The base rate is rarely the final price. Common additions include:
Fuel Surcharge: Fluctuate weekly based on oil prices.
Residential Delivery Fee: Delivering to a home is often more expensive than a business address.
Additional Handling: For packages exceeding standard dimensions or weight limits.
How to Lower Your Shipping Costs
To optimize your shipping spend, try to reduce the dimensions of your packaging to avoid dimensional weight pricing. Additionally, creating a business account with FedEx can often unlock volume-based discounts that are not available to retail customers.
function calculateShipping() {
// 1. Get Input Values
var weight = parseFloat(document.getElementById('packageWeight').value);
var length = parseFloat(document.getElementById('dimLength').value);
var width = parseFloat(document.getElementById('dimWidth').value);
var height = parseFloat(document.getElementById('dimHeight').value);
var origin = document.getElementById('originProv').value;
var dest = document.getElementById('destProv').value;
var service = document.getElementById('serviceType').value;
// 2. Validate Inputs
if (isNaN(weight) || weight <= 0) {
alert("Please enter a valid package weight.");
return;
}
if (isNaN(length) || length <= 0) length = 1;
if (isNaN(width) || width <= 0) width = 1;
if (isNaN(height) || height <= 0) height = 1;
// 3. Calculate Billable Weight (Max of Actual vs Dim)
// FedEx Canada divisor is typically 5000 for cm/kg
var dimWeight = (length * width * height) / 5000;
var billableWeight = Math.max(weight, dimWeight);
// 4. Determine Zone Factor (Simplified Simulation)
// Logic: Same province = 1.0, Neighbor = 1.5, Far = 2.5, Remote = 3.5
var zoneMultiplier = 1.0;
var zoneId = "Local";
// Simplified adjacency map
var east = ['QC', 'NB', 'NS', 'PE', 'NL'];
var center = ['ON', 'MB'];
var west = ['BC', 'AB', 'SK'];
var north = ['YT', 'NT', 'NU'];
if (origin === dest) {
zoneMultiplier = 1.0; // Intra-province
zoneId = "Intra";
} else if (north.includes(origin) || north.includes(dest)) {
zoneMultiplier = 3.5; // Remote/Northern
zoneId = "Remote";
} else {
// Check regions
var originRegion = east.includes(origin) ? 'east' : (center.includes(origin) ? 'center' : 'west');
var destRegion = east.includes(dest) ? 'east' : (center.includes(dest) ? 'center' : 'west');
if (originRegion === destRegion) {
zoneMultiplier = 1.4; // Nearby province in same region
zoneId = "Regional";
} else if ((originRegion === 'east' && destRegion === 'center') ||
(originRegion === 'center' && destRegion === 'east') ||
(originRegion === 'center' && destRegion === 'west') ||
(originRegion === 'west' && destRegion === 'center')) {
zoneMultiplier = 1.8; // One region over
zoneId = "National 1";
} else {
zoneMultiplier = 2.4; // Cross country (East West)
zoneId = "National 2″;
}
}
// 5. Determine Base Rate based on Service and Billable Weight
// Simulated base rates per kg
var baseRatePerKg = 0;
var flatFee = 0;
switch (service) {
case 'ground':
flatFee = 12.00;
baseRatePerKg = 1.50;
break;
case 'expressSaver':
flatFee = 25.00;
baseRatePerKg = 4.00;
break;
case '2day':
flatFee = 35.00;
baseRatePerKg = 6.50;
break;
case 'standardOvernight':
flatFee = 45.00;
baseRatePerKg = 8.50;
break;
case 'priorityOvernight':
flatFee = 55.00;
baseRatePerKg = 10.50;
break;
case 'firstOvernight':
flatFee = 95.00;
baseRatePerKg = 12.00;
break;
default:
flatFee = 15.00;
baseRatePerKg = 2.00;
}
// Calculation formula: (Flat Fee + (Weight * Rate)) * Zone Multiplier
var baseCost = (flatFee + (billableWeight * baseRatePerKg)) * zoneMultiplier;
// 6. Add Fuel Surcharge and Tax
var fuelSurchargePercent = 0.145; // 14.5% avg
var fuelCost = baseCost * fuelSurchargePercent;
var taxRate = 0.13; // Default HST avg
// Adjust tax based on dest
if (['AB', 'YT', 'NT', 'NU'].includes(dest)) taxRate = 0.05; // GST
else if (['BC', 'MB'].includes(dest)) taxRate = 0.05; // GST (PST usually separate but keeping simple)
else if (['SK'].includes(dest)) taxRate = 0.05;
else if (['QC'].includes(dest)) taxRate = 0.05; // GST only for federal calc estimation
else if (['ON', 'NB', 'NL'].includes(dest)) taxRate = 0.13;
else if (['NS', 'PE'].includes(dest)) taxRate = 0.15;
var subtotal = baseCost + fuelCost;
var taxCost = subtotal * taxRate;
var totalCost = subtotal + taxCost;
// 7. Display Results
document.getElementById('result-area').style.display = 'block';
document.getElementById('res-billable-weight').innerText = billableWeight.toFixed(2) + " kg";
document.getElementById('res-zone').innerText = zoneId;
document.getElementById('res-base').innerText = "$" + baseCost.toFixed(2);
document.getElementById('res-fuel').innerText = "$" + fuelCost.toFixed(2);
document.getElementById('res-tax').innerText = "$" + taxCost.toFixed(2);
document.getElementById('res-total').innerText = "CAD $" + totalCost.toFixed(2);
}