Calculate your automobile allowance based on official CRA tiered rates.
Enter the total distance driven for business purposes in the tax year.
Provinces (AB, BC, MB, NB, NL, NS, ON, PE, QC, SK)
Territories (NT, NU, YT)
Territories typically have a slightly higher reimbursement rate (+4 cents).
Calculation Results
First 5,000 km Amount:–
Remaining km Amount:–
Total Calculated Allowance:–
Using the CRA Mileage Rate 2025 Calculator
This calculator helps Canadians estimate their automobile allowance tax deductions or employee reimbursements for the 2025 tax year. The Canada Revenue Agency (CRA) establishes reasonable per-kilometre rates that employers can pay employees for the business use of their personal vehicles without the payment being considered taxable income.
Note on 2025 Rates: The CRA typically announces finalized rates for the upcoming year in late December or early January. This calculator uses the established baseline structure. If official inflation adjustments occur (typically 1-2 cents), the reimbursement amounts may be slightly higher.
How the CRA Mileage Calculation Works
The CRA utilizes a two-tiered system to determine reasonable automobile allowances. This structure is designed to account for fixed costs (like insurance and depreciation) which are amortized over the first few thousand kilometers, versus variable costs (like gas and maintenance) which continue indefinitely.
Tier 1 (First 5,000 km): A higher rate is applied to the first 5,000 business kilometers driven in the tax year. This helps cover fixed vehicle ownership costs.
Tier 2 (After 5,000 km): A lower rate is applied to any business kilometers driven beyond the 5,000 km threshold.
Current Rate Structures
Based on the most recent tax guidance, the rates are generally structured as follows (adjusted annually for inflation):
Provinces
For residents of Alberta, British Columbia, Manitoba, New Brunswick, Newfoundland and Labrador, Nova Scotia, Ontario, Prince Edward Island, Quebec, and Saskatchewan:
First 5,000 km: approx. 70¢ per km
Over 5,000 km: approx. 64¢ per km
Territories
Due to higher fuel and maintenance costs in Northern Canada, residents of the Northwest Territories, Nunavut, and Yukon receive an additional allowance (typically +4¢ per km):
First 5,000 km: approx. 74¢ per km
Over 5,000 km: approx. 68¢ per km
Example Calculation
If you live in Ontario and drove 12,000 km for business in 2025, your calculation would look like this:
First 5,000 km × $0.70 = $3,500
Remaining 7,000 km (12,000 – 5,000) × $0.64 = $4,480
Total Allowance: $3,500 + $4,480 = $7,980
Important Rules for Claims
To claim these expenses or receive tax-free reimbursement, ensure you maintain a detailed logbook. The CRA requires a record of:
Date of the trip
Destination
Purpose of the business trip
Number of kilometers driven
Without a logbook, the CRA may reject your mileage claims during an audit.
function calculateCRAMileage() {
// Get inputs
var kmInput = document.getElementById('totalKm').value;
var region = document.getElementById('region').value;
var resultsDiv = document.getElementById('results');
// Validation
if (kmInput === "" || kmInput < 0) {
alert("Please enter a valid number of kilometers.");
return;
}
var totalKm = parseFloat(kmInput);
// Define Rates (Based on recent CRA standards – 70/64 for Prov, 74/68 for Terr)
// These are variables to easily update if 2025 official release changes
var rate1_prov = 0.70;
var rate2_prov = 0.64;
var rate1_terr = 0.74;
var rate2_terr = 0.68;
var appliedRate1 = 0;
var appliedRate2 = 0;
var limit = 5000;
// Determine rates based on region
if (region === 'territory') {
appliedRate1 = rate1_terr;
appliedRate2 = rate2_terr;
} else {
appliedRate1 = rate1_prov;
appliedRate2 = rate2_prov;
}
var tier1Km = 0;
var tier2Km = 0;
var tier1Amount = 0;
var tier2Amount = 0;
var totalAmount = 0;
// Core Calculation Logic
if (totalKm <= limit) {
tier1Km = totalKm;
tier2Km = 0;
tier1Amount = tier1Km * appliedRate1;
tier2Amount = 0;
} else {
tier1Km = limit;
tier2Km = totalKm – limit;
tier1Amount = tier1Km * appliedRate1;
tier2Amount = tier2Km * appliedRate2;
}
totalAmount = tier1Amount + tier2Amount;
// Formatting for display
// Format currency strings
var formatter = new Intl.NumberFormat('en-CA', {
style: 'currency',
currency: 'CAD',
minimumFractionDigits: 2
});
// Update UI
document.getElementById('tier1Result').innerHTML =
formatter.format(tier1Amount) + " (" + tier1Km + " km @ " + (appliedRate1 * 100).toFixed(0) + "¢)";
document.getElementById('tier2Result').innerHTML =
formatter.format(tier2Amount) + " (" + tier2Km + " km @ " + (appliedRate2 * 100).toFixed(0) + "¢)";
document.getElementById('totalDeduction').innerText = formatter.format(totalAmount);
// Show results
resultsDiv.style.display = "block";
}