{"id":18563,"date":"2026-09-15T06:28:26","date_gmt":"2026-09-15T06:28:26","guid":{"rendered":"https:\/\/glutenfreepleasure.com\/__proxy_domain\/vivos.com.sg\/?page_id=18563"},"modified":"2026-10-09T05:17:12","modified_gmt":"2026-10-09T05:17:12","slug":"employment-pass-compass-calculator","status":"publish","type":"page","link":"https:\/\/glutenfreepleasure.com\/__proxy_domain\/vivos.com.sg\/employment-pass-compass-calculator\/","title":{"rendered":"Singapore Employment Pass Calculator: Salary &#038; COMPASS Points Checker"},"content":{"rendered":"<p>Before you file an Employment Pass application, two separate tests decide whether it will be approved: the <strong>qualifying salary floor<\/strong> (Stage 1) and the <strong>COMPASS points assessment<\/strong> (Stage 2). Both must be cleared. Use the calculator below to get an instant, indicative read on where a candidate stands against MOM&#8217;s published 2026 criteria, drawn from our <a href=\"\/blog\/singapore-employment-pass-eligibility-compass-salary\/\">full Employment Pass &amp; COMPASS eligibility guide<\/a>.<\/p>\n\t<div class=\"vivos-ep-calc\" id=\"vivosEpCalc\">\n\t\t<div class=\"vec-header\">\n\t\t\t<h2>Singapore Employment Pass: Salary &amp; COMPASS Calculator<\/h2>\n\t\t\t<p class=\"vec-sub\">A free, indicative estimate of whether a candidate clears MOM's two-stage Employment Pass test: the qualifying salary floor, then the COMPASS points assessment. Figures verified against <a href=\"https:\/\/www.mom.gov.sg\/passes-and-permits\/employment-pass\/eligibility\" target=\"_blank\" rel=\"noopener\">mom.gov.sg<\/a> on 15 September 2026.<\/p>\n\t\t<\/div>\n\n\t\t<div class=\"vec-grid\">\n\t\t\t<div class=\"vec-card\">\n\t\t\t\t<h3>Stage 1 \u2014 EP Qualifying Salary<\/h3>\n\n\t\t\t\t<label class=\"vec-label\">Candidate's age\n\t\t\t\t\t<input type=\"number\" id=\"vecAge\" min=\"18\" max=\"70\" value=\"30\" class=\"vec-input\">\n\t\t\t\t<\/label>\n\n\t\t\t\t<label class=\"vec-label\">Sector\n\t\t\t\t\t<select id=\"vecSector\" class=\"vec-input\">\n\t\t\t\t\t\t<option value=\"general\">All sectors except financial services<\/option>\n\t\t\t\t\t\t<option value=\"finance\">Financial services<\/option>\n\t\t\t\t\t<\/select>\n\t\t\t\t<\/label>\n\n\t\t\t\t<label class=\"vec-label\">Salary table\n\t\t\t\t\t<select id=\"vecTable\" class=\"vec-input\">\n\t\t\t\t\t\t<option value=\"current\">Current (new applications now; renewals expiring before 1 Jan 2028)<\/option>\n\t\t\t\t\t\t<option value=\"2027\">From 1 Jan 2027 (new applications); renewals expiring from 1 Jan 2028<\/option>\n\t\t\t\t\t<\/select>\n\t\t\t\t<\/label>\n\n\t\t\t\t<label class=\"vec-label\">Candidate's fixed monthly salary (S$)\n\t\t\t\t\t<input type=\"number\" id=\"vecSalary\" min=\"0\" step=\"50\" value=\"7200\" class=\"vec-input\">\n\t\t\t\t<\/label>\n\n\t\t\t\t<div class=\"vec-result\" id=\"vecStage1Result\"><\/div>\n\t\t\t<\/div>\n\n\t\t\t<div class=\"vec-card\">\n\t\t\t\t<h3>Stage 2 \u2014 COMPASS points test<\/h3>\n\t\t\t\t<p class=\"vec-note\" id=\"vecCompassExemptNote\" style=\"display:none;\">A fixed monthly salary of S$22,500 or more is exempt from COMPASS entirely (same threshold as the Fair Consideration Framework advertising exemption). Skip straight to a pass.<\/p>\n\n\t\t\t\t<div id=\"vecCompassFields\">\n\t\t\t\t\t<label class=\"vec-label\">C1 \u2014 Candidate's salary vs. MOM's sector salary benchmark\n\t\t\t\t\t\t<select id=\"vecC1\" class=\"vec-input\">\n\t\t\t\t\t\t\t<option value=\"20\">At or above the 90th percentile (20 pts)<\/option>\n\t\t\t\t\t\t\t<option value=\"10\">65th to below 90th percentile (10 pts)<\/option>\n\t\t\t\t\t\t\t<option value=\"0\">Below the 65th percentile (0 pts)<\/option>\n\t\t\t\t\t\t<\/select>\n\t\t\t\t\t<\/label>\n\t\t\t\t\t<p class=\"vec-hint\">Sector-specific salary benchmark dollar figures are published separately by MOM and differ by industry \u2014 if unsure, we can check your exact benchmark for you.<\/p>\n\n\t\t\t\t\t<label class=\"vec-label\">C2 \u2014 Candidate's highest qualification\n\t\t\t\t\t\t<select id=\"vecC2\" class=\"vec-input\">\n\t\t\t\t\t\t\t<option value=\"20\">Degree-equivalent from a top-tier institution (QS Top 100 \/ Singapore Autonomous University \/ agency-endorsed) (20 pts)<\/option>\n\t\t\t\t\t\t\t<option value=\"10\">Other recognised degree-equivalent qualification (10 pts)<\/option>\n\t\t\t\t\t\t\t<option value=\"0\">No degree-equivalent qualification (0 pts)<\/option>\n\t\t\t\t\t\t<\/select>\n\t\t\t\t\t<\/label>\n\n\t\t\t\t\t<label class=\"vec-label\">Company's total PMET headcount (incl. this candidate)\n\t\t\t\t\t\t<input type=\"number\" id=\"vecPmetCount\" min=\"1\" step=\"1\" value=\"4\" class=\"vec-input\">\n\t\t\t\t\t<\/label>\n\t\t\t\t\t<p class=\"vec-hint\">Firms with fewer than 25 PMETs score 10 points by default on both C3 and C4 \u2014 most foreign-founder startups qualify for this.<\/p>\n\n\t\t\t\t\t<div id=\"vecLargeFirmFields\" style=\"display:none;\">\n\t\t\t\t\t\t<label class=\"vec-label\">C3 \u2014 Candidate's nationality as a share of the firm's PMETs\n\t\t\t\t\t\t\t<select id=\"vecC3\" class=\"vec-input\">\n\t\t\t\t\t\t\t\t<option value=\"20\">Below 5% (20 pts)<\/option>\n\t\t\t\t\t\t\t\t<option value=\"10\">5% to below 25% (10 pts)<\/option>\n\t\t\t\t\t\t\t\t<option value=\"0\">25% or more (0 pts)<\/option>\n\t\t\t\t\t\t\t<\/select>\n\t\t\t\t\t\t<\/label>\n\n\t\t\t\t\t\t<label class=\"vec-label\">C4 \u2014 Firm's local PMET share vs. its sector\n\t\t\t\t\t\t\t<select id=\"vecC4\" class=\"vec-input\">\n\t\t\t\t\t\t\t\t<option value=\"20\">At or above the 50th percentile (20 pts)<\/option>\n\t\t\t\t\t\t\t\t<option value=\"10\">20th to below 50th percentile (10 pts)<\/option>\n\t\t\t\t\t\t\t\t<option value=\"0\">Below the 20th percentile (0 pts)<\/option>\n\t\t\t\t\t\t\t<\/select>\n\t\t\t\t\t\t<\/label>\n\n\t\t\t\t\t\t<label class=\"vec-checkbox\">\n\t\t\t\t\t\t\t<input type=\"checkbox\" id=\"vecC4Floor\"> Firm's local PMET share is 70% or higher (guarantees at least 10 pts on C4)\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<hr class=\"vec-hr\">\n\t\t\t\t\t<p class=\"vec-bonus-title\">Bonus criteria (optional, up to 30 extra points)<\/p>\n\n\t\t\t\t\t<label class=\"vec-checkbox\">\n\t\t\t\t\t\t<input type=\"checkbox\" id=\"vecC5\"> C5 \u2014 Role appears on MOM's Shortage Occupation List (SOL)\n\t\t\t\t\t<\/label>\n\t\t\t\t\t<div id=\"vecC5Sub\" style=\"display:none;\">\n\t\t\t\t\t\t<label class=\"vec-label\">Candidate's nationality share of the firm's PMETs (for SOL bonus)\n\t\t\t\t\t\t\t<select id=\"vecC5Share\" class=\"vec-input\">\n\t\t\t\t\t\t\t\t<option value=\"20\">Below 1\/3 (20 pts)<\/option>\n\t\t\t\t\t\t\t\t<option value=\"10\">1\/3 or more (10 pts)<\/option>\n\t\t\t\t\t\t\t<\/select>\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<label class=\"vec-checkbox\">\n\t\t\t\t\t\t<input type=\"checkbox\" id=\"vecC6\"> C6 \u2014 Firm meets criteria for an eligible EDB \/ Enterprise Singapore \/ IMDA \/ MPA \/ STB \/ NTUC programme (Strategic Economic Priorities bonus, +10 pts, agency discretion)\n\t\t\t\t\t<\/label>\n\t\t\t\t<\/div>\n\n\t\t\t\t<div class=\"vec-result\" id=\"vecStage2Result\"><\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n\t\t<div class=\"vec-verdict\" id=\"vecVerdict\"><\/div>\n\n\t\t<p class=\"vec-disclaimer\">This tool gives an indicative estimate based on MOM's published Employment Pass eligibility criteria and COMPASS framework, verified against mom.gov.sg on 15 September 2026. It is not an official assessment and does not constitute immigration advice. For a definitive check, <a href=\"\/contact\/\">talk to our MOM-licensed team<\/a> (Employment Agency Licence 24S2425).<\/p>\n\t<\/div>\n\n\t<style>\n\t.vivos-ep-calc{max-width:1100px;margin:0 auto;padding:0;font-family:inherit;color:#111;}\n\t.vivos-ep-calc h2{color:#082443;margin-bottom:6px;}\n\t.vec-sub{color:#444;margin-top:0;margin-bottom:24px;font-size:0.98em;}\n\t.vec-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}\n\t.vec-card{border:1px solid #d5d9e0;border-radius:8px;padding:20px 22px;background:#fafbfc;}\n\t.vec-card h3{margin-top:0;color:#082443;font-size:1.1em;}\n\t.vec-label{display:block;font-weight:600;font-size:0.92em;margin:14px 0 4px;color:#222;}\n\t.vec-input{width:100%;padding:8px 10px;border:1px solid #c4cad4;border-radius:5px;font-size:0.95em;margin-top:4px;box-sizing:border-box;background:#fff;}\n\t.vec-checkbox{display:flex;align-items:flex-start;gap:8px;font-size:0.92em;margin:14px 0;font-weight:600;color:#222;}\n\t.vec-checkbox input{margin-top:3px;flex-shrink:0;}\n\t.vec-hint{font-size:0.82em;color:#667;margin:4px 0 0;}\n\t.vec-note{background:#fff6f0;border-left:4px solid #c0552b;padding:8px 12px;font-size:0.88em;margin:0 0 14px;}\n\t.vec-hr{border:none;border-top:1px solid #d5d9e0;margin:18px 0;}\n\t.vec-bonus-title{font-weight:700;color:#082443;margin:0 0 8px;font-size:0.95em;}\n\t.vec-result{margin-top:18px;padding:12px 14px;border-radius:6px;font-size:0.92em;background:#fff;border:1px solid #d5d9e0;}\n\t.vec-result table{width:100%;border-collapse:collapse;margin-top:6px;}\n\t.vec-result td{padding:3px 4px;border-bottom:1px solid #eee;font-size:0.95em;}\n\t.vec-result td:last-child{text-align:right;font-weight:600;}\n\t.vec-pass{color:#1e7d40;font-weight:700;}\n\t.vec-fail{color:#b23b1e;font-weight:700;}\n\t.vec-verdict{margin-top:24px;padding:18px 22px;border-radius:8px;font-size:1.05em;font-weight:700;text-align:center;}\n\t.vec-verdict.pass{background:#eaf7ee;border:2px solid #1e7d40;color:#155c2f;}\n\t.vec-verdict.fail{background:#fdeeea;border:2px solid #b23b1e;color:#8a2c15;}\n\t.vec-disclaimer{font-size:0.82em;color:#667;margin-top:20px;line-height:1.5;}\n\t@media (max-width:760px){.vec-grid{grid-template-columns:1fr;}}\n\t<\/style>\n\n\t<script>\n\t(function(){\n\t\tvar TABLE_CURRENT_GENERAL = {23:5600,24:5832,25:6064,26:6295,27:6527,28:6759,29:6991,30:7223,31:7455,32:7686,33:7918,34:8150,35:8382,36:8614,37:8845,38:9077,39:9309,40:9541,41:9773,42:10005,43:10236,44:10468,45:10700};\n\t\tvar TABLE_CURRENT_FINANCE_ANCHORS = {23:6200,30:7982,45:11800};\n\t\tvar TABLE_2027_GENERAL_ANCHORS = {23:6000,45:11500};\n\t\tvar TABLE_2027_FINANCE_ANCHORS = {23:6600,45:12700};\n\n\t\tfunction clampAge(age){ return Math.max(23, Math.min(45, age)); }\n\n\t\tfunction interpolate(anchors, age){\n\t\t\tvar keys = Object.keys(anchors).map(Number).sort(function(a,b){return a-b;});\n\t\t\tage = Math.max(keys[0], Math.min(keys[keys.length-1], age));\n\t\t\tfor (var i=0;i<keys.length-1;i++){\n\t\t\t\tif (age >= keys[i] && age <= keys[i+1]){\n\t\t\t\t\tvar lo=keys[i], hi=keys[i+1];\n\t\t\t\t\tvar frac = (age-lo)\/(hi-lo);\n\t\t\t\t\treturn {value: Math.round(anchors[lo] + frac*(anchors[hi]-anchors[lo])), exact: (age===lo||age===hi)};\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {value: anchors[keys[keys.length-1]], exact:true};\n\t\t}\n\n\t\tfunction getQualifyingSalary(age, sector, table){\n\t\t\tvar a = clampAge(age);\n\t\t\tif (table === 'current'){\n\t\t\t\tif (sector === 'general'){\n\t\t\t\t\treturn {value: TABLE_CURRENT_GENERAL[a], exact:true};\n\t\t\t\t} else {\n\t\t\t\t\treturn interpolate(TABLE_CURRENT_FINANCE_ANCHORS, a);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tvar anchors = sector === 'general' ? TABLE_2027_GENERAL_ANCHORS : TABLE_2027_FINANCE_ANCHORS;\n\t\t\t\tvar r = interpolate(anchors, a);\n\t\t\t\tr.exact = (a===23 || a===45);\n\t\t\t\treturn r;\n\t\t\t}\n\t\t}\n\n\t\tfunction fmt(n){ return 'S$' + n.toLocaleString('en-SG'); }\n\n\t\tfunction computeStage1(){\n\t\t\tvar age = parseInt(document.getElementById('vecAge').value,10) || 0;\n\t\t\tvar sector = document.getElementById('vecSector').value;\n\t\t\tvar table = document.getElementById('vecTable').value;\n\t\t\tvar salary = parseFloat(document.getElementById('vecSalary').value) || 0;\n\t\t\tvar q = getQualifyingSalary(age, sector, table);\n\t\t\tvar pass = salary >= q.value;\n\t\t\tvar el = document.getElementById('vecStage1Result');\n\t\t\tvar approxNote = q.exact ? '' : '<p class=\"vec-hint\">This figure is interpolated between MOM' + String.fromCharCode(39) + 's published anchor points for this table \u2014 confirm your exact figure with our team before relying on it.<\/p>';\n\t\t\tel.innerHTML = '<table><tr><td>Required qualifying salary at age ' + age + '<\/td><td>' + fmt(q.value) + '<\/td><\/tr>'\n\t\t\t\t+ '<tr><td>Candidate' + String.fromCharCode(39) + 's salary<\/td><td>' + fmt(salary) + '<\/td><\/tr><\/table>'\n\t\t\t\t+ '<p class=\"' + (pass ? 'vec-pass' : 'vec-fail') + '\">' + (pass ? '\u2713 Clears Stage 1 (qualifying salary)' : '\u2717 Below Stage 1 qualifying salary \u2014 application would be disqualified regardless of COMPASS score') + '<\/p>'\n\t\t\t\t+ approxNote;\n\t\t\treturn {pass: pass, salary: salary};\n\t\t}\n\n\t\tfunction computeStage2(stage1){\n\t\t\tvar exempt = stage1.salary >= 22500;\n\t\t\tdocument.getElementById('vecCompassExemptNote').style.display = exempt ? 'block' : 'none';\n\t\t\tdocument.getElementById('vecCompassFields').style.display = exempt ? 'none' : 'block';\n\n\t\t\tvar pmetCount = parseInt(document.getElementById('vecPmetCount').value,10) || 1;\n\t\t\tvar isLargeFirm = pmetCount >= 25;\n\t\t\tdocument.getElementById('vecLargeFirmFields').style.display = isLargeFirm ? 'block' : 'none';\n\n\t\t\tvar c5Checked = document.getElementById('vecC5').checked;\n\t\t\tdocument.getElementById('vecC5Sub').style.display = c5Checked ? 'block' : 'none';\n\n\t\t\tvar el = document.getElementById('vecStage2Result');\n\n\t\t\tif (exempt){\n\t\t\t\tel.innerHTML = '<p class=\"vec-pass\">\u2713 Exempt from COMPASS \u2014 fixed monthly salary is S$22,500 or above.<\/p>';\n\t\t\t\treturn {pass:true, total:null, exempt:true};\n\t\t\t}\n\n\t\t\tvar c1 = parseInt(document.getElementById('vecC1').value,10);\n\t\t\tvar c2 = parseInt(document.getElementById('vecC2').value,10);\n\t\t\tvar c3 = isLargeFirm ? parseInt(document.getElementById('vecC3').value,10) : 10;\n\t\t\tvar c4 = isLargeFirm ? parseInt(document.getElementById('vecC4').value,10) : 10;\n\t\t\tif (isLargeFirm && document.getElementById('vecC4Floor').checked){\n\t\t\t\tc4 = Math.max(c4, 10);\n\t\t\t}\n\t\t\tvar c5 = 0;\n\t\t\tif (c5Checked){\n\t\t\t\tc5 = parseInt(document.getElementById('vecC5Share').value,10);\n\t\t\t}\n\t\t\tvar c6 = document.getElementById('vecC6').checked ? 10 : 0;\n\n\t\t\tvar total = c1+c2+c3+c4+c5+c6;\n\t\t\tvar pass = total >= 40;\n\n\t\t\tel.innerHTML = '<table>'\n\t\t\t\t+ '<tr><td>C1 \u2014 Salary benchmark<\/td><td>' + c1 + '<\/td><\/tr>'\n\t\t\t\t+ '<tr><td>C2 \u2014 Qualifications<\/td><td>' + c2 + '<\/td><\/tr>'\n\t\t\t\t+ '<tr><td>C3 \u2014 Diversity' + (isLargeFirm?'':' (default, <25 PMETs)') + '<\/td><td>' + c3 + '<\/td><\/tr>'\n\t\t\t\t+ '<tr><td>C4 \u2014 Support for local employment' + (isLargeFirm?'':' (default, <25 PMETs)') + '<\/td><td>' + c4 + '<\/td><\/tr>'\n\t\t\t\t+ '<tr><td>C5 \u2014 Skills bonus (SOL)<\/td><td>' + c5 + '<\/td><\/tr>'\n\t\t\t\t+ '<tr><td>C6 \u2014 Strategic priorities bonus<\/td><td>' + c6 + '<\/td><\/tr>'\n\t\t\t\t+ '<tr><td><b>Total<\/b><\/td><td><b>' + total + ' \/ 40 needed<\/b><\/td><\/tr>'\n\t\t\t\t+ '<\/table>'\n\t\t\t\t+ '<p class=\"' + (pass ? 'vec-pass' : 'vec-fail') + '\">' + (pass ? '\u2713 Clears the 40-point COMPASS threshold' : '\u2717 Below the 40-point COMPASS threshold') + '<\/p>';\n\n\t\t\treturn {pass: pass, total: total, exempt:false};\n\t\t}\n\n\t\tfunction computeAll(){\n\t\t\tvar s1 = computeStage1();\n\t\t\tvar s2 = computeStage2(s1);\n\t\t\tvar verdictEl = document.getElementById('vecVerdict');\n\t\t\tvar overallPass = s1.pass && s2.pass;\n\t\t\tverdictEl.className = 'vec-verdict ' + (overallPass ? 'pass' : 'fail');\n\t\t\tif (overallPass){\n\t\t\t\tverdictEl.textContent = '\u2713 Estimated result: this profile would likely clear both stages of the Employment Pass assessment.';\n\t\t\t} else if (!s1.pass){\n\t\t\t\tverdictEl.textContent = '\u2717 Estimated result: this profile does not meet the Stage 1 qualifying salary \u2014 COMPASS is not reached.';\n\t\t\t} else {\n\t\t\t\tverdictEl.textContent = '\u2717 Estimated result: Stage 1 is met, but the COMPASS score falls short of the 40-point threshold.';\n\t\t\t}\n\t\t}\n\n\t\tvar ids = ['vecAge','vecSector','vecTable','vecSalary','vecC1','vecC2','vecPmetCount','vecC3','vecC4','vecC4Floor','vecC5','vecC5Share','vecC6'];\n\t\tids.forEach(function(id){\n\t\t\tvar el = document.getElementById(id);\n\t\t\tif (el){\n\t\t\t\tel.addEventListener('input', computeAll);\n\t\t\t\tel.addEventListener('change', computeAll);\n\t\t\t}\n\t\t});\n\t\tcomputeAll();\n\t})();\n\t<\/script>\n\t\n<h2>How this calculator works<\/h2>\n<p>Stage 1 checks the candidate&#8217;s fixed monthly salary against MOM&#8217;s qualifying salary table, which scales up by age from 23 to 45 and differs slightly for financial services roles. Stage 2 applies the COMPASS framework&#8217;s four foundational criteria (C1\u2013C4) plus two optional bonus criteria (C5\u2013C6), against the 40-point pass mark. Candidates earning a fixed monthly salary of S$22,500 or more skip COMPASS entirely.<\/p>\n<p>Firms with fewer than 25 Employment Pass, S Pass and local PMET staff combined receive the default 10 points on C3 and C4, which is why most foreign-founder startups clear those two criteria automatically.<\/p>\n<h2>What this tool does not do<\/h2>\n<p>This calculator gives an indicative estimate only. It cannot check a candidate against MOM&#8217;s sector-specific salary benchmark tables, confirm whether a role sits on the Shortage Occupation List, or account for agency discretion on the Strategic Economic Priorities bonus. For a definitive assessment tied to your specific hire, <a href=\"\/manage-your-business\/singapore-immigration-via-business-formation\/employment-pass\/\">speak with our MOM-licensed Employment Pass team<\/a> (Employment Agency Licence 24S2425).<\/p>\n<h2>MOM&#8217;s Self-Assessment Tool (SAT) vs this calculator<\/h2>\n<p>MOM&#8217;s official Employment Pass assessment tool is the <a href=\"https:\/\/www.mom.gov.sg\/eservices\/services\/employment-s-pass-self-assessment-tool\" target=\"_blank\" rel=\"noopener\">Employment \/ S Pass Self-Assessment Tool (SAT)<\/a>. It is free, but the enhanced version, which shows the COMPASS score, needs a Singpass login and access to MOM&#8217;s EP eService (formerly EP Online), so in practice it is run by the employer or its employment agent. This calculator needs no login and is built for planning before a job offer or before a company is set up.<\/p>\n<div class=\"custom-table-container\">\n<table class=\"custom-table\">\n<thead>\n<tr>\n<th>Question<\/th>\n<th>MOM Self-Assessment Tool (SAT)<\/th>\n<th>VIVOS EP calculator (this page)<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Who can run it<\/td>\n<td>Employers and employment agents with EP eService access (Singpass login)<\/td>\n<td>Anyone, no login<\/td>\n<\/tr>\n<tr>\n<td>Firm-level COMPASS data (C3 diversity, C4 local employment)<\/td>\n<td>Uses the employer&#8217;s own MOM records<\/td>\n<td>You choose the band<\/td>\n<\/tr>\n<tr>\n<td>C1 salary benchmark<\/td>\n<td>Checked against MOM&#8217;s sector benchmarks<\/td>\n<td>You choose the percentile band<\/td>\n<\/tr>\n<tr>\n<td>What the result means<\/td>\n<td>&#8220;Not eligible&#8221;: do not apply, the application will be rejected. &#8220;Eligible&#8221;: around a 90% chance of approval, not a guarantee<\/td>\n<td>Indicative only<\/td>\n<\/tr>\n<tr>\n<td>Cost<\/td>\n<td>Free<\/td>\n<td>Free<\/td>\n<\/tr>\n<tr>\n<td>Best used for<\/td>\n<td>The final check before the employer files<\/td>\n<td>Early planning and structuring<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p><em>Source: MOM, Employment \/ S Pass Self-Assessment Tool page, checked 9 October 2026.<\/em><\/p>\n<h2>Frequently asked questions<\/h2>\n<h3>What is the EP assessment tool?<\/h3>\n<p>It usually means MOM&#8217;s Self-Assessment Tool (SAT), which gives an indicative outcome for an Employment Pass or S Pass application, including the COMPASS score, before the employer applies or renews. The enhanced SAT needs a Singpass login and EP eService access.<\/p>\n<h3>Is a SAT &#8220;eligible&#8221; result a guarantee?<\/h3>\n<p>No. MOM says an &#8220;eligible&#8221; result means around a 90% chance that the candidate will get the pass, because other checks, such as the candidate&#8217;s history, are not part of the self-assessment, and the actual COMPASS score can differ. A &#8220;not eligible&#8221; result means the application will be rejected, so the employer should not apply.<\/p>\n<h3>What salary does a candidate need at my age?<\/h3>\n<p>For all sectors except financial services, the EP qualifying salary is S$5,600 a month at age 23 or below, S$7,223 at 30, S$8,382 at 35, S$9,541 at 40 and S$10,700 at 45 and above, for new applications before 1 January 2027. From 1 January 2027 these rise to S$6,000, S$7,750, S$9,000, S$10,250 and S$11,500. Every age from 23 to 45, and the financial-services figures, are in our <a href=\"https:\/\/glutenfreepleasure.com\/__proxy_domain\/vivos.com.sg\/blog\/singapore-employment-pass-eligibility-compass-salary\/#t_3\">EP qualifying salary by age tables<\/a>.<\/p>\n<h3>Does a candidate earning S$22,500 or more need COMPASS?<\/h3>\n<p>No. A fixed monthly salary of at least S$22,500 is exempt from COMPASS, as are overseas intra-corporate transferees and roles of one month or less. The application still needs to meet the Stage 1 qualifying salary, which S$22,500 clears at every age.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Before you file an Employment Pass application, two separate tests decide whether it will be approved: the qualifying salary floor (Stage 1) and the COMPASS points assessment (Stage 2). Both must be cleared. Use the calculator below to get an instant, indicative read on where a candidate stands against MOM&#8217;s published 2026 criteria, drawn from&hellip; <a class=\"more-link\" href=\"https:\/\/glutenfreepleasure.com\/__proxy_domain\/vivos.com.sg\/employment-pass-compass-calculator\/\">Continue reading <span class=\"screen-reader-text\">Singapore Employment Pass Calculator: Salary &#038; COMPASS Points Checker<\/span><\/a><\/p>\n","protected":false},"author":11,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-18563","page","type-page","status-publish","hentry","entry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Singapore Employment Pass Calculator: Salary &amp; COMPASS Points Checker - VIVOS<\/title>\n<meta name=\"description\" content=\"Free calculator: check if a candidate clears Singapore\u2019s Employment Pass qualifying salary and 40-point COMPASS threshold, using MOM\u2019s 2026 criteria.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/glutenfreepleasure.com\/__proxy_domain\/vivos.com.sg\/employment-pass-compass-calculator\/\" \/>\n<meta property=\"og:locale\" content=\"en_SG\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Singapore Employment Pass Calculator: Salary &amp; COMPASS Points Checker - VIVOS\" \/>\n<meta property=\"og:description\" content=\"Free calculator: check if a candidate clears Singapore\u2019s Employment Pass qualifying salary and 40-point COMPASS threshold, using MOM\u2019s 2026 criteria.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/glutenfreepleasure.com\/__proxy_domain\/vivos.com.sg\/employment-pass-compass-calculator\/\" \/>\n<meta property=\"og:site_name\" content=\"VIVOS\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/vivos.sg\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-09T05:17:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/glutenfreepleasure.com\/__proxy_domain\/vivos.com.sg\/wp-content\/uploads\/2025\/02\/bannner-1-1024x477.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"477\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Singapore Employment Pass Calculator: Salary & COMPASS Points Checker - VIVOS","description":"Free calculator: check if a candidate clears Singapore\u2019s Employment Pass qualifying salary and 40-point COMPASS threshold, using MOM\u2019s 2026 criteria.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/glutenfreepleasure.com\/__proxy_domain\/vivos.com.sg\/employment-pass-compass-calculator\/","og_locale":"en_SG","og_type":"article","og_title":"Singapore Employment Pass Calculator: Salary & COMPASS Points Checker - VIVOS","og_description":"Free calculator: check if a candidate clears Singapore\u2019s Employment Pass qualifying salary and 40-point COMPASS threshold, using MOM\u2019s 2026 criteria.","og_url":"https:\/\/glutenfreepleasure.com\/__proxy_domain\/vivos.com.sg\/employment-pass-compass-calculator\/","og_site_name":"VIVOS","article_publisher":"https:\/\/www.facebook.com\/vivos.sg","article_modified_time":"2026-10-09T05:17:12+00:00","og_image":[{"width":1024,"height":477,"url":"https:\/\/glutenfreepleasure.com\/__proxy_domain\/vivos.com.sg\/wp-content\/uploads\/2025\/02\/bannner-1-1024x477.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/glutenfreepleasure.com\/__proxy_domain\/vivos.com.sg\/employment-pass-compass-calculator\/","url":"https:\/\/glutenfreepleasure.com\/__proxy_domain\/vivos.com.sg\/employment-pass-compass-calculator\/","name":"Singapore Employment Pass Calculator: Salary & COMPASS Points Checker - VIVOS","isPartOf":{"@id":"https:\/\/glutenfreepleasure.com\/__proxy_domain\/vivos.com.sg\/#website"},"datePublished":"2026-09-15T06:28:26+00:00","dateModified":"2026-10-09T05:17:12+00:00","description":"Free calculator: check if a candidate clears Singapore\u2019s Employment Pass qualifying salary and 40-point COMPASS threshold, using MOM\u2019s 2026 criteria.","breadcrumb":{"@id":"https:\/\/glutenfreepleasure.com\/__proxy_domain\/vivos.com.sg\/employment-pass-compass-calculator\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/glutenfreepleasure.com\/__proxy_domain\/vivos.com.sg\/employment-pass-compass-calculator\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/glutenfreepleasure.com\/__proxy_domain\/vivos.com.sg\/employment-pass-compass-calculator\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/glutenfreepleasure.com\/__proxy_domain\/vivos.com.sg\/"},{"@type":"ListItem","position":2,"name":"Singapore Employment Pass Calculator: Salary &#038; COMPASS Points Checker"}]},{"@type":"WebSite","@id":"https:\/\/glutenfreepleasure.com\/__proxy_domain\/vivos.com.sg\/#website","url":"https:\/\/glutenfreepleasure.com\/__proxy_domain\/vivos.com.sg\/","name":"VIVOS","description":"","publisher":{"@id":"https:\/\/glutenfreepleasure.com\/__proxy_domain\/vivos.com.sg\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/glutenfreepleasure.com\/__proxy_domain\/vivos.com.sg\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/glutenfreepleasure.com\/__proxy_domain\/vivos.com.sg\/wp-json\/wp\/v2\/pages\/18563","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/glutenfreepleasure.com\/__proxy_domain\/vivos.com.sg\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/glutenfreepleasure.com\/__proxy_domain\/vivos.com.sg\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/glutenfreepleasure.com\/__proxy_domain\/vivos.com.sg\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/glutenfreepleasure.com\/__proxy_domain\/vivos.com.sg\/wp-json\/wp\/v2\/comments?post=18563"}],"version-history":[{"count":4,"href":"https:\/\/glutenfreepleasure.com\/__proxy_domain\/vivos.com.sg\/wp-json\/wp\/v2\/pages\/18563\/revisions"}],"predecessor-version":[{"id":19131,"href":"https:\/\/glutenfreepleasure.com\/__proxy_domain\/vivos.com.sg\/wp-json\/wp\/v2\/pages\/18563\/revisions\/19131"}],"wp:attachment":[{"href":"https:\/\/glutenfreepleasure.com\/__proxy_domain\/vivos.com.sg\/wp-json\/wp\/v2\/media?parent=18563"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}