πŸ‡ΈπŸ‡¬ CPF Board

CPF Calculator

Singapore Citizens & 3rd-year+ SPRs Β· {{ selectedYear }}

mdi-account-cash

Your Details

Your age this year (16–100)
OW ceiling: S${{ formatNum(r('owCeiling', 8000)) }}/month
13th-month pay, annual bonus, etc.
Number of months with OW in this year
mdi-currency-usd

Monthly Contribution (on OW)

Employee
{{ formatCurrency(r('monthlyContribution', {}).employee) }}
{{ r('employeeRate') }}%
Employer
{{ formatCurrency(r('monthlyContribution', {}).employer) }}
{{ r('employerRate') }}%
Total Monthly
{{ formatCurrency(r('monthlyContribution', {}).total) }}
{{ r('totalRate') }}%
Annual Total
{{ formatCurrency(r('annualTotal', {}).total) }}
OW + AW
OW capped at S${{ formatNum(r('owCeiling')) }}/month (your OW: S${{ formatNum(r('monthlyOW')) }}). Max monthly CPF: S${{ formatNum(r('maxMonthlyCPF')) }} ({{ r('totalRate') }}% x S${{ formatNum(r('owCeiling')) }} ceiling). CPF Annual Limit: S${{ formatNum(r('cpfAnnualLimit')) }}.
Component Employee Employer Total
Monthly on OW (S${{ formatNum(r('cappedOW')) }}) {{ formatCurrency(r('monthlyContribution', {}).employee) }} {{ formatCurrency(r('monthlyContribution', {}).employer) }} {{ formatCurrency(r('monthlyContribution', {}).total) }}
Annual on OW ({{ r('monthsWorked') }} months) {{ formatCurrency(r('annualOWContribution', {}).employee) }} {{ formatCurrency(r('annualOWContribution', {}).employer) }} {{ formatCurrency(r('annualOWContribution', {}).total) }}
Annual on AW (S${{ formatNum(r('cappedAW')) }}) {{ formatCurrency(r('awContribution', {}).employee) }} {{ formatCurrency(r('awContribution', {}).employer) }} {{ formatCurrency(r('awContribution', {}).total) }}
Total Annual CPF {{ formatCurrency(r('annualTotal', {}).employee) }} {{ formatCurrency(r('annualTotal', {}).employer) }} {{ formatCurrency(r('annualTotal', {}).total) }}
mdi-chart-pie

Monthly Allocation

Ordinary Account (OA)
{{ formatCurrency(r('monthlyAllocation', {}).oa) }}
{{ r('oaRate') }}% of wages
{{ r('secondAccountName', 'Special Account') }} ({{ r('secondAccountLabel', 'SA') }})
{{ formatCurrency(r('monthlyAllocation', {}).sa) }}
{{ r('saRate') }}% of wages
MediSave Account (MA)
{{ formatCurrency(r('monthlyAllocation', {}).ma) }}
{{ r('maRate') }}% of wages
OA {{ r('oaPct') }}%
{{ r('secondAccountLabel', 'SA') }} {{ r('saPct') }}%
MA {{ r('maPct') }}%
OA {{ r('oaPct') }}% {{ r('secondAccountLabel', 'SA') }} {{ r('saPct') }}% MA {{ r('maPct') }}%
Source OA {{ r('secondAccountLabel', 'SA') }} MA Total
Monthly on OW {{ formatCurrency(r('monthlyAllocation', {}).oa) }} {{ formatCurrency(r('monthlyAllocation', {}).sa) }} {{ formatCurrency(r('monthlyAllocation', {}).ma) }} {{ formatCurrency(r('monthlyContribution', {}).total) }}
Annual OW ({{ r('monthsWorked') }} mo.) {{ formatCurrency(safe(r('monthlyAllocation', {}).oa) * r('monthsWorked')) }} {{ formatCurrency(safe(r('monthlyAllocation', {}).sa) * r('monthsWorked')) }} {{ formatCurrency(safe(r('monthlyAllocation', {}).ma) * r('monthsWorked')) }} {{ formatCurrency(r('annualOWContribution', {}).total) }}
AW (S${{ formatNum(r('cappedAW')) }}) {{ formatCurrency(r('awAllocation', {}).oa) }} {{ formatCurrency(r('awAllocation', {}).sa) }} {{ formatCurrency(r('awAllocation', {}).ma) }} {{ formatCurrency(r('awContribution', {}).total) }}
Annual Total {{ formatCurrency(r('annualAllocation', {}).oa) }} {{ formatCurrency(r('annualAllocation', {}).sa) }} {{ formatCurrency(r('annualAllocation', {}).ma) }} {{ formatCurrency(r('annualTotal', {}).total) }}
At age 55, your Special Account (SA) is closed and a Retirement Account (RA) is created. Contributions that previously went to SA now go to RA.
mdi-chart-timeline-variant

Additional Wage Ceiling

1
Monthly OW (capped at ceiling)
S${{ formatNum(numVal(monthlyOW)) }} β†’ capped at S${{ formatNum(r('owCeiling')) }} (within ceiling)
2
Total OW subject to CPF for the year
S${{ formatNum(r('cappedOW')) }} x {{ r('monthsWorked') }} months = S${{ formatNum(r('totalOWForYear')) }}
3
Annual salary ceiling
S${{ formatNum(r('annualCeiling', 102000)) }}
4
AW Ceiling = Annual ceiling βˆ’ Total OW
S${{ formatNum(r('annualCeiling', 102000)) }} βˆ’ S${{ formatNum(r('totalOWForYear')) }} = S${{ formatNum(r('awCeiling')) }}
5
Your Additional Wages
S${{ formatNum(numVal(annualAW)) }} β†’ capped at S${{ formatNum(r('awCeiling')) }} (within ceiling)
6
CPF on Additional Wages
Employee S${{ formatNum(r('awContribution', {}).employee) }} + Employer S${{ formatNum(r('awContribution', {}).employer) }} = S${{ formatNum(r('awContribution', {}).total) }}
Total OW/yr
{{ formatCurrency(r('totalOWForYear')) }}
AW Ceiling
{{ formatCurrency(r('awCeiling')) }}
AW Subject to CPF
{{ formatCurrency(r('cappedAW')) }}
CPF on AW
{{ formatCurrency(r('awContribution', {}).total) }}
mdi-table

{{ selectedYear }} CPF Rates (SC / 3rd-year+ SPR)

Age Group Employee Employer Total
Age Group OA SA/RA MA Total
This calculator provides estimates for Singapore Citizens and 3rd-year-onwards SPRs.
1st and 2nd-year SPRs have different graduated rates.
For official rates, visit CPF Board β€” Employer Obligations.
OW ceiling {{ selectedYear }}: S${{ formatNum(r('owCeiling', 8000)) }}/month Β· Annual ceiling: S$102,000
Our Mission

Digital Advisory Solutions

DigitalNext, the company behind CompareIP, specializes in developing digital solutions and providing advisory that empower consumers. We believe in the importance of accessible information for building strong relationships between consumers and service providers. CompareIP, a free tool, is a testament to our commitment to this principle. As we are a digital solution provider, CompareIP will not be successful without crowdsourced efforts and feedback from the consumers. Your feedback and support will help us improve and ensure that CompareIP remains:

01
Free for Everyone
02
Updated with the Latest Information
03
Simple to Navigate and Use
04
Consumer-Focused