# Kalkulator gaji bersih 2026 — Indonesia net salary (PPh 21)

Source page: https://valem.run/calculators/indonesia/net-salary

Your take-home pay in Indonesia is your salary minus your own BPJS contributions (health 1% on up to Rp12 million, old-age 2%, pension 1% up to its wage ceiling) and PPh 21, the income tax charged at 5% to 35% on the year’s pay after a 5% occupational cost, your pension contributions and a non-taxable allowance of Rp54 million.

**Tax year:** 2026

## How it is calculated

PPh 21 on a permanent employee is a **yearly** tax. Gross income includes the work-accident (JKK), death (JKM) and BPJS Kesehatan premiums your employer pays for you. From it come the **5% occupational cost** (biaya jabatan, at most Rp6 million a year), your own JHT and JP contributions and **PTKP**: Rp54 million, Rp4.5 million more if married and Rp4.5 million per dependant, at most three. The rest, rounded down to the thousand, is taxed at **5%, 15%, 25%, 30% and 35%** on bands that break at Rp60 million, Rp250 million, Rp500 million and Rp5 billion.

Monthly withholding uses the TER rates of PP 58/2023 and December settles the year (PMK 168/2023), so the year’s total is what this page computes.

On **Rp15 million a month**, single, Rp121,866,000 is taxable and PPh 21 is **Rp12,279,900** for the year; take-home is **Rp13,451,201** a month.

In 2026 employers in footwear, textiles and garments, furniture, leather and tourism pay their staff’s PPh 21 for them when regular pay was at most Rp10 million in January (PMK 105/2025). Zakat through the employer is not modelled. Estimate, not tax advice.

## Worked example

With Gross monthly pay of 15,000,000, this model computes Net / month of 13,451,201 IDR.

## Inputs

| Name | Label | Type |
| --- | --- | --- |
| `grossMonthly` | Gross monthly pay (IDR) | number |
| `annualBonus` | Bonus and THR for the year (IDR) | number |
| `maritalStatus` | Marital status on 1 January | string |
| `dependants` | Dependants you fully support (at most 3 count) | number |
| `bpjsEnrolled` | Enrolled in BPJS Kesehatan and BPJS Ketenagakerjaan | boolean |
| `jkkRisk` | Work-accident (JKK) risk class of your workplace | string |
| `dtpEligible` | 2026 government-borne PPh 21 (PMK 105/2025) | boolean |
| `januaryRegularPay` | Regular pay in January 2026 (IDR), if different | number |

## Sources

- [UU 7/2021 (HPP): Income Tax Law arts. 7, 17](https://jdih.kemenkeu.go.id/dok/uu-7-tahun-2021) (checked 2026-10-31)
- [PMK 168/2023 arts. 9–10: PTKP of married women, biaya jabatan](https://jdih.kemenkeu.go.id/dok/pmk-168-tahun-2023) (checked 2026-10-31)
- [PMK 105/2025: 2026 government-borne PPh 21](https://jdih.kemenkeu.go.id/dok/pmk-105-tahun-2025) (checked 2026-10-31)
- [BPJS Ketenagakerjaan: JHT 2%, JP 1%, JP ceiling](https://www.bpjsketenagakerjaan.go.id/penerima-upah.html) (checked 2026-10-31)
- [PP 44/2015 arts. 16, 18: JKK, JKM](https://www.bpjsketenagakerjaan.go.id/assets/uploads/peraturan/15122015_104557_PP%2044%20Tahun%202015.pdf) (checked 2026-10-31)
- [Perpres 64/2020 arts. 30, 32: BPJS Kesehatan](https://jdih.kemenkeu.go.id/dok/perpres-64-tahun-2020) (checked 2026-10-31)

## What this page claims

The Valem engine reproduces this model's formula through 11 self-test cases. That shows internal consistency, not that the formula matches current law; the cited sources are the evidence for that. Estimate, not tax advice.

## For agents

- Model manifest (formula, constants, test vectors): https://valem.run/calculators/indonesia/net-salary.json
- Compute by URL: https://valem.run/calculators/indonesia/net-salary.json?grossMonthly=15000000
- MCP: https://valem.run/mcp/calculators (call `calculate` with calculator `indonesia/net-salary`)
