Tax Rates is a static rebuild, not a live database. A Python script reads the normalised JSON in data/tax/, computes a handful of summary statistics, and writes HTML, JSON and a sitemap. There are no pip dependencies.
Series and units
- Corporate income tax is the statutory standard central-government rate (OECD Corporate Income Tax Rates database).
- The combined corporate rate adds sub-central company taxes to the central rate (same OECD source).
- VAT/GST is the standard rate as at 1 January of each year (OECD Consumption Tax Trends 2024, Annex Table 2.A.1 and Figure 2.2, CC BY 4.0).
- The top personal income tax rate is the rate for the highest income bracket (OECD Tax Database).
- All four series are percentages. Values are republished unmodified; nothing is interpolated or estimated.
- The corporate series runs from 2000, the personal series from 2000, and the VAT/GST series from 2005. The source publishes no 2006 column for VAT/GST.
- Rankings use the latest year available for that economy. Economies do not all share the same last year, so read the year column.
- Where the OECD does not publish a series for an economy, the country page shows the label, the words Not tracked, and the data note verbatim.
What we do not do
We do not change a published value, fill a gap with an interpolation, or substitute a national source for an OECD value. A missing rate stays missing.
Charts and tables
Charts are annual. The all-countries chart opens with the twelve highest latest rates; the legend and the table let you add or remove economies. Range buttons (10, 20, 30 years, or all history) filter the view only; they do not recompute a value. Country-filtered views chart that country plus a related set.
Reproducibility
A rebuild reads the same source files, so two runs produce the same pages. Hashing of CSS and JavaScript normalises line endings, so asset names do not change between Windows and Linux builds.
Ads
Pages load Google AdSense (publisher id ca-pub-6557770900386479, listed in ads.txt). There are no reserved layout boxes on the page; ads may still appear through the network script.