Canadian PR Express Entry CRS Points Calculator
Estimate your Comprehensive Ranking System (CRS) score for Canada's Express Entry program.
Understanding the Canadian PR Express Entry CRS Score
The Comprehensive Ranking System (CRS) is a points-based system used by Immigration, Refugees and Citizenship Canada (IRCC) to assess and score candidates in the Express Entry pool. Express Entry is Canada's main system for managing applications for permanent residence from skilled workers.
Your CRS score determines your ranking in the Express Entry pool. Periodically, IRCC conducts draws, inviting candidates above a certain CRS cut-off score to apply for permanent residence. A higher CRS score significantly increases your chances of receiving an Invitation to Apply (ITA).
Key Factors Influencing Your CRS Score:
- Core Human Capital Factors: These are fundamental attributes of the principal applicant, including age, education level, official language proficiency (English and/or French), and Canadian work experience.
- Spouse or Common-Law Partner Factors: If you are applying with a spouse or common-law partner, their education, language proficiency, and Canadian work experience can contribute to your overall score.
- Skill Transferability Factors: These points are awarded for combinations of your education, official language proficiency, and work experience (both Canadian and foreign). They recognize how well your skills can be transferred to the Canadian labour market.
- Additional Points: This category includes significant boosts to your score for factors like a Provincial Nominee Program (PNP) nomination, a valid job offer (arranged employment), Canadian post-secondary education, having a sibling in Canada, and strong French language proficiency.
How to Use This Calculator:
Select the options that best describe your profile and that of your accompanying spouse/partner (if applicable). The calculator will then provide an estimated CRS score based on the information you provide. Remember to be as accurate as possible with your selections, especially regarding language test results and educational credential assessments.
Important Considerations:
- This calculator provides an estimate only. The official CRS score will be determined by IRCC based on the documents you submit in your Express Entry profile and application.
- CRS points allocations can change. This calculator is based on the most commonly available and recent CRS criteria.
- Ensure your language test results (IELTS, CELPIP, TEF, TCF) are converted correctly to Canadian Language Benchmark (CLB) levels.
- Educational credentials obtained outside Canada must be assessed by an approved organization (ECA) to determine their Canadian equivalency.
Example Scenarios:
Example 1: Single Applicant, Strong Profile
- Age: 29 (110 points)
- Education: Master's degree (135 points)
- First Language (English): CLB 9+ (136 points)
- Canadian Work Experience: 3 years (64 points)
- Foreign Work Experience: 3+ years
- Additional: PNP Nomination (600 points)
- Estimated CRS Score: ~1045 points (Core: 110+135+136+64 = 445; Skill Transferability: Education+Language CLB9+ = 50, Foreign Work+Language CLB9+ = 50, Foreign Work+Canadian Work = 50; Additional: 600. Total: 445 + 100 (max skill transferability) + 600 = 1145. Note: Skill transferability maxes out at 100, so 50+50+50 would be 100. So 445 + 100 + 600 = 1145. This is a very high score due to PNP.)
Example 2: Couple, Moderate Profile
- Principal Applicant Age: 33 (80 points with spouse)
- Principal Applicant Education: Bachelor's degree (112 points with spouse)
- Principal Applicant First Language (English): CLB 8 (120 points with spouse)
- Principal Applicant Canadian Work Experience: 1 year (35 points with spouse)
- Spouse Education: Secondary diploma (2 points)
- Spouse Language (English): CLB 7 (5 points)
- Spouse Canadian Work Experience: None (0 points)
- Additional: None
- Estimated CRS Score: ~394 points (PA Core: 80+112+120+35 = 347; Spouse: 2+5+0 = 7; Skill Transferability: Education+Language CLB8 = 25, Canadian Work+Language CLB8 = 13. Total: 347 + 7 + 38 = 392. This is a more typical score for many applicants without PNP or arranged employment.)
function toggleSpouseFields(show) {
var spouseFields = document.getElementById('spouseFields');
if (show) {
spouseFields.style.display = 'block';
} else {
spouseFields.style.display = 'none';
// Reset spouse fields if hidden
document.getElementById('spouseEducation').value = ";
document.getElementById('spouseLanguageCLB').value = ";
document.getElementById('spouseCanadianWorkExp').value = ";
}
}
function calculateCRS() {
var totalCRS = 0;
var paCorePoints = 0;
var spousePoints = 0;
var skillTransferabilityPoints = 0;
var additionalPoints = 0;
// Determine if spouse is accompanying
var hasSpouse = document.getElementById('spouseYes').checked;
// — Principal Applicant's Core Human Capital —
var paAge = document.getElementById('paAge').value;
var paEducation = document.getElementById('paEducation').value;
var paFirstLanguageCLB = document.getElementById('paFirstLanguageCLB').value;
var paSecondLanguageCLB = document.getElementById('paSecondLanguageCLB').value;
var paCanadianWorkExp = document.getElementById('paCanadianWorkExp').value;
var paForeignWorkExp = document.getElementById('paForeignWorkExp').value;
var paCertificateOfQual = document.getElementById('paCertificateOfQual').value;
// Age Points
if (paAge === '18_29′) paCorePoints += hasSpouse ? 100 : 110;
else if (paAge === '30') paCorePoints += hasSpouse ? 95 : 105;
else if (paAge === '31') paCorePoints += hasSpouse ? 90 : 100;
else if (paAge === '32') paCorePoints += hasSpouse ? 85 : 95;
else if (paAge === '33') paCorePoints += hasSpouse ? 80 : 90;
else if (paAge === '34') paCorePoints += hasSpouse ? 75 : 85;
else if (paAge === '35') paCorePoints += hasSpouse ? 70 : 80;
else if (paAge === '36') paCorePoints += hasSpouse ? 65 : 75;
else if (paAge === '37') paCorePoints += hasSpouse ? 60 : 70;
else if (paAge === '38') paCorePoints += hasSpouse ? 55 : 65;
else if (paAge === '39') paCorePoints += hasSpouse ? 50 : 60;
else if (paAge === '40') paCorePoints += hasSpouse ? 45 : 55;
else if (paAge === '41') paCorePoints += hasSpouse ? 35 : 45;
else if (paAge === '42') paCorePoints += hasSpouse ? 25 : 35;
else if (paAge === '43') paCorePoints += hasSpouse ? 15 : 25;
else if (paAge === '44') paCorePoints += hasSpouse ? 5 : 15;
// Education Points
if (paEducation === 'secondary_diploma') paCorePoints += hasSpouse ? 28 : 30;
else if (paEducation === 'one_year_post_secondary') paCorePoints += hasSpouse ? 84 : 90;
else if (paEducation === 'two_year_post_secondary') paCorePoints += hasSpouse ? 86 : 92;
else if (paEducation === 'bachelors_or_three_plus_year') paCorePoints += hasSpouse ? 112 : 120;
else if (paEducation === 'two_or_more_degrees') paCorePoints += hasSpouse ? 120 : 128;
else if (paEducation === 'masters_or_professional') paCorePoints += hasSpouse ? 126 : 135;
else if (paEducation === 'doctoral') paCorePoints += hasSpouse ? 140 : 150;
// First Official Language Points
if (paFirstLanguageCLB === 'clb_9_or_more') paCorePoints += hasSpouse ? 128 : 136;
else if (paFirstLanguageCLB === 'clb_8') paCorePoints += hasSpouse ? 120 : 128;
else if (paFirstLanguageCLB === 'clb_7') paCorePoints += hasSpouse ? 104 : 116;
else if (paFirstLanguageCLB === 'clb_6') paCorePoints += hasSpouse ? 84 : 96;
else if (paFirstLanguageCLB === 'clb_5') paCorePoints += hasSpouse ? 60 : 68;
// Second Official Language Points (Max 6 points)
if (paSecondLanguageCLB === 'clb_9_or_more') paCorePoints += 6;
else if (paSecondLanguageCLB === 'clb_7_8') paCorePoints += 3;
// Canadian Work Experience Points
if (paCanadianWorkExp === 'one_year') paCorePoints += hasSpouse ? 35 : 40;
else if (paCanadianWorkExp === 'two_years') paCorePoints += hasSpouse ? 46 : 53;
else if (paCanadianWorkExp === 'three_years') paCorePoints += hasSpouse ? 56 : 64;
else if (paCanadianWorkExp === 'four_years') paCorePoints += hasSpouse ? 64 : 72;
else if (paCanadianWorkExp === 'five_plus_years') paCorePoints += hasSpouse ? 72 : 80;
// — Spouse/Common-Law Partner Factors —
if (hasSpouse) {
var spouseEducation = document.getElementById('spouseEducation').value;
var spouseLanguageCLB = document.getElementById('spouseLanguageCLB').value;
var spouseCanadianWorkExp = document.getElementById('spouseCanadianWorkExp').value;
// Spouse Education Points
if (spouseEducation === 'secondary_diploma') spousePoints += 2;
else if (spouseEducation === 'one_year_post_secondary') spousePoints += 6;
else if (spouseEducation === 'two_year_post_secondary') spousePoints += 7;
else if (spouseEducation === 'bachelors_or_three_plus_year') spousePoints += 8;
else if (spouseEducation === 'two_or_more_degrees') spousePoints += 9;
else if (spouseEducation === 'masters_or_professional' || spouseEducation === 'doctoral') spousePoints += 10;
// Spouse Language Points
if (spouseLanguageCLB === 'clb_7' || spouseLanguageCLB === 'clb_8' || spouseLanguageCLB === 'clb_9_or_more') spousePoints += 5;
else if (spouseLanguageCLB === 'clb_6') spousePoints += 3;
else if (spouseLanguageCLB === 'clb_5') spousePoints += 1;
// Spouse Canadian Work Experience Points
if (spouseCanadianWorkExp === 'one_year') spousePoints += 5;
else if (spouseCanadianWorkExp === 'two_years') spousePoints += 7;
else if (spouseCanadianWorkExp === 'three_years') spousePoints += 8;
else if (spouseCanadianWorkExp === 'four_years') spousePoints += 9;
else if (spouseCanadianWorkExp === 'five_plus_years') spousePoints += 10;
}
// — Skill Transferability Factors (Max 100 points) —
var currentSkillTransferability = 0;
// Education + Official Language Proficiency (Max 50 points)
var paEducationLevel = 0; // 0: less than secondary, 1: secondary, 2: 1-year, 3: 2-year, 4: bachelor/3+, 5: 2+ degrees, 6: masters, 7: doctoral
if (paEducation === 'secondary_diploma') paEducationLevel = 1;
else if (paEducation === 'one_year_post_secondary') paEducationLevel = 2;
else if (paEducation === 'two_year_post_secondary') paEducationLevel = 3;
else if (paEducation === 'bachelors_or_three_plus_year') paEducationLevel = 4;
else if (paEducation === 'two_or_more_degrees') paEducationLevel = 5;
else if (paEducation === 'masters_or_professional') paEducationLevel = 6;
else if (paEducation === 'doctoral') paEducationLevel = 7;
var paFirstLanguageCLB_num = 0; // 0: CLB4-, 5: CLB5, 6: CLB6, 7: CLB7, 8: CLB8, 9: CLB9+
if (paFirstLanguageCLB === 'clb_5') paFirstLanguageCLB_num = 5;
else if (paFirstLanguageCLB === 'clb_6') paFirstLanguageCLB_num = 6;
else if (paFirstLanguageCLB === 'clb_7') paFirstLanguageCLB_num = 7;
else if (paFirstLanguageCLB === 'clb_8') paFirstLanguageCLB_num = 8;
else if (paFirstLanguageCLB === 'clb_9_or_more') paFirstLanguageCLB_num = 9;
if (paEducationLevel >= 2) { // Post-secondary degree (1+ year)
if (paFirstLanguageCLB_num >= 7 && paFirstLanguageCLB_num = 9) currentSkillTransferability += 25;
}
if (paEducationLevel >= 5) { // Two or more post-secondary degrees (one 3+ years)
if (paFirstLanguageCLB_num >= 7 && paFirstLanguageCLB_num = 9) currentSkillTransferability = Math.max(currentSkillTransferability, 50);
}
skillTransferabilityPoints += currentSkillTransferability;
currentSkillTransferability = 0; // Reset for next category
// Education + Canadian Work Experience (Max 50 points)
var paCanadianWorkExp_num = 0; // 0: none, 1: 1yr, 2: 2yrs, 3: 3yrs, 4: 4yrs, 5: 5+yrs
if (paCanadianWorkExp === 'one_year') paCanadianWorkExp_num = 1;
else if (paCanadianWorkExp === 'two_years') paCanadianWorkExp_num = 2;
else if (paCanadianWorkExp === 'three_years') paCanadianWorkExp_num = 3;
else if (paCanadianWorkExp === 'four_years') paCanadianWorkExp_num = 4;
else if (paCanadianWorkExp === 'five_plus_years') paCanadianWorkExp_num = 5;
if (paEducationLevel >= 2) { // Post-secondary degree (1+ year)
if (paCanadianWorkExp_num >= 1 && paCanadianWorkExp_num = 3) currentSkillTransferability += 25;
}
if (paEducationLevel >= 5) { // Two or more post-secondary degrees (one 3+ years)
if (paCanadianWorkExp_num >= 1 && paCanadianWorkExp_num = 3) currentSkillTransferability = Math.max(currentSkillTransferability, 50);
}
skillTransferabilityPoints += currentSkillTransferability;
currentSkillTransferability = 0;
// Foreign Work Experience + Official Language Proficiency (Max 50 points)
var paForeignWorkExp_num = 0; // 0: none, 1: 1-2yrs, 3: 3+yrs
if (paForeignWorkExp === 'one_two_years') paForeignWorkExp_num = 1;
else if (paForeignWorkExp === 'three_plus_years') paForeignWorkExp_num = 3;
if (paForeignWorkExp_num >= 1) {
if (paFirstLanguageCLB_num >= 7 && paFirstLanguageCLB_num = 9) currentSkillTransferability += (paForeignWorkExp_num === 1) ? 25 : 50;
}
skillTransferabilityPoints += currentSkillTransferability;
currentSkillTransferability = 0;
// Foreign Work Experience + Canadian Work Experience (Max 50 points)
if (paForeignWorkExp_num >= 1) {
if (paCanadianWorkExp_num >= 1 && paCanadianWorkExp_num = 3) currentSkillTransferability += (paForeignWorkExp_num === 1) ? 25 : 50;
}
skillTransferabilityPoints += currentSkillTransferability;
currentSkillTransferability = 0;
// Certificate of Qualification + Official Language Proficiency (Max 50 points)
if (paCertificateOfQual === 'yes') {
if (paFirstLanguageCLB_num >= 7 && paFirstLanguageCLB_num = 9) currentSkillTransferability += 50;
}
skillTransferabilityPoints += currentSkillTransferability;
// Cap skill transferability points at 100
skillTransferabilityPoints = Math.min(skillTransferabilityPoints, 100);
// — Additional Points —
var arrangedEmployment = document.getElementById('arrangedEmployment').value;
var pnpNomination = document.getElementById('pnpNomination').value;
var canadianEducation = document.getElementById('canadianEducation').value;
var siblingInCanada = document.getElementById('siblingInCanada').value;
var frenchProficiency = document.getElementById('frenchProficiency').value;
if (arrangedEmployment === 'noc_00') additionalPoints += 200;
else if (arrangedEmployment === 'noc_0_a_b') additionalPoints += 50;
if (pnpNomination === 'yes') additionalPoints += 600;
if (canadianEducation === 'one_two_year') additionalPoints += 15;
else if (canadianEducation === 'three_plus_year_or_masters_phd') additionalPoints += 30;
if (siblingInCanada === 'yes') additionalPoints += 15;
if (frenchProficiency === 'yes_english_clb4_less') additionalPoints += 25;
else if (frenchProficiency === 'yes_english_clb5_more') additionalPoints += 50;
// Sum all points
totalCRS = paCorePoints + spousePoints + skillTransferabilityPoints + additionalPoints;
// Display result
document.getElementById('result').innerHTML = 'Your estimated CRS Score:
' + totalCRS + '';
}
// Initialize spouse fields visibility on page load
document.addEventListener('DOMContentLoaded', function() {
toggleSpouseFields(document.getElementById('spouseYes').checked);
});