estimatetax
2026 · Free · No registration

Embed our calculators on your site

One line of code, no account, no volume limit. The widget is served from our domain, so a rate change reaches your visitors without you doing anything.

Copy this
<iframe src="https://estimatetax.net/embed/income-tax/" width="100%" height="640" style="border:0;max-width:100%" loading="lazy" title="Income tax calculator — estimatetax.net"></iframe>
Live preview — this is the same widget you are copying

Why an iframe rather than a copied table

The widget is served from our domain, so the tax data inside it is whatever we currently publish. A state that changes its rate in May with retroactive effect to 1 January reaches your visitors the day we update it, without you touching anything.

A copied rate table does the opposite. It is correct on the day you paste it and silently wrong afterwards, which for tax figures is the worst available failure mode — nothing on the page signals that it has been overtaken.

What is inside: federal brackets and FICA, income tax for all 51 state jurisdictions, and the local income tax layer for 3,672 jurisdictions across 7 states. Each figure carries the document it came from and the date it was checked.

And if the widget ever stops resolving, it fails visibly rather than showing a stale number. For tax data that is the correct behaviour.

What we ask in return

One thing: the visible attribution link inside the widget stays visible. Not hidden behind an overlay, not made non-functional, not removed. That link is the entire price.

Beyond that there is no registration, no key, no volume limit and no restriction on commercial use. Put it on a blog, an employer's benefits page, a payroll product's help centre, a real estate site — all fine.

What is not fine is presenting the output as your own work or as the output of a tax authority, or modifying the figures before displaying them inside our frame. Both misattribute the numbers.

The full terms are on the terms page and are short. If what you need is calculation inside your own interface rather than our widget inside yours, the API is documented and the business page is the route for anything beyond its open limits.

Technical notes

Responsive. The widget adapts to the width you give it. Setting width to 100% and letting your own container control the size generally works better than a fixed pixel width.

Height. The generator suggests a height per calculator. The widget does not resize its parent frame, so if your layout is tight, give it a little more room rather than less — a clipped calculator is worse than a slightly tall one.

Loading. The snippet includes `loading="lazy"`, so a widget below the fold does not cost your visitors anything until they scroll to it.

Theme. The widget follows its own light and dark palette. It does not inherit your site's CSS, which is deliberate — it means it cannot be broken by a stylesheet change on your side.

No tracking of your visitors. The widget sets no cookies of its own and the calculation runs in the visitor's browser. Nothing about who visited your page reaches us in a form that identifies them.

Where people put it

Employer benefits and HR pages, where a take-home calculator answers the question new joiners actually ask about an offer and the internal team would otherwise answer by hand.

Payroll and accounting product help centres, as a self-service answer to "why is my paycheck this amount" that does not require a support ticket.

Real estate and relocation content, paired with the county property tax pages, because the two taxes together are what decides whether a move works.

Personal finance writing, where a live calculator does the work that a static example table does badly — a reader can put their own salary in rather than mentally interpolating from yours.

Union, advocacy and advice sites, where the state and local layer matters most and is exactly what generic national calculators leave out.

What embedding actually costs your page

The iframe loads lazily, so a widget below the fold costs your visitors nothing until they scroll to it. Above the fold it is a normal document load from our domain.

It does not touch your CSS or your JavaScript. There is no script tag, no global variable, and nothing that can conflict with a framework you are using — an iframe is the boring choice precisely because it cannot break anything outside itself.

It sets no cookies of its own and the calculation runs in the visitor's browser, so it does not add a consent obligation to your page for the calculation itself.

What it does cost is a request to a third-party domain, which some strict content security policies will need to allow. If yours does, the frame source is our domain and the widget serves nothing else.

And if we ever go away, the frame fails visibly rather than rendering a stale figure. For tax data that is the correct failure mode, and it is the one thing a copied table cannot offer.

When the widget is the wrong choice

If you want the figures inside your own interface rather than ours, use the API. It returns the same numbers as JSON with their sources, it is open with a rate limit, and it leaves the presentation entirely to you.

If you need the calculator to match your product's design, the widget will not do it — it deliberately does not inherit your styling. That is what the white-label route on the business page is for.

If you need a calculation we do not model — an industry-specific rule, a jurisdiction not yet loaded — neither the widget nor the open API will help, and the business page is where to describe it.

And if all you want is to link to a calculator, linking is fine and needs no permission. A link to the relevant state or city page is often more useful to a reader than an embedded general calculator, because it arrives with their jurisdiction already applied.

Getting the embed right first time

Give it more height than you think. The generator suggests a height per calculator and the widget does not resize its parent frame. A clipped calculator is much worse than a slightly tall one, and the difference is invisible until someone with a narrower screen finds it.

Let your container control the width. Setting the frame to 100% and constraining it with your own layout adapts better across breakpoints than a fixed pixel width that was chosen on a desktop.

Test it on a phone. Most of the traffic to a tax calculator is mobile, and a widget that works on a wide screen and clips on a narrow one is the commonest mistake we see in embeds.

Keep the attribution visible. Not because we will chase you, but because it is what the widget is offered for — and an overlay covering it is usually an accident of stacking context rather than a decision.

Do not put it behind a consent wall you do not need. The calculation runs in the visitor's browser and the widget sets no cookies of its own, so gating it adds friction without adding compliance.

Where to go next

Questions

Is it really free?
Yes. No registration, no key, no volume limit, and commercial use is fine. The only condition is that the visible attribution link inside the widget stays visible.
Will the figures stay current?
Yes — that is the main reason to embed rather than copy. The widget is served from our domain, so an update to a state rate reaches your visitors the day we make it.
Can I change the styling?
Not directly; the widget does not inherit your CSS. That is deliberate, because it means a stylesheet change on your side cannot break it. You control the width and height of the frame.
Does it track my visitors?
It sets no cookies of its own and the calculation runs in the visitor's browser. Nothing identifying reaches us.
Can I use it on a commercial site?
Yes, with no additional permission and no fee. If you need calculation inside your own interface instead of our widget inside yours, the API is documented and open within a rate limit.
What if I need a calculator that is not listed?
Get in touch through the contact page. Several of the specialist calculators on the site are not yet embeddable, and which ones get added next is driven by what people ask for.