Thai income tax is not one rate on everything you earn. It is a stack of steps applied to what is left after expenses and allowances — and most people pay a far lower effective rate than the bracket they think they are in. Learn the mechanics first, then run your own numbers.
Before any calculator is useful, three ideas have to click into place — because almost every panic about "moving into a higher tax bracket" comes from misunderstanding one of them.
Thailand taxes income in slices. The first ฿150,000 of net income is taxed at nothing at all, the next ฿150,000 at 5%, and so on up to 35%. Crossing into a higher bracket never re-taxes the money below it — only the portion sitting inside that step pays the higher rate. This is why your effective rate, the number that actually leaves your bank account, is always lower than the bracket you have reached.
Anyone physically present in Thailand for 180 days or more within a single calendar year is a Thai tax resident, regardless of nationality or visa type. Residents are taxable on Thai-sourced income and on foreign income they bring into the country. Stay under 180 days and only Thai-sourced income is in scope. The count resets every 1 January, and the days do not need to be consecutive.
The tax your employer withholds each month is an estimate built from a forecast of your annual income. It does not know about the insurance you bought in December, the parents you support, or the bonus that never came. Filing is the moment the estimate is reconciled against reality — which is exactly why people who never file often leave a refund sitting unclaimed at the Revenue Department.
The Revenue Code sorts income into eight categories, and each one carries its own expense-deduction rule. A salaried employee and a freelance architect earning the identical amount will end up with very different taxable income, purely because of which box their money falls into.
| Section | What it covers | Expense deduction |
|---|---|---|
| 40(1) | Salary & wages Employment income, bonuses, allowances, and benefits in kind from an employer. |
50%, max ฿100,000 |
| 40(2) | Hire of work / agency fees Commissions, brokerage, meeting fees, and one-off service payments outside an employment contract. |
50%, max ฿100,000 (shared with 40(1)) |
| 40(3) | Royalties & goodwill Copyright, patents, franchise fees, and annuity-type payments from intellectual property. |
50% for copyright, max ฿100,000 |
| 40(4) | Interest & dividends Bank interest, bond coupons, dividends, and capital gains treated as assessable income. |
No expense deduction |
| 40(5) | Rental income Rent from property, vehicles, and other assets you let out to someone else. |
10–30% flat, or actual cost |
| 40(6) | Liberal professions Law, medicine, engineering, architecture, accountancy, and fine arts practised independently. |
30% flat (60% for medicine), or actual |
| 40(7) | Contract work with materials Turnkey contracting where you supply both the labour and the essential materials. |
60% flat, or actual cost |
| 40(8) | Business, trade & everything else Shops, online selling, agriculture, transport, entertainment, and any income not covered above. |
40–60% flat by activity, or actual |
Where a category allows either a flat percentage or actual documented cost, you may choose whichever is higher — but "actual cost" requires evidence you can produce if audited. Rates for 40(5) through 40(8) vary by the specific activity; the ranges above are the common bands.
The whole system fits on one line: income, minus expenses, minus allowances, equals net income — and only that last number ever meets the tax table. Watch a ฿900,000 salary walk through it.
These rates apply to net taxable income — the figure left after every expense and allowance has already been removed. Drag the slider to watch how one income splits itself across the steps.
| Net income (THB) | Rate | Max tax in this step | Cumulative tax at top of step |
|---|---|---|---|
| 0 – 150,000 | 0% | ฿0 | ฿0 |
| 150,001 – 300,000 | 5% | ฿7,500 | ฿7,500 |
| 300,001 – 500,000 | 10% | ฿20,000 | ฿27,500 |
| 500,001 – 750,000 | 15% | ฿37,500 | ฿65,000 |
| 750,001 – 1,000,000 | 20% | ฿50,000 | ฿115,000 |
| 1,000,001 – 2,000,000 | 25% | ฿250,000 | ฿365,000 |
| 2,000,001 – 5,000,000 | 30% | ฿900,000 | ฿1,265,000 |
| 5,000,001 + | 35% | — | — |
Notice how far apart the two numbers stay. Someone with ฿2,000,000 of net income sits in the 25% bracket but pays an effective rate closer to 18% — because the first ฿150,000 was free, the next slice was 5%, and so on all the way up.
Allowances are subtracted before the tax table ever sees your income, so each one shifts a slice of money out of your top bracket. Tap any row to open it — every panel is live, and shows what happens when you hit the ceiling.
Every individual filer gets ฿60,000 removed from their income before the tax table is applied, with no receipt, no condition and no application required. A married couple filing jointly gets ฿120,000 between them. It is the single most reliable deduction in the entire code, and it is also why anyone whose net income lands under ฿210,000 after the expense deduction typically owes nothing at all.
฿60,000
Before any allowance is even considered, salaried income has 50% of it removed as a standard expense — but that half is hard-capped at ฿100,000. In practice this means the deduction grows with your salary only until you reach ฿200,000 a year, and after that it is frozen forever at ฿100,000. Someone earning ฿2 million gets exactly the same ฿100,000 as someone earning ฿200,000, which is why the effective burden rises faster than people expect once salaries pass that threshold.
50% / ฿100,000
A spouse with no income of their own is worth ฿60,000. Each legitimate child is worth ฿30,000, rising to ฿60,000 for a second or later child born from 2018 onward. Each parent aged 60 or over whom you genuinely support is worth ฿30,000, up to four parents counting your spouse's — but only if that parent's own annual income stays under ฿30,000, and only one child may claim any given parent. This last condition is the one families most often trip over, because siblings frequently claim the same parent without realising it.
฿30,000 – ฿60,000 each
Life insurance premiums on policies of ten years or longer, plus your own health insurance premiums, share a single ฿100,000 ceiling — and within that ceiling the health portion alone cannot exceed ฿25,000. Health insurance premiums paid for your parents sit outside this pot with their own ฿15,000 limit, and unlike the parent allowance, that one does not require the parent to be over 60. Buying ฿180,000 of life cover in December does not produce ฿180,000 of deduction; the extra ฿80,000 simply does nothing for your tax at all.
shared ฿100,000
Provident fund contributions, RMF units, government pension fund savings and pension-type life insurance all pour into one shared bucket capped at ฿500,000 a year. Each has its own inner limit as well — provident fund at 15% of wages, RMF at 30% of assessable income, pension insurance at 15% of income and no more than ฿200,000 — but the combined ceiling is the one that bites. Buying the maximum of each individually is the classic mistake: the total is still cut back to ฿500,000, and the excess is locked up in long-hold products for no tax benefit whatsoever.
combined ฿500,000
Thai ESG units get their own bucket entirely separate from the ฿500,000 retirement ceiling, worth up to 30% of assessable income and capped at ฿300,000. For someone already maxing out their provident fund and RMF, this is effectively the only remaining room to buy more deduction. The trade-off is the holding period and the narrower universe of eligible funds, so the tax saving has to be weighed against the investment being locked and less diversified than a general portfolio.
up to ฿300,000
The 5% deducted from your payslip each month for social security is capped at ฿750, which adds up to ฿9,000 across a full year, and every baht of it is deductible. You paid it without choosing to, so there is nothing to buy and nothing to plan — but it still has to be typed into the return, and the figure appears on the 50 Tavi certificate your employer issues. Contribution rates are occasionally adjusted by ministerial announcement, so confirm the year's actual ceiling rather than assuming ฿9,000 forever.
up to ฿9,000
Only the interest portion of your mortgage payments is deductible, up to ฿100,000 a year, and the loan must be secured against a residence in Thailand. The principal repayment — usually the larger half of each instalment — does nothing for your tax. Your bank issues an annual interest certificate with the exact deductible figure, so there is no need to guess or add up statements. If two people jointly hold one loan, the ฿100,000 is split between them rather than doubled.
up to ฿100,000
General donations to approved charities are deductible at face value, while donations to registered educational institutions, public hospitals and recognised sports bodies count at double the amount you actually gave. Either way the total is capped at 10% of income after all other deductions have been taken — so the cap moves depending on everything else you claimed. Donations to political parties sit in their own small ฿10,000 pot. Keep the official receipt with the recipient's tax ID on it; a bank transfer slip alone is usually not enough.
10% of income · 2× for some
Every year or two the government attaches a shopping-based deduction to the tax code — Easy E-Receipt, domestic travel schemes, and similar campaigns — usually worth up to ฿50,000 and running only for a narrow window of a few weeks. These are the most volatile line in the entire return: the amount, the eligible goods and the dates change with each announcement, and a scheme that existed last year may simply not exist this year. Treat any figure you remember from a previous filing as out of date until you have checked the current announcement.
varies · often ฿50,000
This is the single most misunderstood point in tax planning. A ฿100,000 deduction does not give you ฿100,000 back — it removes ฿100,000 from the income being taxed, so what you actually save is ฿100,000 multiplied by your marginal rate. At the 5% step that is ฿5,000; at the 35% step it is ฿35,000. Spending ฿100,000 on an investment product you did not want, in order to save ฿5,000, is a losing trade. The higher your bracket, the more genuine leverage deductions give you, which is why deduction-driven purchases make sense for high earners and rarely for anyone near the bottom of the table.
deduction × your top rate
Fill in what applies to you and leave the rest blank. Every field accepts the currency you pick below — the tool converts to baht, applies the Thai brackets, and shows the result in both.
Knowing the number is only half of it. The deductible purchase has to happen inside the tax year, and the return has to arrive inside the filing window — miss either one and the saving evaporates.
Thailand uses the calendar year with no exceptions for individuals. Everything you earn and every deductible thing you buy has to fall inside these dates — a fund unit purchased on 2 January belongs to next year’s return, not this one.
The withholding tax certificate lists your gross pay for the year, the tax already withheld, and your social security contributions. Almost every number the return asks for is printed on this one sheet, so nothing else needs to be reconstructed from payslips.
Use ภ.ง.ด.91 if salary is your only income, and ภ.ง.ด.90 if you also have freelance fees, rent, dividends or business income. Filing on paper at a Revenue office closes on 31 March.
Filing online through the Revenue Department’s system normally carries an extension of roughly a week past the paper deadline. The exact date is announced each year, so check it rather than assuming — the extension is a concession, not a right.
People with income under sections 40(5) to 40(8) — rent, professions, contracting, business — file ภ.ง.ด.94 for the first half of the year by the end of September. Anything paid then is credited against the annual return.
Late payment attracts a surcharge accruing monthly on the tax owed, plus a separate fine for filing late at all. Filing late but owing nothing still exposes you to the fine, which is why a nil return is worth submitting even when the calculator says zero.
Ten questions drawn from every section above. Nothing appears until you start.
Brackets, expense deductions, allowance ceilings, residency and filing forms — ten questions to check whether it actually stuck.