How to calculate income tax in Indonesia (2026): PPh 21 explained

Indonesia taxes residents on salary with progressive PPh 21 rates from 5% to 35%, after a non-taxable allowance (PTKP) of Rp54,000,000 for a single person, a 5% job expense deduction and your BPJS contributions. A single employee (TK/0) on Rp120,000,000 a year pays about Rp3,277,200 in PPh 21 and Rp4,800,000 in BPJS, and keeps about Rp111,922,800. A non-resident pays a flat 20% PPh 26 on gross pay instead.

What the law says

The calculator models the 2026 rules for an employee on a full-year salary, and works out the annual figure. A person is generally treated as an Indonesian tax resident if they are in Indonesia for more than 183 days in any 12-month period, or intend to live there; citizens and long-term expats working full time usually are. Residents pay PPh 21 (Article 21 income tax) on a progressive scale. Non-residents are taxed under a different rule, PPh 26, described below.

PPh 21 tax rates for residents

PPh 21 is charged on taxable income (PKP) after the non-taxable allowance and deductions. Each band is taxed at its own rate, and PKP is rounded down to the nearest Rp1,000.

Taxable income (PKP)Rate
Rp0 to Rp60,000,0005%
Rp60,000,001 to Rp250,000,00015%
Rp250,000,001 to Rp500,000,00025%
Rp500,000,001 to Rp5,000,000,00030%
Over Rp5,000,000,00035%

PTKP: the non-taxable allowance and its status codes

PTKP (penghasilan tidak kena pajak) depends on your family status on the tax form. The code has two parts: TK (tidak kawin, not married) or K (kawin, married), then the number of dependants, up to three. The calculator uses Rp54,000,000 for yourself, plus Rp4,500,000 if married, plus Rp4,500,000 for each dependant.

Status codePTKP a year
TK/0 (single, no dependants)Rp54,000,000
TK/1Rp58,500,000
K/0 (married, no dependants)Rp58,500,000
K/1Rp63,000,000
K/2Rp67,500,000
K/3Rp72,000,000

Job expense deduction and employer premiums

Employees get a job expense deduction (biaya jabatan) of 5% of gross income, capped at Rp6,000,000 a year. Your own BPJS old-age (JHT) and pension (JP) contributions are also deducted from the tax base.

One rule surprises newcomers: the premiums your employer pays for work accident (JKK), death (JKM) and BPJS Kesehatan health cover are counted as extra income for tax. They are not paid to you, but they raise your taxable income. The calculator adds them for the tax calculation and shows them as an information line.

BPJS social security contributions

The calculator deducts three employee contributions: 2% of salary for old-age savings (JHT), 1% for the pension programme (JP) on wages up to a cap that rises on 1 March, and 1% for BPJS Kesehatan health insurance on wages up to Rp12,000,000 a month. The employer pays its own larger share on top, which does not reduce your pay.

Whether a particular foreign employee must join each programme depends on their status and contract. The calculator applies BPJS to residents by default and lets you turn it off for non-residents.

How tax is withheld during the year (TER)

Your employer withholds PPh 21 each month. Under the rules in force from 2024 (PP 58/2023 and PMK 168/2023), January to November use a flat monthly rate from an official table (TER, tarif efektif rata-rata) applied to your gross monthly pay. In December the employer works out your tax for the whole year with the progressive rates above and withholds the difference. The calculator shows that full-year result.

Sources

Worked examples

Rules for 2026. Every amount below is worked out by the calculator's own engine, the same one the tool runs.

How to calculate PPh 21 for a single employee (TK/0) earning Rp120 million a year

This is a resident employee with no spouse or dependants, so status TK/0, on Rp120,000,000 a year. Your employer's premiums of Rp5,448,000 are added for tax, giving Rp125,448,000. The job expense deduction takes Rp6,000,000, your JHT and JP contributions take Rp3,600,000, and the PTKP takes Rp54,000,000. Taxable income is Rp61,848,000: the first Rp60,000,000 at 5% (Rp3,000,000) and the remaining Rp1,848,000 at 15% (Rp277,200). PPh 21 is Rp3,277,200. With BPJS of Rp4,800,000, you keep about Rp111,922,800, or 93.3% of gross.

  1. Gross paya year, before taxRp120,000,000
  2. BPJS old-age savings (JHT, 2%)contribution, taken from pay−Rp2,400,000
  3. BPJS pension (JP, 1%, cap rises 1 Mar)contribution, taken from pay−Rp1,200,000
  4. BPJS Kesehatan (1%, wage cap 12M)contribution, taken from pay−Rp1,200,000
  5. Employer premiums counted as income (JKK, JKM, BPJS Kesehatan)for informationRp5,448,000
  6. Job expense deduction (5%, max 6M)lowers the taxable incomeRp6,000,000
  7. Non-taxable allowance (PTKP TK/0)lowers the taxable incomeRp54,000,000
  8. PPh 21 income taxtax, taken from pay−Rp3,277,200
  9. Take-home pay93.3% of gross, Rp9,326,900 a monthRp111,922,800

