โšกToolZip
๋ธ”๋กœ๊ทธ๐Ÿ› ๏ธ ๋„๊ตฌ ์‚ฌ์šฉํ•˜๊ธฐ
โ† Blog
๐Ÿงฎ calcOctober 10, 2026

How Income Tax Works in Korea โ€” Building a Take-Home Pay Calculator

#javascript#webdev#toolzip

How Income Tax Works in Korea โ€” Building a Take-Home Pay Calculator

Most salary calculators in Korea just give you a number. Here's how to build one that shows the full breakdown โ€” and why the math is more complex than it looks.

The Four Social Insurance Deductions

Korean employers deduct four mandatory contributions from gross salary:

InsuranceEmployee Rate (2024)
National Pension4.5%
Health Insurance3.545%
Long-term Care12.95% of health premium
Employment Insurance0.9%
function calculateInsurance(monthlyGross) {
  const pension = monthlyGross * 0.045;
  const health = monthlyGross * 0.03545;
  const ltc = health * 0.1295;
  const employment = monthlyGross * 0.009;

  return { pension, health, ltc, employment };
}

Income Tax โ€” The Simplified Table Method

Korea uses simplified withholding tax tables (๊ฐ„์ด์„ธ์•กํ‘œ) for monthly payroll. The exact amount depends on:

  1. Monthly taxable income (gross minus non-taxable items)
  2. Number of dependents

Rather than implementing the full progressive tax brackets, payroll systems use pre-computed tables. For a calculator, the bracket approach is more transparent:

const TAX_BRACKETS = [
  { limit: 14_000_000,  rate: 0.06, deduction: 0 },
  { limit: 50_000_000,  rate: 0.15, deduction: 1_260_000 },
  { limit: 88_000_000,  rate: 0.24, deduction: 5_760_000 },
  { limit: 150_000_000, rate: 0.35, deduction: 15_440_000 },
  { limit: 300_000_000, rate: 0.38, deduction: 19_940_000 },
  { limit: 500_000_000, rate: 0.40, deduction: 25_940_000 },
  { limit: 1_000_000_000, rate: 0.42, deduction: 35_940_000 },
  { limit: Infinity,    rate: 0.45, deduction: 65_940_000 },
];

function calculateIncomeTax(annualTaxable, dependents) {
  const bracket = TAX_BRACKETS.find(b => annualTaxable <= b.limit);
  const annualTax = annualTaxable * bracket.rate - bracket.deduction;
  const dependentDeduction = 1_500_000 * dependents;
  const finalTax = Math.max(0, annualTax - dependentDeduction);
  return finalTax / 12; // Monthly
}

Local Income Tax

Local income tax (์ง€๋ฐฉ์†Œ๋“์„ธ) is simply 10% of the national income tax:

const localTax = incomeTax * 0.1;

Putting It Together

function calculateTakeHome(annualSalary, dependents = 1) {
  const monthly = annualSalary / 12;
  const insurance = calculateInsurance(monthly);
  const totalInsurance = Object.values(insurance).reduce((a, b) => a + b, 0);

  const annualTaxable = annualSalary - totalInsurance * 12;
  const incomeTax = calculateIncomeTax(annualTaxable, dependents);
  const localTax = incomeTax * 0.1;

  const totalDeductions = totalInsurance + incomeTax + localTax;
  const takeHome = monthly - totalDeductions;

  return { monthly, takeHome, totalDeductions, insurance, incomeTax, localTax };
}

Calculate your take-home pay at toolzip.app/tools/salary-calculator.

๐Ÿ› ๏ธ
Try the tool now
No install ยท Free ยท No server upload
Open tool โ†’
How Income Tax Works in Korea โ€” Building a Take-Home Pay Calculator โ€” ToolZip | ToolZip