Employees pay 50%; Employers pay 50%. Self-employed pay both portions.
Contribution Breakdown
Base Contribution (Tier 1):
Enhanced Contribution (Tier 2):
Total Annual CPP Contribution:
Employer Match (Cost to Employer):
function calculateCPP() {
// Get inputs
var yearSelect = document.getElementById("taxYear");
var selectedYear = parseInt(yearSelect.value);
var statusSelect = document.getElementById("employmentStatus");
var status = statusSelect.value;
var incomeInput = document.getElementById("annualIncome");
var income = parseFloat(incomeInput.value);
// Validation
if (isNaN(income) || income basicExemption) {
baseContributableEarnings = Math.min(income, ympe) – basicExemption;
}
var baseContribution = baseContributableEarnings * baseRate * multiplier;
// 2. Calculate Enhanced Contribution (Tier 2)
// Only applies to earnings BETWEEN YMPE and YAMPE
var tier2ContributableEarnings = 0;
if (income > ympe) {
tier2ContributableEarnings = Math.min(income, yampe) – ympe;
}
var tier2Contribution = tier2ContributableEarnings * tier2Rate * multiplier;
// Totals
var totalContribution = baseContribution + tier2Contribution;
// Display Results
document.getElementById("res-base").innerText = formatCurrency(baseContribution);
document.getElementById("res-enhanced").innerText = formatCurrency(tier2Contribution);
document.getElementById("res-total").innerText = formatCurrency(totalContribution);
var employerRow = document.getElementById("employer-match-row");
var employerSpan = document.getElementById("res-employer");
if (status === "self") {
// For self-employed, the "total" is the full cost. Employer match concept doesn't apply separately visually.
employerRow.style.display = "flex";
document.querySelector("#employer-match-row span:first-child").innerText = "Includes both Employee & Employer portions";
employerSpan.innerText = "(Already included above)";
} else {
// For employees, show what the employer also pays
employerRow.style.display = "flex";
document.querySelector("#employer-match-row span:first-child").innerText = "Employer Match (Cost to Employer):";
employerSpan.innerText = formatCurrency(totalContribution); // Employer pays same amount
}
document.getElementById("result-area").style.display = "block";
}
function formatCurrency(num) {
return "$" + num.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
}
Understanding Your CPP Contributions in 2024 and 2025
The Canada Pension Plan (CPP) is undergoing significant changes with the introduction of the "Enhanced CPP" program. This calculator helps employees and self-employed individuals estimate their contributions based on the Year's Maximum Pensionable Earnings (YMPE) and the new Year's Additional Maximum Pensionable Earnings (YAMPE).
How the CPP Calculation Works
Your CPP contributions are calculated based on your annual pensionable earnings, falling into two specific distinct tiers starting in 2024.
1. The Basic Exemption
The first $3,500 of your income is exempt from CPP contributions. You do not pay any premiums on earnings up to this amount.
2. Tier 1: Base Contributions (YMPE)
You contribute a set percentage of your earnings between the Basic Exemption ($3,500) and the Year's Maximum Pensionable Earnings (YMPE). For 2024, the YMPE is $68,500.
Starting in 2024, a second earnings ceiling was introduced, called the Year's Additional Maximum Pensionable Earnings (YAMPE). If you earn more than the YMPE, you contribute an additional percentage on the income that falls between the YMPE and the YAMPE.
2024 YAMPE: $73,200
Tier 2 Employee Rate: 4.00%
Tier 2 Self-Employed Rate: 8.00%
Example Calculation (Employee earning $80,000 in 2024):
Since the income exceeds both the YMPE ($68,500) and the YAMPE ($73,200), the employee pays maximum contributions on both tiers.
Below is a summary of the key thresholds used in the calculator.
Metric
2024 (Actual)
2025 (Projected)
YMPE (Tier 1 Ceiling)
$68,500
~$69,700
YAMPE (Tier 2 Ceiling)
$73,200
~$79,400
Basic Exemption
$3,500
$3,500
Max Contribution (Employee)
$4,055.50
~$4,320.00
Self-Employed Considerations
If you are self-employed, you are responsible for paying both the employee and employer portions of the CPP. This means your contribution rate is effectively doubled (11.9% for Tier 1 and 8.0% for Tier 2). However, you can claim a tax deduction for the employer portion of these contributions when filing your T1 General return.