Because PKP lands only just above the 5% band, most of the salary is taxed lightly. A raise is taxed at 15% from here.

Open this example in the calculator → The next 1% of pay loses 19.2% to tax and contributions.

Take-home pay in Indonesia for a married employee with two children (K/2) on Rp180 million

A married employee with two dependent children has status K/2, so the PTKP is Rp67,500,000. On Rp180,000,000 a year, employer premiums add Rp6,732,000 to the tax base. After the Rp6,000,000 job expense deduction, JHT and JP of Rp4,919,578 and the PTKP, taxable income is Rp108,312,000. PPh 21 is Rp10,246,800. BPJS contributions total Rp6,359,578 because the pension and health contributions hit their wage caps. You keep about Rp163,393,622, or 90.8% of gross.

  1. Gross paya year, before taxRp180,000,000
  2. BPJS old-age savings (JHT, 2%)contribution, taken from pay−Rp3,600,000
  3. BPJS pension (JP, 1%, cap rises 1 Mar)contribution, taken from pay−Rp1,319,578
  4. BPJS Kesehatan (1%, wage cap 12M)contribution, taken from pay−Rp1,440,000
  5. Employer premiums counted as income (JKK, JKM, BPJS Kesehatan)for informationRp6,732,000
  6. Job expense deduction (5%, max 6M)lowers the taxable incomeRp6,000,000
  7. Non-taxable allowance (PTKP K/2)lowers the taxable incomeRp67,500,000
  8. PPh 21 income taxtax, taken from pay−Rp10,246,800
  9. Take-home pay90.8% of gross, Rp13,616,135 a monthRp163,393,622

Family status counts as it stands on the tax form, so check that your employer has your spouse and children recorded correctly. If your spouse also works, see the Pisah vs Gabung calculator for how married couples' PPh 21 changes when filing jointly or separately.

Open this example in the calculator → The next 1% of pay loses 16.8% to tax and contributions.

How much tax does a non-resident pay in Indonesia on Rp600 million? (PPh 26)

This is a foreign worker who is not an Indonesian tax resident, for example someone present for 183 days or fewer in a 12-month period. Salary of Rp600,000,000 is taxed by PPh 26 at a flat 20% of gross, a final tax of Rp120,000,000. There is no PTKP, no job expense deduction and no progressive band. The calculator also includes BPJS contributions of Rp14,759,578 by default, so you keep about Rp465,240,422, or 77.5% of gross.

  1. Gross paya year, before taxRp600,000,000
  2. BPJS old-age savings (JHT, 2%)contribution, taken from pay−Rp12,000,000
  3. BPJS pension (JP, 1%, cap rises 1 Mar)contribution, taken from pay−Rp1,319,578
  4. BPJS Kesehatan (1%, wage cap 12M)contribution, taken from pay−Rp1,440,000
  5. PPh 26, 20% of gross, finaltax, taken from pay−Rp120,000,000
  6. Take-home pay77.5% of gross, Rp38,770,035 a monthRp465,240,422

A tax treaty between Indonesia and your home country may reduce or remove this tax on short assignments. The calculator does not model treaty relief, so confirm it with the tax authority or your employer.

Open this example in the calculator → The next 1% of pay loses 22.0% to tax and contributions.

How to pay less tax, legally

These are mainstream, legal ways to manage PPh 21. Which ones apply depends on your status and income.

Keep your PTKP status correct

Suits: anyone who marries or has a child during the year. A higher PTKP lowers taxable income, and each dependant adds Rp4,500,000 up to three. Tell your employer so the status on your tax records is right.

Caveat: only real dependants count, and the code is the one in force at the start of the tax year, so a change may only apply from the next one.

Pay zakat through an official body

Suits: Muslim employees who already give zakat on income. Zakat paid to an official body (BAZNAS or an authorised amil zakat institution) is deductible from taxable income, so it reduces PPh 21 as well as being an act of giving.

