11 we compute. 31 we refuse to.
A jurisdiction is on the first list because a generated reconciliation passes, not because somebody added it. It is on the second because the published data does not say enough to compute it, and the size of the miss is recorded against each one.
Every figure below is measured against the average rates the OECD publishes for a single person at 67%, 100% and 167% of the average wage. A reading has to land inside 0.5 of a percentage point at all three, not on average across them, because an average hides the income where the reading actually disagrees.
By what is taken
Chile missed by 0.75pp and still has no page
The tolerance is 0.5 of a percentage point and it is not negotiable at the margin. Chile came within 0.75pp of it and is refused, because a threshold that bends for a near miss is not a threshold. At the other end, the worst measured reading misses by 16.19pp, which on a salary at the average wage is the difference between a useful answer and a confident wrong one.
5 of the refusals carry no measurement at all, and they are not the same case as each other. In 2 the published series contradicts itself, a rate stepping down as income rises, and that error is upstream.
27 of the refused jurisdictions have a reference page anyway. It carries no figure of ours: the statutory schedule as published, the OECD’s own outcome, and a plain statement that we do not compute it.
What could not be resolved
Each of these was measured the same way: no reading of the published schedule reproduces the OECD’s own average rates for a single person at 67, 100 and 167% of the average wage, within 0.5 of a percentage point at all three. The row states the closest reading that was tried and how far it missed.
Switzerland, Germany, France and United Kingdom appear on both lists. They are refused an OECD-sourced calculator and have one anyway, ingested from their own national authority, where the OECD is the cross-check rather than the source. The refusal stays recorded rather than being deleted, because the reason it was refused has not stopped being true.
What each page holds
One paragraph per computed jurisdiction, each stating what is modelled, what is not, and how far the reading is from the rates the OECD publishes. None of it is written by hand.
Employee social security is not modelled, so the figure is income tax only and net pay is lower than it shows. On the average wage of A$108,674 the income tax rate is 23.52% and A$83,110 is left before contributions. Reproduces the OECD's published rates exactly at all three incomes.
OECD compiled · 2025 to 2026 tax year, beginning 1 July 2025
Income tax and employee social security are both modelled, so the headline figure is take-home pay. On the average wage of CHF 100,715 the combined effective rate is 18.1% and CHF 82,535 is kept. Reconciles with the OECD's published rates to within 0.0006pp at the worst of three incomes.
OECD compiled · 2025 calendar year
Colombia
Employee social security is not modelled, so the figure is income tax only and net pay is lower than it shows. On the average wage of COP 31,542,293 the income tax rate is 0.00% and COP 31,542,293 is left before contributions. Reproduces the OECD's published rates exactly at all three incomes.
OECD compiled · 2025 calendar year
Employee social security is not modelled, so the figure is income tax only and net pay is lower than it shows. On the average wage of CRC 10,340,494 the income tax rate is 0.00% and CRC 10,340,494 is left before contributions. Reconciles with the OECD's published rates to within 0.3334pp at the worst of three incomes.
OECD compiled · 2025 calendar year
Czechia
Income tax and employee social security are both modelled, so the headline figure is take-home pay. On the average wage of CZK 584,744 the combined effective rate is 21.3% and CZK 460,042 is kept. Reproduces the OECD's published rates exactly at all three incomes.
OECD compiled · 2025 calendar year
Germany
Income tax and employee social security are both modelled, so the headline figure is take-home pay. On the average wage of €66,700 the combined effective rate is 38.7% and €40,912 is kept. Reconciles with the OECD's published rates to within 0.015pp at the worst of three incomes.
Bundesamt für Justiz, Deutsche Rentenversicherung Bund, cross-checked against the OECD · 2026 calendar year
France
Income tax and employee social security are both modelled, so the headline figure is take-home pay. On the average wage of €45,964 the combined effective rate is 28.0% and €33,104 is kept. Reconciles with the OECD's published rates to within 0.0004pp at the worst of three incomes.
OECD compiled · 2025 calendar year
Employee social security is not modelled, so the figure is income tax only and net pay is lower than it shows. On the average wage of £55,983 the income tax rate is 17.55% and £46,158 is left before contributions. Reproduces the OECD's published rates exactly at all three incomes.
HM Revenue and Customs, cross-checked against the OECD · 2026 to 2027 tax year, beginning 6 April 2026
Hungary
Income tax and employee social security are both modelled, so the headline figure is take-home pay. On the average wage of HUF 8,455,487 the combined effective rate is 33.5% and HUF 5,622,899 is kept. Reproduces the OECD's published rates exactly at all three incomes.
OECD compiled · 2025 calendar year
Israel
Income tax and employee social security are both modelled, so the headline figure is take-home pay. On the average wage of ₪209,735 the combined effective rate is 21.4% and ₪164,783 is kept. Reproduces the OECD's published rates exactly at all three incomes.
OECD compiled · 2025 calendar year
Latvia
Income tax and employee social security are both modelled, so the headline figure is take-home pay. On the average wage of €21,321 the combined effective rate is 26.0% and €15,777 is kept. Reproduces the OECD's published rates exactly at all three incomes.
OECD compiled · 2025 calendar year
How one gets added
Six steps, and a figure has to survive all of them. Each one names what stops it, because a process described only by what it does is a process nobody can hold you to.
Fetch and store raw
The schedule is fetched from a published source and stored exactly as it arrived, before anything reads it. The raw copy is what a disagreement is later settled against, so it is never overwritten by a cleaner version of itself.
Stops here if the source is unreachable, or its shape changed since the last fetch.
Parse into rules
The document becomes rules, each carrying a quote, the section it came from, the date it was read and a hash of the text. Anything whose shape is not understood is refused rather than read as best it can be.
Stops here if a ladder has the wrong number of thresholds, levels are not contiguous, or a rate steps down as income rises.
Build every reading
Where the feed does not state what a piece means, every reading the data allows is built and computed: surtax on tax, on taxable income or on gross; credit against tax or against income; contributions inside or outside the base.
Stops here if no reading exists that the data permits.
Reconcile against the OECD
Each reading is measured against the average rates the OECD publishes for a single person at 67%, 100% and 167% of the average wage. Only a reading that lands inside the tolerance at all three is kept.
Stops here if the closest reading misses at any of the three incomes.
Check the arithmetic and the words
Golden tests run our arithmetic against worked examples the authority published itself, every rule is compared against a separately published compilation of the same law, and a content check confirms the words a page renders match the figures computed for it.
Stops here if a worked example disagrees, a compilation disagrees, or a page states a figure it did not compute.
Expire it on a clock
Every rule carries a maximum age, and a page built on a figure past its date is not published at all rather than published with a stale number behind a fresh-looking badge.
Stops here if any rule a published page depends on is past its maximum age.
Looking for a specific salary?
272 UK salaries are computed band by band on their own pages, each one showing the income tax, the National Insurance and the marginal rate at that exact figure rather than at a rounded neighbour.
The reconciliation runs against OECD.CTP.TPS,DSD_TAX_WAGES@DF_TW_COMP for 2025, single person with no children, at three points in the wage distribution. Every rule behind it is listed with its clause and the sentence it was read from.
Ruleset sha256:fe993d9d072cbcac
Questions this page gets asked
How many jurisdictions can this site actually compute?
11: Australia, Switzerland, Colombia, Costa Rica, Czechia, Germany, France, United Kingdom, Hungary, Israel and Latvia. Each one reproduces the average tax rates the OECD publishes for a single person at three different incomes to within 0.5 of a percentage point, and 7 of them reproduce those rates exactly. A jurisdiction that misses by more is not listed as computed and gets no calculator, however close it came.
Why is a country I expected missing?
Because publishing it would mean guessing at something the published data does not state. 31 jurisdictions currently fail the reconciliation. 26 of them have a measured miss recorded against them, from 0.75pp at the nearest to 16.19pp at the worst: a surtax whose exemption threshold is not published, contributions that reduce the tax base in a way one scalar cannot express, or a sub-central tax that needs more than a representative rate. The other 5 cannot be measured at all, because the published series contradicts itself. The gap is named rather than filled, and the number beside it is what filling it would have cost.
Which of these include social security, and which are income tax only?
Switzerland, Czechia, Germany, France, Hungary, Israel and Latvia include employee social security and are therefore take-home figures. Australia, Colombia, Costa Rica and United Kingdom model income tax only, so the figure shown is higher than actual net pay. That is stated on the page itself rather than footnoted, because a label on a number is the claim and a disclaimer underneath does not repair it.
Can I compare two of these directly?
At the same position in each country's own wage distribution, yes: every jurisdiction page carries that comparison and it needs no exchange rate. Converting a salary between currencies and comparing the result compares exchange rates as much as tax systems, and the answer moves with the rate. Where a converted figure appears anywhere on this site, the European Central Bank reference rate and the day it was published are shown with it. Comparing one of the 4 income-tax-only jurisdictions against one of the 7 that model contributions compares two different questions, and the rows say which is which.
How current are these rates?
Every rule carries the date it was read and a maximum age, and a page whose figures are past that age is not published. Statutory schedules are given 400 days, exchange rates 30. A stale rate cannot sit quietly behind a green badge, which is the failure that makes most tax calculators unreliable in their second year rather than their first. Every reading is dated on the rate changelog.
What does every one of these pages assume about me?
A single person, employment income, no dependants, no other income, and no reliefs beyond those listed on the page. Employer contributions are excluded throughout because they never appear in your gross pay. Those assumptions are identical across jurisdictions, which is what makes the figures comparable with each other in a way that numbers gathered from several national calculators are not, and it is also why none of them is your answer, only a well-sourced starting point for it.
Has a jurisdiction ever been removed?
Yes. A page exists only while its reconciliation passes, so a jurisdiction that stops reproducing the published rates loses its calculator on the next publish rather than on the next review. That has already happened, and the misses are recorded above rather than quietly dropped. 4 jurisdictions went the other way and now compute from a national authority instead. A list that only grows is a list nobody is checking.