Use this calculator to estimate your Comprehensive Ranking System (CRS) score for Canada's Express Entry program. Your CRS score is crucial for receiving an Invitation to Apply (ITA) for permanent residence.
1. Personal Information
Single (Never married / Divorced / Widowed)
Married or Common-law Partner
Select Age
17 years or less
18-29 years
30 years
31 years
32 years
33 years
34 years
35 years
36 years
37 years
38 years
39 years
40 years
41 years
42 years
43 years
44 years
45 years or more
Select Education Level
Less than secondary school (high school)
Secondary school diploma (high school graduation)
One-year post-secondary degree, diploma or certificate
Two-year post-secondary degree, diploma or certificate
Bachelor's degree OR a 3+ year post-secondary degree, diploma or certificate
Two or more post-secondary degrees, diplomas or certificates (one must be for a program of three or more years)
Master's degree OR professional degree (e.g., Medicine, Veterinary Medicine, Dentistry, Optometry, Law, Chiropractic Medicine, or Pharmacy)
Doctoral level university degree (Ph.D.)
2. Official Languages (First Official Language)
Enter your Canadian Language Benchmark (CLB) levels for your first official language (English or French).
Select CLB Level
CLB 4 or less
CLB 5
CLB 6
CLB 7
CLB 8
CLB 9 or more
Select CLB Level
CLB 4 or less
CLB 5
CLB 6
CLB 7
CLB 8
CLB 9 or more
Select CLB Level
CLB 4 or less
CLB 5
CLB 6
CLB 7
CLB 8
CLB 9 or more
Select CLB Level
CLB 4 or less
CLB 5
CLB 6
CLB 7
CLB 8
CLB 9 or more
3. Work Experience
Select Years
None
Less than 1 year
1 year
2 years
3 years
4 years
5 years or more
Select Years
None
1-2 years
3 years or more
4. Spouse or Common-law Partner Information
Select Education Level
Less than secondary school (high school)
Secondary school diploma (high school graduation)
One-year post-secondary degree, diploma or certificate
Two-year post-secondary degree, diploma or certificate
Bachelor's degree OR a 3+ year post-secondary degree, diploma or certificate
Two or more post-secondary degrees, diplomas or certificates (one must be for a program of three or more years)
Master's degree OR professional degree
Doctoral level university degree (Ph.D.)
Select Years
None
Less than 1 year
1 year
2 years
3 years
4 years
5 years or more
Spouse's Official Language Proficiency:
Enter your spouse's Canadian Language Benchmark (CLB) levels for their first official language (English or French).
Select CLB Level
CLB 4 or less
CLB 5
CLB 6
CLB 7
CLB 8
CLB 9 or more
Select CLB Level
CLB 4 or less
CLB 5
CLB 6
CLB 7
CLB 8
CLB 9 or more
Select CLB Level
CLB 4 or less
CLB 5
CLB 6
CLB 7
CLB 8
CLB 9 or more
Select CLB Level
CLB 4 or less
CLB 5
CLB 6
CLB 7
CLB 8
CLB 9 or more
5. Additional Factors
None
1-2 years credential
3 years or more credential
Understanding the Canada Express Entry CRS Points System
The Comprehensive Ranking System (CRS) is a points-based system used by Immigration, Refugees and Citizenship Canada (IRCC) to assess and score Express Entry candidates. Candidates are ranked in the Express Entry pool based on their CRS score, and those with the highest scores are invited to apply for permanent residence.
How CRS Points are Calculated
Your CRS score is calculated based on several factors, categorized into:
Core Human Capital Factors: These include your age, level of education, 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 level, official language proficiency, and Canadian work experience can also contribute to your score.
Skill Transferability Factors: These points are awarded for combinations of your education, official language proficiency, and work experience (both Canadian and foreign).
Additional Factors: Points can be gained for a Provincial Nominee Program (PNP) nomination, a valid job offer (Arranged Employment), Canadian post-secondary education, strong French language proficiency, and having a sibling in Canada.
The maximum possible CRS score is 1200 points.
Detailed Breakdown of CRS Categories:
1. Core Human Capital Factors (Max 500 points for single, 460 for married)
Age: Points decrease after age 29. The highest points are awarded to candidates aged 18-29.
Education Level: Higher education credentials, such as Master's or Doctoral degrees, yield more points.
Official Language Proficiency: Strong English and/or French skills (measured by CLB levels) are crucial. CLB 9 or higher in all four abilities (listening, speaking, reading, writing) provides the maximum points.
Canadian Work Experience: More years of skilled work experience in Canada (NOC 0, A, or B) result in higher points.
2. Spouse or Common-law Partner Factors (Max 40 points)
If you are applying with a spouse or common-law partner, their qualifications can add up to 40 points to your total CRS score:
Spouse's Education: Up to 10 points.
Spouse's Official Language Proficiency: Up to 20 points (5 points per ability).
Spouse's Canadian Work Experience: Up to 10 points.
3. Skill Transferability Factors (Max 100 points)
These points are awarded for combinations of your human capital factors, recognizing that certain combinations make you more adaptable to the Canadian job market:
Education and Language Proficiency: Up to 50 points.
Education and Canadian Work Experience: Up to 50 points.
Foreign Work Experience and Language Proficiency: Up to 50 points.
Foreign Work Experience and Canadian Work Experience: Up to 50 points.
4. Additional Factors (Max 600 points)
Provincial Nominee Program (PNP) Nomination: A nomination from a Canadian province or territory is the most significant boost, adding 600 points.
Arranged Employment (Job Offer): A valid job offer supported by a Labour Market Impact Assessment (LMIA) can add 50 or 200 points, depending on the National Occupational Classification (NOC) skill level.
Canadian Post-Secondary Education: Completing a post-secondary program in Canada can add 15 or 30 points.
French Language Proficiency: If you achieve NCLC 7 or higher in all four French language abilities, you can get an additional 25 or 50 points, depending on your English CLB level.
Sibling in Canada: Having a sibling (18+, Canadian citizen or permanent resident) in Canada can add 15 points.
Example CRS Score Calculation:
Let's consider a hypothetical applicant, Sarah, who is single and wants to immigrate to Canada:
Age: 28 years (110 points)
Education: Master's degree (135 points)
First Official Language (English): CLB 9+ in all abilities (124 points)
Canadian Work Experience: 2 years (53 points)
Foreign Work Experience: 3 years (0 direct points, but contributes to skill transferability)
Additional Factors: No PNP, no job offer, no Canadian education, no French NCLC 7+, no sibling.
Core Human Capital: 110 (Age) + 135 (Education) + 124 (Language) + 53 (Canadian Work Exp) = 422 points
Skill Transferability:
Education (Master's) + Language (CLB 9+): 50 points
Education (Master's) + Canadian Work Exp (2 years): 50 points
Foreign Work Exp (3 years) + Language (CLB 9+): 50 points
Foreign Work Exp (3 years) + Canadian Work Exp (2 years): 50 points
Total Skill Transferability: 50 + 50 + 50 + 50 = 200 points. (Capped at 100 points, so 100 points)
This example demonstrates how different factors combine to form a comprehensive CRS score. Regularly checking your score and exploring options to improve it (e.g., improving language skills, gaining more work experience, or seeking a PNP nomination) can significantly increase your chances of receiving an ITA.
.canada-pr-calculator-container {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
max-width: 800px;
margin: 20px auto;
padding: 25px;
background-color: #f9f9f9;
border-radius: 10px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
color: #333;
}
.canada-pr-calculator-container h2 {
color: #0056b3;
text-align: center;
margin-bottom: 25px;
font-size: 1.8em;
}
.canada-pr-calculator-container h3 {
color: #0056b3;
margin-top: 30px;
margin-bottom: 15px;
border-bottom: 2px solid #e0e0e0;
padding-bottom: 8px;
font-size: 1.4em;
}
.canada-pr-calculator-container h4 {
color: #0056b3;
margin-top: 20px;
margin-bottom: 10px;
font-size: 1.2em;
}
.calculator-form .form-group {
margin-bottom: 18px;
display: flex;
flex-direction: column;
}
.calculator-form .form-group label {
margin-bottom: 8px;
font-weight: bold;
color: #555;
font-size: 0.95em;
}
.calculator-form .form-group select,
.calculator-form .form-group input[type="number"] {
width: 100%;
padding: 10px 12px;
border: 1px solid #ccc;
border-radius: 5px;
font-size: 1em;
box-sizing: border-box;
background-color: #fff;
transition: border-color 0.3s ease;
}
.calculator-form .form-group select:focus,
.calculator-form .form-group input[type="number"]:focus {
border-color: #007bff;
outline: none;
box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.calculator-form .checkbox-group {
flex-direction: row;
align-items: center;
}
.calculator-form .checkbox-group input[type="checkbox"] {
margin-right: 10px;
width: auto;
transform: scale(1.2);
}
.calculator-form .checkbox-group label {
margin-bottom: 0;
font-weight: normal;
}
.calculate-button {
display: block;
width: 100%;
padding: 12px 20px;
background-color: #28a745;
color: white;
border: none;
border-radius: 5px;
font-size: 1.1em;
font-weight: bold;
cursor: pointer;
margin-top: 30px;
transition: background-color 0.3s ease, transform 0.2s ease;
}
.calculate-button:hover {
background-color: #218838;
transform: translateY(-2px);
}
.calculator-result {
margin-top: 30px;
padding: 20px;
background-color: #e9f7ef;
border: 1px solid #28a745;
border-radius: 8px;
font-size: 1.2em;
font-weight: bold;
color: #28a745;
text-align: center;
}
.calculator-result p {
margin: 5px 0;
}
.calculator-article {
margin-top: 40px;
padding-top: 20px;
border-top: 1px solid #eee;
}
.calculator-article p,
.calculator-article ul,
.calculator-article ol {
line-height: 1.7;
margin-bottom: 15px;
color: #444;
}
.calculator-article ul,
.calculator-article ol {
padding-left: 25px;
}
.calculator-article li {
margin-bottom: 8px;
}
@media (max-width: 600px) {
.canada-pr-calculator-container {
padding: 15px;
}
.calculator-form .form-group {
flex-direction: column;
}
.calculator-form .form-group label {
width: 100%;
margin-bottom: 5px;
}
.calculator-form .form-group select,
.calculator-form .form-group input[type="number"] {
width: 100%;
}
}
function toggleSpouseFields() {
var maritalStatus = document.getElementById('maritalStatus').value;
var spouseSection = document.getElementById('spouseSection');
if (maritalStatus === 'married') {
spouseSection.style.display = 'block';
} else {
spouseSection.style.display = 'none';
// Reset spouse fields if hidden
document.getElementById('spouseEducation').value = '0';
document.getElementById('spouseCanadianWorkExp').value = '0';
document.getElementById('spouseLangListen').value = '0';
document.getElementById('spouseLangSpeak').value = '0';
document.getElementById('spouseLangRead').value = '0';
document.getElementById('spouseLangWrite').value = '0';
}
}
function getClbPoints(clbLevel, isSingle, isSpouse) {
if (isSpouse) {
switch (clbLevel) {
case 'clb9_plus': return 5;
case 'clb8': return 3;
case 'clb7': return 3;
case 'clb6': return 1;
case 'clb5': return 1;
default: return 0;
}
} else { // Primary applicant
if (isSingle) {
switch (clbLevel) {
case 'clb9_plus': return 31;
case 'clb8': return 23;
case 'clb7': return 17;
case 'clb6': return 9;
case 'clb5': return 6;
default: return 0;
}
} else { // Married primary applicant
switch (clbLevel) {
case 'clb9_plus': return 29;
case 'clb8': return 22;
case 'clb7': return 16;
case 'clb6': return 8;
case 'clb5': return 6;
default: return 0;
}
}
}
}
function clbToInt(clbLevel) {
if (clbLevel === 'clb9_plus') return 9;
if (clbLevel === 'clb8') return 8;
if (clbLevel === 'clb7') return 7;
if (clbLevel === 'clb6') return 6;
if (clbLevel === 'clb5') return 5;
return 0; // clb4_less or invalid
}
function areAllClbAtLeast(clbListen, clbSpeak, clbRead, clbWrite, minClb) {
var l = clbToInt(clbListen);
var s = clbToInt(clbSpeak);
var r = clbToInt(clbRead);
var w = clbToInt(clbWrite);
return (l >= minClb && s >= minClb && r >= minClb && w >= minClb);
}
function calculateCRSPoints() {
var totalPoints = 0;
var resultDiv = document.getElementById('result');
resultDiv.innerHTML = "; // Clear previous results
// 1. Get input values
var maritalStatus = document.getElementById('maritalStatus').value;
var isSingle = (maritalStatus === 'single');
var age = document.getElementById('age').value;
var educationLevel = document.getElementById('educationLevel').value;
var firstLangListen = document.getElementById('firstLangListen').value;
var firstLangSpeak = document.getElementById('firstLangSpeak').value;
var firstLangRead = document.getElementById('firstLangRead').value;
var firstLangWrite = document.getElementById('firstLangWrite').value;
var canadianWorkExp = document.getElementById('canadianWorkExp').value;
var foreignWorkExp = document.getElementById('foreignWorkExp').value;
var spouseEducation = document.getElementById('spouseEducation').value;
var spouseCanadianWorkExp = document.getElementById('spouseCanadianWorkExp').value;
var spouseLangListen = document.getElementById('spouseLangListen').value;
var spouseLangSpeak = document.getElementById('spouseLangSpeak').value;
var spouseLangRead = document.getElementById('spouseLangRead').value;
var spouseLangWrite = document.getElementById('spouseLangWrite').value;
var pnpNomination = document.getElementById('pnpNomination').checked;
var arrangedEmployment = document.getElementById('arrangedEmployment').checked;
var canadianEducation = document.getElementById('canadianEducation').value;
var frenchNCLC7 = document.getElementById('frenchNCLC7').checked;
var siblingInCanada = document.getElementById('siblingInCanada').checked;
var coreHumanCapitalPoints = 0;
var spousePoints = 0;
var skillTransferabilityPoints = 0;
var additionalPoints = 0;
// — Core Human Capital Factors —
// Age Points
var agePoints = 0;
switch (age) {
case '18_29′: agePoints = isSingle ? 110 : 100; break;
case '30': agePoints = isSingle ? 105 : 95; break;
case '31': agePoints = isSingle ? 100 : 90; break;
case '32': agePoints = isSingle ? 95 : 85; break;
case '33': agePoints = isSingle ? 90 : 80; break;
case '34': agePoints = isSingle ? 85 : 75; break;
case '35': agePoints = isSingle ? 80 : 70; break;
case '36': agePoints = isSingle ? 75 : 65; break;
case '37': agePoints = isSingle ? 70 : 60; break;
case '38': agePoints = isSingle ? 65 : 55; break;
case '39': agePoints = isSingle ? 60 : 50; break;
case '40': agePoints = isSingle ? 50 : 40; break;
case '41': agePoints = isSingle ? 40 : 30; break;
case '42': agePoints = isSingle ? 30 : 20; break;
case '43': agePoints = isSingle ? 20 : 10; break;
case '44': agePoints = isSingle ? 10 : 5; break;
default: agePoints = 0; break;
}
coreHumanCapitalPoints += agePoints;
// Education Points (Primary Applicant)
var eduPoints = 0;
switch (educationLevel) {
case 'secondary': eduPoints = isSingle ? 30 : 28; break;
case 'one_year_post_secondary': eduPoints = isSingle ? 90 : 84; break;
case 'two_year_post_secondary': eduPoints = isSingle ? 92 : 86; break;
case 'bachelor_or_three_plus_years': eduPoints = isSingle ? 120 : 112; break;
case 'two_or_more_degrees': eduPoints = isSingle ? 128 : 119; break;
case 'masters_or_professional': eduPoints = isSingle ? 135 : 126; break;
case 'doctoral': eduPoints = isSingle ? 150 : 140; break;
default: eduPoints = 0; break;
}
coreHumanCapitalPoints += eduPoints;
// First Official Language Points (Primary Applicant)
var firstLangPoints = 0;
firstLangPoints += getClbPoints(firstLangListen, isSingle, false);
firstLangPoints += getClbPoints(firstLangSpeak, isSingle, false);
firstLangPoints += getClbPoints(firstLangRead, isSingle, false);
firstLangPoints += getClbPoints(firstLangWrite, isSingle, false);
coreHumanCapitalPoints += firstLangPoints;
// Canadian Work Experience Points (Primary Applicant)
var canWorkPoints = 0;
switch (canadianWorkExp) {
case 'one_year': canWorkPoints = isSingle ? 40 : 35; break;
case 'two_years': canWorkPoints = isSingle ? 53 : 46; break;
case 'three_years': canWorkPoints = isSingle ? 64 : 56; break;
case 'four_years': canWorkPoints = isSingle ? 72 : 63; break;
case 'five_plus_years': canWorkPoints = isSingle ? 80 : 70; break;
default: canWorkPoints = 0; break;
}
coreHumanCapitalPoints += canWorkPoints;
// — Spouse or Common-law Partner Factors —
if (!isSingle) {
// Spouse Education Points
switch (spouseEducation) {
case 'secondary': spousePoints += 2; break;
case 'one_year_post_secondary': spousePoints += 6; break;
case 'two_year_post_secondary': spousePoints += 7; break;
case 'bachelor_or_three_plus_years': spousePoints += 8; break;
case 'two_or_more_degrees': spousePoints += 9; break;
case 'masters_or_professional': spousePoints += 10; break;
case 'doctoral': spousePoints += 10; break;
default: break;
}
// Spouse Canadian Work Experience Points
switch (spouseCanadianWorkExp) {
case 'one_year': spousePoints += 5; break;
case 'two_years': spousePoints += 7; break;
case 'three_years': spousePoints += 8; break;
case 'four_years': spousePoints += 9; break;
case 'five_plus_years': spousePoints += 10; break;
default: break;
}
// Spouse Official Language Points
spousePoints += getClbPoints(spouseLangListen, false, true);
spousePoints += getClbPoints(spouseLangSpeak, false, true);
spousePoints += getClbPoints(spouseLangRead, false, true);
spousePoints += getClbPoints(spouseLangWrite, false, true);
}
// — Skill Transferability Factors (Max 100 points) —
var stf_edu_lang = 0;
var stf_edu_can_work = 0;
var stf_foreign_lang = 0;
var stf_foreign_can_work = 0;
var primaryClbMin = Math.min(clbToInt(firstLangListen), clbToInt(firstLangSpeak), clbToInt(firstLangRead), clbToInt(firstLangWrite));
var primaryEduIsPostSecondary = (educationLevel === 'one_year_post_secondary' || educationLevel === 'two_year_post_secondary');
var primaryEduIsBachelorPlus = (educationLevel === 'bachelor_or_three_plus_years' || educationLevel === 'two_or_more_degrees' || educationLevel === 'masters_or_professional' || educationLevel === 'doctoral');
var primaryCanWork1Year = (canadianWorkExp === 'one_year');
var primaryCanWork2PlusYears = (canadianWorkExp === 'two_years' || canadianWorkExp === 'three_years' || canadianWorkExp === 'four_years' || canadianWorkExp === 'five_plus_years');
var primaryForeignWork1_2Years = (foreignWorkExp === 'one_to_two_years');
var primaryForeignWork3PlusYears = (foreignWorkExp === 'three_plus_years');
// Education + Official Language Proficiency (Max 50 points)
if (primaryEduIsPostSecondary) {
if (primaryClbMin >= 7 && primaryClbMin = 9) stf_edu_lang = Math.max(stf_edu_lang, 25);
}
if (primaryEduIsBachelorPlus) {
if (primaryClbMin >= 7 && primaryClbMin = 9) stf_edu_lang = Math.max(stf_edu_lang, 50);
}
// Education + Canadian Work Experience (Max 50 points)
if (primaryEduIsPostSecondary) {
if (primaryCanWork1Year) stf_edu_can_work = Math.max(stf_edu_can_work, 13);
if (primaryCanWork2PlusYears) stf_edu_can_work = Math.max(stf_edu_can_work, 25);
}
if (primaryEduIsBachelorPlus) {
if (primaryCanWork1Year) stf_edu_can_work = Math.max(stf_edu_can_work, 25);
if (primaryCanWork2PlusYears) stf_edu_can_work = Math.max(stf_edu_can_work, 50);
}
// Foreign Work Experience + Official Language Proficiency (Max 50 points)
if (primaryForeignWork1_2Years) {
if (primaryClbMin >= 7 && primaryClbMin = 9) stf_foreign_lang = Math.max(stf_foreign_lang, 25);
}
if (primaryForeignWork3PlusYears) {
if (primaryClbMin >= 7 && primaryClbMin = 9) stf_foreign_lang = Math.max(stf_foreign_lang, 50);
}
// Foreign Work Experience + Canadian Work Experience (Max 50 points)
if (primaryForeignWork1_2Years) {
if (primaryCanWork1Year) stf_foreign_can_work = Math.max(stf_foreign_can_work, 13);
if (primaryCanWork2PlusYears) stf_foreign_can_work = Math.max(stf_foreign_can_work, 25);
}
if (primaryForeignWork3PlusYears) {
if (primaryCanWork1Year) stf_foreign_can_work = Math.max(stf_foreign_can_work, 25);
if (primaryCanWork2PlusYears) stf_foreign_can_work = Math.max(stf_foreign_can_work, 50);
}
skillTransferabilityPoints = stf_edu_lang + stf_edu_can_work + stf_foreign_lang + stf_foreign_can_work;
if (skillTransferabilityPoints > 100) {
skillTransferabilityPoints = 100;
}
// — Additional Factors —
if (pnpNomination) {
additionalPoints += 600;
}
if (arrangedEmployment) {
// Simplified: assuming NOC 0, A, B for 50 points. For 200 points (NOC 00), more input needed.
additionalPoints += 50;
}
switch (canadianEducation) {
case 'one_to_two_years': additionalPoints += 15; break;
case 'three_plus_years': additionalPoints += 30; break;
default: break;
}
if (frenchNCLC7) {
// Check if English CLB is 5 or more in all abilities
if (areAllClbAtLeast(firstLangListen, firstLangSpeak, firstLangRead, firstLangWrite, 5)) {
additionalPoints += 50; // French NCLC 7+ AND English CLB 5+
} else {
additionalPoints += 25; // French NCLC 7+ AND English CLB 4 or less
}
}
if (siblingInCanada) {
additionalPoints += 15;
}
totalPoints = coreHumanCapitalPoints + spousePoints + skillTransferabilityPoints + additionalPoints;
resultDiv.innerHTML = '