Caveat: keep the receipt the body issues, and give only through bodies the government recognises. The calculator does not model it.

Pension contributions to a DPLK

Suits: employees who want retirement savings beyond JHT and JP. Contributions to an approved pension fund such as a DPLK (dana pensiun lembaga keuangan) can be deducted within a limit set by the tax rules.

Caveat: check the current limit with DJP or the fund. Pension money is meant to be kept until retirement age, and payouts have their own tax treatment.

Expats: check your residency status and treaty

Suits: foreign workers on short or part-year assignments. Residency depends on your days in Indonesia and your intentions, and it decides between progressive PPh 21 and flat 20% PPh 26. A certificate of domicile from your home tax authority can support treaty relief.

Caveat: do not plan your days only to change the tax. Residency is judged on facts, and the rules can be applied differently to your case.

What the calculator does not model

  • Employment income only. It models one salary for a full year, with no other income, a part year, or several employers.
  • No bonuses, THR or allowances. Religious holiday pay (THR), bonuses and tax-free benefits are not modelled separately, and they change monthly withholding.
  • Annual figure, not each payslip. The result is the full-year tax. Monthly TER withholding from January to November can differ from it.
  • Status chosen by you. You pick resident or non-resident, and the dependants. The calculator does not test the 183-day rule.
  • No tax treaties. Treaty relief for non-residents, and foreign tax credits, are not included.
  • Employer BPJS shown only where it affects tax. The employer premiums counted as income are used in the calculation, but other employer costs are not listed.

General information, not tax advice. The figures follow the rules as published for the year shown. Check the ones that matter to you with the tax authority or an adviser before you sign a contract.

Frequently asked questions

How much tax do I pay on Rp120 million a year in Indonesia?

A single resident (TK/0) pays about Rp3,277,200 in PPh 21 and Rp4,800,000 in BPJS, and keeps about Rp111,922,800. Try your own salary and status in the Global Income Tax Calculator.

Why is my PPh 21 so much higher in December?

From January to November, your employer withholds tax by applying a monthly rate from the official TER table (PP 58/2023, PMK 168/2023) to your gross pay. Those rates are simple averages. In December the employer recalculates your tax for the whole year with the progressive rates (5% to 35%), subtracts everything withheld from January to November, and withholds the rest. If the averages were too low for your income, the December deduction is larger. If you leave during the year, the same full-year true-up happens in your last month.

The calculator shows the full-year figure, so a monthly payslip can differ from it. The yearly total should match.

What are the annual SPT and the 1721-A1 form?

The SPT Tahunan is your annual individual tax return, which you file with the tax office after the year ends (the deadline for individuals is 31 March). Your employer gives you a 1721-A1 withholding slip, which records your income, deductions, PTKP and the PPh 21 already withheld. You use it to fill in the SPT. If the tax withheld is higher than what you owe, you can ask for a refund, and if it is lower, you pay the difference.

What do TK/0, K/1 and K/2 mean?

They are PTKP status codes. TK means single (tidak kawin) and K means married (kawin). The number is your dependants, from 0 to 3. TK/0 has a PTKP of Rp54,000,000, and each marriage or dependant adds Rp4,500,000, so K/2 is Rp67,500,000. A higher code lowers your taxable income.

Why does my employer's BPJS premium count as my income?

For tax purposes, the premiums your employer pays for work accident, death and BPJS Kesehatan health cover are treated as extra income to you. They raise the base on which PPh 21 is worked out, even though you never receive the cash. The calculator adds them to the tax base and lists them as an information line (Rp5,448,000 on Rp120,000,000 of salary).

Do foreigners pay PPh 21 or PPh 26?

It depends on tax residency. A foreign employee who is resident (generally more than 183 days in a 12-month period, or living in Indonesia) pays PPh 21 like an Indonesian. A non-resident pays a final 20% PPh 26 on gross pay. On Rp600,000,000 that is Rp120,000,000. Treaty relief may apply and is not modelled.

How is PPh 21 worked out for a married couple?

It depends on how you file and whether your income is combined or separate. The Pisah vs Gabung calculator compares married couples' PPh 21 when filing jointly or separately.

What will my salary buy in Indonesia?

Take-home pay is only half of the answer. The Cost of Living Comparator shows what a salary buys in another city.

Income tax in other countries

Ready to work out your own?

Open the calculator Then see how far it goes in the Cost of Living Comparator