Put pension tax rates on your own site
One script tag. All 50 states, or a single one. No API key, no sign-up, no request to us at page load — the data is baked into the script, so the widget cannot slow your page down or break when we are down.
Full table
<script src="https://www.retirement-tax.com/js/embed.js" async></script>
One state
Writing about a single state? Pass its slug — the same slug used in our page URLs.
<script src="https://www.retirement-tax.com/js/embed.js"
data-state="california" async></script>
Live preview · data-state="california"
Licence: CC BY 4.0. Free for any use, including commercial. The attribution line at the bottom of the widget is the condition — leave it in place. Prefer to build your own display? Take the raw
JSON or CSV instead.
What it does and does not do
- No network calls. Rates are compiled into the script at build time. Your readers are not tracked by us, and there is no third-party request for a privacy policy to disclose.
- No CSS bleed. Everything is inline-styled inside one container; it inherits nothing and overrides nothing on your page.
- Rates are effective rates on pension income at a realistic retirement income level, not top marginal rates. The widget says so, and the difference matters — see the dataset page.
- Updates when we rebuild. Cache the script if you prefer a frozen copy; otherwise you get corrections automatically.
- It is a table, not a calculator. For a per-person figure, link readers to their own state comparison.
Writing about teacher retirement?
The things journalists and bloggers ask us for most, already prepared: state rankings (including the 14 states where teachers get no Social Security), the full dataset in JSON and CSV, and the methodology behind every figure. Corrections with a primary source are applied quickly — tell us.