Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Calculator for US individual income tax, from 1970-present
497 points by tmm1 on June 29, 2022 | hide | past | favorite | 155 comments
I wanted to share a simple web app I created recently, which lets you estimate income taxes owed in the US: https://taxsim.app

All the calculations occur directly in the browser, and are powered by a Fortran program that has been converted to WASM using emscripten. This calculator was originally developed in the 1970s [1] by the non-profit National Bureau of Economic Research. NBER has been maintaining this F77 codebase for the last 50 years, and uses it primarily for academic research on tax policy. The Fortran source code itself is over 1MB of text, because it codifies both federal and all 50 states' tax laws for each of the last 62 years.

I first learned about NBER TAXSIM [2] a few months ago via an interesting paper they published "Automatic Tax Filing: Simulating a Pre-Populated Form 1040" [3]. The Fortran code itself is not open-source, but is available on request for research purposes. I reached out to NBER and proposed compiling it to WASM, so it could be run directly in a browser. With relatively little effort I was able to create a js/wasm version [4], thanks in huge part to previous open-source work [5].

This WASM build now powers https://taxsim.app, which is my attempt to create an interactive UI to allow for easier exploration of the US tax code. Specific tax scenarios can also be shared easily, by simply copying the browser URL. The code for this webapp is also open-source [6].

This was my first time experimenting with WASM, and I am already a huge fan. Not only was I able to take a 60 year old codebase and get it working on every modern browser and device, this work is also now benefiting the academic community. For example, the js/wasm can be run directly in V8, which means it can also now be run locally within R using libv8 [7]. Previously most researchers were uploading their tax scenarios to NBER's servers via ftp/ssh/http.

[1] https://taxsim.nber.org/feenberg-coutts.pdf

[2] https://taxsim.nber.org/

[3] https://www.nber.org/papers/w30008

[4] https://github.com/tmm1/taxsim.js

[5] https://chrz.de/2020/04/21/fortran-in-the-browser/

[6] https://github.com/tmm1/taxsim.app

[7] https://github.com/shanejorr/usincometaxes/pull/11




Fantastic job making taxsim more accessible! We've built an open-source version of taxsim called OpenFisca US [1] which we expose in our (also open-source) web app, PolicyEngine US [2]. We haven't yet implemented all of taxsim—we only have the most recent couple of years, and not all states—but we have some advantages like implementing means-tested benefits and being able to simulate custom tax and benefit reforms, both on individuals and the population (e.g. the budgetary and poverty impacts).

I'd love to get in touch. Will email you from max@policyengine.org.

[1] https://github.com/policyengine/openfisca-us

[2] https://policyengine.org/us


This looks great. Some quick examples of how to use it in the readme would give users a quick and easy way of exploring what it can do.


Thanks for the suggestion, I added a link to our documentation (https://openfisca.us) to the readme.


Are all the dollar amounts in the simulated tax output at the top of the page inflation adjusted?

For example, I inputted married, with no dependents with $500,000 salary and in 1977, the federal amount was $299,864 and in 2020 was $133,947. I assume these amounts can be compared without further adjusting for inflation?

Tangentially, did federal taxes really come down that much?


In the 1970s there were massive tax deductions that don't exist today, so the actual tax incidence was much lower than what is implied by the marginal tax rates.

There was a major overhaul of the tax code in the 1980s that simultaneously eliminated many of the tax deductions and offset that loss of deductions with lower the marginal tax rates. The change was approximately revenue neutral but made the tax code simpler.


That was a complex situation. At that time the IRS did a lot of investigation and you had to be very rich and clever to really make tax cuts work. My father worked as an airline pilot in the 1970s and paid a 75% rate which made him irrational about taxes. What was most often done was not relying heavily on tax exemptions but rather on compensation packages where employees could have a company car and a company condo and make use of the company country club membership and so on.


What were the biggest deductions that don’t exist today?


So there were a few.

One of the biggest was that there was an investment tax credit of 7% in the 60's and 10% in the 70's, which I believe was uncapped. I think those were also able to be rolled over to cover multiple years. That means that if you invested enough, you could pay essentially no taxes. This was repealed in 1986.

[edit] Another that I should probably mention is the treatment of asset depreciation; in the 1960's and 70's the government was incredibly generous with regards to asset depreciation. For example, they allowed more rapid depreciation so you can have assets fully depreciated while still within their useful life and potentially if you sold those would pay capital gains tax on them, meaning you reaped significant tax savings over the asset's lifetime.


>[edit] Another that I should probably mention is the treatment of asset depreciation; in the 1960's and 70's the government was incredibly generous with regards to asset depreciation.

That is pretty much how it is today as well. 100% bonus depreciation, Sec. 179, and the safe harbor for writing off pretty much any item under $2,500 as an expense, are all in place currently, and the favorable treatment of subsequent gain from sale is still there too.


I think 62-21's creation of broad industry classifications expanded rates of depreciation for a wide variety of assets, though; I'm pretty sure that was re-structured in the 80's, not sure if it was part of the 1986 Tax regulations but likely around that time.


On the individual side, all personal interest (e.g. credit card interest) was deductible and you could claim dependents (and their corresponding deductions) without any evidence (like a child's social security number).


The second one isn't a deduction, it was inadequate fraud and tax evasion detection. It's like saying that the tax rates didn't matter back then because you were a child and therefore paid no tax.


Regardless, in aggregate it means the effective rate was lower.

If the subway costs $1 and 50% of the jump the turn-style 50% of the time the cost to ride the subway in aggregate is $0.75

Sure, if you take some asinine ideological hard line about the goodness or badness of taxation you'll probably get your panties in a knot but if you look at it from the perspective of who's spending money in the economy a little bit of broadly applied fraud and a little bit of tax reduction are the same thing because they shuffle money around in the same manner.


> If the subway costs $1 and 50% of the jump the turn-style 50% of the time the cost to ride the subway in aggregate is $0.75

No, you have jumpers whose aggregate cost is $0.50 and non-jumpers whose aggregate cost is $1.00. The revenues realized are $0.75 a ride, but the costs aren't distributed evenly. If the jumpers were caught, then the cost could decline to $0.75, the nonjumpers would pay less and the jumpers would pay more. That world is better for the half of the population that doesn't jump.


> asinine ideological

Sometimes called “principled”


It may be derived from principal but that does not change the fact that pretty much any take that's out there on either extreme (in this case "taxation is theft" on one side and "taxes are inherently good" on the other) is going to be regarded as asinine by the bulk of the population. Do you disagree?


No. I'm willing to stand that the majority of the population will agree that outright lying about numbers on your tax forms to "lower your bill" is wrong.


The second deduction you mention is just tax fraud. If they didn't have stringent checks that doesn't make it a valid deduction compared to today


People can still claim children without any evidence. I worked with a cook who claimed like 6 or 7 kids. He never filed taxes at the end of the year so he didn’t need a SSN for them.


this is just called tax evasion

back then you could file your taxes with 6 or 7 kids and no one would check

that is not the same as claiming you have 6 or 7 kids that will be filed on your taxes and then just never filing it. Once filed he would need SSN for those kids, or he would owe taxes


Might be missing out on EITC where the federal government would pay him (negative tax rate)


seems like this would render the website pretty useless for anything before that period, right?


It’s not useless, it’s just data which needs context. Like the claim which GP makes that the Reagan tax reform was “revenue neutral” which is dubious at best.


Tax revenues grew monotonically across the tax reforms of the 1980s in smoothly boring fashion with no discontinuities. That is pretty much a textbook definition of "revenue neutral".

Are you arguing that the tax revenue grew too quickly to be defined as "revenue neutral"?

I'm not old enough to have experienced it but the data is really obvious.


Would guess the idea is more about who pays that similar revenue, as since the 80s income inequality has shot upwards.


I mean since we are talking Federal income tax the bottom 50% basically doesn't pay that.


Since the distribution is exponential, removing the top tax bracket and raising the rest a little would be revenue neutral, but exacerbate wealth inequality. Not arguing if thats fair or not, just that you can make policies revenue neutral while still favoring the ultra wealthy.


It would exacerbate income inequality. It would favor higher-wage workers.

Income and income taxes are irrelevant to the wealthy. Changes in wealth inequality are mostly changes in asset prices.


Except the Reagan cuts lowered taxes on the bottom 80%, and the top saw a small increase. See my other post with historical effective tax rates from the CBO.


It's easy enough to look up federal tax revenues during that period and see they were indeed revenue neutral. There's nothing dubious about it - it's trivial to check.


You are talking about revenue neutral at a population level. What matters to individuals is their own revenue. The impact of these changes on individuals varied a great deal. Many middle class lost valuable deductions while wealthy people saw their rate drop dramatically. There is absolutely nothing remotely neutral about any of that. So the only context where neutrality can be asserted is the same one where the statistician drowns in a lake that is an average of less than three feet deep.


>You are talking about revenue neutral at a population level.

Yes, that is the econometric definition of revenue neutral tax changes. Of course most any change in tax structures will affect individuals, but that is nearly irrelevant (unless you never want a change to tax law).

> while wealthy people saw their rate drop dramatically

Have you looked up this claim with actual historical effective tax rate numbers? It's simply not true.

Here's [1] CBO total effective tax rates across many income level, from 1979 to 2005. Look at Table 1, then Total Effective Rate (which is what each group actually paid). Take, for example, Reagan tax cut of 1986, and pick a window around it, saw 1984 to 1987. Top 0.01 effective rate increased from 31.8 to 33.9. Lowest quintile rate decreased from 10.2 to 8.7.

In fact, for the 1986 cut, the lowest 4 quintiles saw a slight tax decrease, the top quintile saw a tax increase.

Next, look through the individual income tax rates - again, the same. After the Reagan tax cut in 1986, the top 0.01% saw an increase in effective rates - higher than any from 1979 (start of the dataset) through 87.

Here too you see the bottom 80% ending up with lower tax rates across the board.

I don't know where you got the idea rates dropped dramatically. It's not in this data.

[1] https://www.cbo.gov/sites/default/files/110th-congress-2007-...


My dad made around a quarter million a year as an airline pilot and was unable to make use of tax deductions to avoid the 75% taxes. When Reagan did his thing my dad's tax rate went down to around 33% or something like that. My dad loved to go around town bragging about his money and his income. When Reagan's tax cut gave him what amounted to roughly doubling his income he made sure everyone within a radius of five miles or so knew about that. His take home pay went from roughly $65k to $165k and he couldn't stop talking about that. And your point is some population level statistics make that into something that doesn't count. Maybe you need to take a walk and talk to some people to get a clearer idea of how people think about all this?


So an anecdote, hearsay at best, of one person is stronger evidence than the entirety of the entire population?

Maybe instead of your claiming "wealthy people saw their rate drop dramatically" you should more accurately claim "I heard one wealthy person claim their rate dropped, but I didn't actually inspect their taxes... The majority didn't see this mythical drop. Most saw the opposite." That is the claim you've provided evidence for.

If your world view is formed from choosing one off examples over well-sourced, broad based evidence, it's not surprising you believe things that are simply untrue.

> Maybe you need to take a walk.....

Maybe you need to learn what terms mean and how evidence works to before making wild claims. Anecdotes are irrelvant compared to population when making population claims for good reason.


The Reagan change probably was revenue neutral, but also changed tax incidence and its distribution across classes a lot.


A quick google shows that yes, there was a 70% marginal tax rate (applying to income over $108,300 - not inflation adjusted - for a single filer) as recently as 1981

https://taxfoundation.org/historical-income-tax-rates-bracke...


But nobody ever paid it as there were millions of loopholes.


You have to be actually wealthy for most "loopholes" come into play. Just like today, non-wealthy high earners take the biggest hit in taxes. And there are way more of those than actually wealthy people. Back then, the hit was even bigger, but the group being hit the hardest was smaller.

Politically, this setup seems to help keep those high-earners voting for lower taxes, which makes sense to them since they're the ones paying the highest overall rate.


Employee benefits like company-provided cars were way more common as it was a more favorable tax situation.


You did have to be wealthy, but $100,000 in 1980 is equivalent to $383,000 today which is pretty wealthy. So it’s basically income above $400,000 today.

And many of the tax “loopholes” involved real estate investment which would be accessible at that income level.


$380k is not wealthy. Most people can live just fine on $380k, don’t get me wrong, but it is basically upper middle class. If $380k/yr is wealthy then what is $20 million/yr?


While technically a better term for assets than income, we'll continue to use "wealthy".

You should realize that multiple things can be wealthy.

$380k is wealthy and $20M is also wealthy. $20M is wealthier than $380k.

Im the US, an income of $380k is the 99th percentile.

In a higher COL state of California, an income of $380k is still in the 99th percentile.

And for the very high COL city of San Francisco, an income of $380k is still just about the 99th percentile

If a person is making $380k, regardless of what they may believe, they are absolutely not middle class in any way shape or form. They are "wealthy".


I think you should not be redefining what words mean to make your argument.

Wealthy means to have wealth. Wealth is the abundance of financial assets. Income can become wealth if saved/invested, but it is not wealth.

There are numerous definitions of middle class, with many being "not upper, not lower". Upper class is defined as those that have the most wealth (explicitly not income) and political power.

$People with 380k of income, but without significant assets are not upper class. They would be considered upper middle class.

https://www.merriam-webster.com/dictionary/wealthy

https://en.wikipedia.org/wiki/Wealth

https://en.wikipedia.org/wiki/Middle_class

https://en.wikipedia.org/wiki/Upper_class


> $People with 380k of income, but without significant assets are not upper class. They would be considered upper middle class.

I mean sure, but anyone able to sustain that income level will quickly become wealthy unless they have ridiculously high spending levels.


They should, but but it is not guaranteed. There is also a long way between having more wealth than most, and becoming upper class where you can live "comfortably" entirely off the earnings of your wealth.

My previous comment seemed to have touched a nerve with some people, which strange given that I (IMO) was politely providing commonly accepted definitions of words/terms, with supporting references. I guess people do not like the actual meanings of the words. Or perhaps I sounded like an condescending asshole :shrug:


$400k per year put you in the top 1% of income earners in the US. 99% of people make less than those people.

That’s wealthy to me.


> then what is $20 million/yr?

obscenely rich


“More wealthy”?

100K in 1980 was sufficient to build and compound your wealth. That’s wealthy.


Up thread somebody asked what these were. A response had credit card interest deductions (rich people aren't running a credit card debt today, and certainly not in 1970) and easier tax fraud.

This is such a compelling narrative for the "taxes should be lower" crowd that I'm skeptical. Granted, this is my personal bias. But I would love to see the actual clear examples of how people are deducting like 50% of their income or whatever they'd need to bring their 70% marginal rate down to 35%.


In the 80s mortgage rates hit 20%. So there's a start. Wages weren't quite as skewed to the high end as they are today. The gap between low middle, middle, and upper middle was not as wide, so it was less likely to hit the threshold for the 70% bracket. There were far more single income families, so again, not as likely to hit the threshold. Finally it's a marginal rate. Only income above the threshold would be taxed that much, not one's entire income.


source?


The top tax bracket in 1913, the first year of the federal income tax as it exists today, was equivalent to ~14 million dollars at today's value.

Our wealth inequality problems could largely be solved by fixing the tax brackets (especially w.r.t. capital gains). We don't need all sorts of new taxes, certainly not a wealth tax, before fixing the obvious problem.

That being said, $500,000 should have been taxed more heavily in 1977 relative to today in a perfect world, because that amount of money was worth a lot more back then. I don't think the numbers are inflation adjusted or it would make sense to do so without a big warning.


as others stated there were a lot more loopholes

the other thing people don't mention is that companies got around higher tax rates by giving benefits like company cars and other things to entice employees when giving a higher salary would be stupid due to high tax rates. This is how things like health insurance ended up getting tied to employment, always unintended consequences


It actually wasnt taxes with health insurance. They froze wages during ww2 but exempted health insurance from the cap.

Same result. different cause (in this case)


I was going to bring this up! good call out


Yes, the marginal income taxes were high but the capital gain taxes were low, so the rich didn't pay much. For example when the top income tax was 91% in the 1950s the capital gain tax was just 25%. See the historical top income and capital gain tax rates here https://ctj.org/pdf/regcg.pdf


Do you mean are the brackets themselves tax adjusted or the salaries? Because lets say there is a 300-500k bracket right now - that bracket (if it even existed in the 70s) would have been much, much higher.


Agreed in principle, but I think you mean much lower?


I would not expect this to cope with inflation but to operate purely on nominal values; after all, that's what you'd put in the tax returns for those years.


This seems beyond misleading it doesn't even have a method to enter most of the now illegal methods to lower your tax bill.

Tax straddles were only banned in 1977 before that you should have easily been able to more then halve your tax bill with futures.


Tax straddles—now illegal—is a new concept to me. A couple old articles about it from New York Times:

Looking for Tax Losses in Commodities (1977) https://www.nytimes.com/1977/12/11/archives/investing-lookin...

I.R.S. Wins On Tax Straddles (1982) https://www.nytimes.com/1982/03/10/business/irs-wins-on-tax-...


Interesting, this is probably why I never heard of straddles in a futures context

They are wildly popular in the options (including futures options) market, but what is described here would be called a calender spread or an unbalanced strangle of some sort. No tax benefits from closing long dated contracts early aside from losses offsetting the gains


I've never heard of tax straddles, but they sound an awful lot like what we now call "tax loss harvesting."

> For example, an investor with a capital gain manipulates investments to create an artificial loss from an unrelated transaction to offset their gain in a current year, and postpone the gain till the following tax year.


At least tax loss harvesting is recognizing a real loss. Wash rules mean you can't just dump your money back into the same investment.


Doesn’t this fit into “other adjustments”? Net operating loss is listed among the examples there.


Very cool, especially hearing about the implementation.

Feature request: Put the effective overall tax rate calculation somewhere on the page - so often people are confused that they are paying the same percentage tax as their highest marginal tax rate, this tool could help elucidate that mistake.


I wish this would get written up in mainstream media. Hypothesis being that if more people knew this existed, it would put additional pressure on Congress to simplify tax filing.


The number of possible inputs for Income is stunning: 15 types of income in total.

There are “only” 5 possible inputs under Deductions & Credits but 3 of them are categories with several subitems:

Itemized Deductions

• Home mortgage interest

• Deductible medical expenses

• Motor Vehicle registration fees

• Charitable contributions

• Casulty or Theft losses

Other Itemized Deductions

• Other state and local taxes

• Deductible medical expenses (preference share only)

• Miscellaneous expenses

Other Adjustments

• Alimony Paid

• Keogh and IRA contributions

• Foreign Income Exclusion

• Net Operating Losses


Because standard deduction is so high now, 90% of US tax filers do not have to worry about itemizing. According to IRS stats website, which I do not have handy on my phone.


Hat tip on the reference. I didn't consider the effect.

I found an article about it here: https://taxfoundation.org/standard-deduction-itemized-deduct...


This is kind of mental. In the UK we have nowhere near as many tax deductible things. An ordinary employed person will only ever get tax deductions for pension contributions or charitable donations. Almost nobody in the UK even has to file a tax return; data is returned automatically to the government by all employers and so there is no need unless you have certain uncommon circumstances.

There are some schemes through employers that reduce your taxable income (for e.g. a scheme to purchase a bicycle tax free) but these are handled by your employer and work by sacrificing some salary in exchange for the benefits.


A piece of politics that is radically different is that the UK does not have a right wing which hates the Federal government; the UK right wing is not only unitary-statist but monarchist.

This results in perverse pressures to make the Federal processes that people are exposed to, such as tax filing, as bad as possible so that voters also hate the Federal government.


Potentially interesting to note that the home mortgage interest and state tax deductions were long controversial as perverse incentives and got dropped during the Trump administration.


And for all the complexity of the tax code, it often pales in comparison to the version of the tax code we subject low-income families to: rules for means-tested benefits.


The US personal tax code looks extremely complicated to British eyes, but British people have a similar calculator at their disposal at https://listentotaxman.com/ though it only goes back to 2000.


The thing I find interesting is Americans always claim that countries with socialised healthcare have significantly higher tax burdens, but if you compare take home salaries between say New York and London, or San Fransisco and London, they're not that far apart.

That said, in tech Americans seem to make 50%-100% more total comp on a cost of living adjusted basis doing exactly the same job...


Agreed. US also doesn't have VAT, though, which makes a fair bit of difference. State sales taxes vary but the highest is less than half the British VAT. Individual Income taxes are what, 25-30% of total tax revenue in the UK? I know OECD average is 25%. It's about 42% in the US.


The other thing that's interesting is if you ignore private payments to healthcare entirely, the US still spends more per capita from the public purse on healthcare than the UK does. So the US pays a ton of public money and yet most of the population still gets nothing unless they pay even more.


> Americans always claim that countries with socialised healthcare have significantly higher tax burdens

That's a generalisation, although some conservatives do make the claim. It's nonsense, of course: the most other developed countries including the UK spend around a third as much per person on healthcare. Another victim of poorly regulated market consolidation (among other factors).


We've also built an open-source tax and benefit calculator for the UK, which also lets you simulate custom policy reforms: https://policyengine.org/uk


I wonder whether it would be easier to get Fortran in the browser with f2c (http://www.netlib.org/f2c/) then C to WASM.

I had excellent results with f2c on an old Fortran program when I used it.


Thanks for sharing this! I tried it and indeed it works quite well.

This will be much simpler/easier than gfortran+dragonegg, and removes some roadblocks preventing me from using the latest emscripten/llvm.


As a Danish person, it is a fun tool to play around with! Discovering that the tax difference between the US and Denmark is close to negligible is interesting as we have been known to have a high tax burden in Denmark.


That's brilliant work, thanks!

Imagine if IRS would produce something like this (open sourced) and we could file our returns like this.


The IRS can already calculate your taxes for you. In other countries you just have to confirm what the revenue department calculates as your liability and hit "submit". You have to do the calculations yourself because TurboTax et al., and accountants lobbied so taxes are complicated and must be completed by the filer (or their accountant).


From the abstract of NBER paper I mentioned [1]:

> Each year Americans spend over two billion hours and $30 billion preparing individual tax returns, and these filing costs are regressive. To lower and redistribute the filing burden, some commentators have proposed having the IRS pre-populate tax returns for individuals. We evaluate this hypothetical policy using a large, nationally representative sample of returns filed for the tax year 2019. Our baseline results indicate that between 62 and 73 million returns (41 to 48 percent of all returns) could be accurately pre-populated using only current-year information returns and the prior-year return. Accuracy rates decline with income and are higher for taxpayers who have fewer dependents or are unmarried. We also examine 2019 non-filers, finding that pre- populated returns tentatively indicate $9.0 billion in refunds due to 12 million (22 percent) of them.

[1] https://www.nber.org/system/files/working_papers/w30008/w300...


One problem is that information is not tabulated by the IRS in time for a mid-April return date.

Order your tax “transcript of account” in late March and again in late August. It’ll be substantially more complete in late August.


I didn't point that out: I originate from a country in which I used to get a postcard summarizing what they thought I owed with a "Yes, I agree" checkbox and a field to sign. You could always file an extensive return if desired, but unless you had complicated (notably international) transactions, the return was basically accurate.

This only works because there's a high level of trust in the government and low corruption, and having detailed tracking isn't (very) controversial. The US is almost the exact opposite on every metric so it wouldn't work for it.


The US demands extremely detailed tracking of your income. We just get nothing in return for it.


>We just get nothing in return for it.

Maybe you don't, but a lot of wealthy people who can afford to hire tax professionals do. For example, how certain famous billionaires[0] have received billions of tax free income because they took the position that it could be classified as a certain type of income.

[0]https://www.bloomberg.com/news/articles/2021-06-24/peter-thi...


I am from the country where most people don't even have to agree to anything - their income taxes already handled by employer on behalf of the government before each paycheck. But there is very low trust in government and it is dictatorship...

I do not know if that was intentionally forced on citizens in the USA to do their own taxes (even tho IRS had accurate information from W3s for nearly half of payers) for that purpose, but I think such exposure to the behind scenes calculation of taxes might force citizens to be more aware of what they are paying.

For example, back to my home country - I think income tax is something like 11% or 13% today. And most folks see this tax on their pay stubs. But what they do not see (although some are aware of) - employer pays extra 36% of the salary into social security. In the USA employee sees at least half of it (6.20% of 12.40%). The health insurance premiums are also prominent on the tax return, same with retirement. None of that is visible in any form to employees in my home country.


> The IRS can already calculate your taxes for you

Only if 100% of your income is reported to the IRS. Small amounts (under $600) often aren't, and while you might be able to get away with not reporting it, its obviously not legal. I had some slightly unusual small sources of income the past couple of years that I had to keep records of, report, and pay taxes on.

Granted, a lot of people arent going to have much more than a W2 and maybe some interest income.


As much as I hate doing it now the first few years I did my taxes I went all paper and it really helped give me a foundational understanding of it all. Especially when you make that one typo.


NBER's biggest contributors are the US government. Ironically, the IRS isn't one of them.[1]

As an aside, I'd love to see US gov research grants start requiring the work product to be made open source.

[1]: https://www.nber.org/about-nber/support-funding


Agreed. We're building an open source version of taxsim (plus benefit rules) at https://github.com/policyengine/openfisca-us.


Congress won't let the IRS do it. To avoid that, Turbo Tax and the others promised to give free filing software out. That it didn't have all the deductions (pay for that) and was filled with anti-patterns to get people to sign up was something Congress ignored.

I assume there were also some campaign contributions that changed hands.


Imagine if the tax code itself were written in Python.

  def computeTax(**kwargs):
    .. blah blah ..
    return how_much_you_owe
Of course we all know what comes next...

  from scipy.optimize import minimize


In 2014, the Policy Simulation Library [1] added a model called Tax-Simulator [2], which is a Python reimplementation of TAXSIM [3][4]. It is available as open-source [5], and designed to let researchers both change existing policy variables and implement new tax reforms in Python.

[1] https://pslmodels.org/

[2] https://taxcalc.pslmodels.org/

[3] https://taxcalc.pslmodels.org/about/history.html

[4] https://github.com/PSLmodels/Tax-Calculator/blob/master/taxc...

[5] https://github.com/PSLmodels/Tax-Calculator


My team at PolicyEngine [1] is also now further reimplementing Tax-Calculator in the Python-based OpenFisca framework [2]. OpenFisca US [3] includes all tax logic in Tax-Calculator, plus many means-tested benefit programs like SNAP, and some state tax logic (currently only Massachusetts is complete, though we'll finish the country in the next 12-18 months). You can try it in our PolicyEngine US web app [4].

(OpenFisca US is part of the Policy Simulation Library, and it's developed by a number of former Tax-Calculator developers, myself included.)

[1] https://policyengine.org

[2] https://openfisca.org

[3] https://github.com/policyengine/openfisca-us

[4] https://policyengine.org/us


France has an open source implementation of their tax code [0]. The paper [1] gives an overview of the implementation language, mlang.

[0] https://github.com/MLanguage/mlang [1] https://arxiv.org/abs/2011.07966


France has also developed the OpenFisca framework [1] for tax and benefit rules as code, and its OpenFisca France [2] model is widely used (I think significantly more than mlang). We've extended it to the UK [3] and the US [4].

[1] https://openfisca.org

[2] https://github.com/openfisca/openfisca-france

[3] https://github.com/policyengine/openfisca-uk

[4] https://github.com/policyengine/openfisca-us


`policy_current_law.json` is really interesting:

https://github.com/PSLmodels/Tax-Calculator/blob/master/taxc...

Looks like the data in there goes back to 2013/2014. I'd love to see older historical policy data.


It has been proposed in professional tax forums that this is in fact how tax code should be legislated, using some kind of pseudo-code. Even just using symbols for things such as >=, <, and so on would eliminate a lot of the garbage in the verbal version.


This would be incredible -- it feels like the tax form documentation is written in a dialect of Accounting English from the 50s, and just little things like adding some parentheses to group and/or con/disjunctions would go a long ways.

Nearly every year I don't feel confident that I've filled out my taxes accurately, and it's not for lack of trying.


This is amazing. Would there be a way to estimate future year taxes? For example, knowing past years inflation numbers could you run possible scenarios of future tax brackets?

The adjustment process seems to be opaque[1] but perhaps you could use a regression to estimate it. Then you would only need the ability to make those adjustments in this program to run future year scenarios.

1: https://www.irs.gov/newsroom/irs-provides-tax-inflation-adju... (I’m uncertain whether this is based on some predetermined formula)


>Would there be a way to estimate future year taxes?

You can't even always estimate current year taxes, since Congress has lately taken to making retroactive changes to the tax code even after the end of the tax year (just extending their long-term habit of making changes in late December of the current year).


Well I’m not looking for 100% accuracy, and it doesn’t need to cover all types of income. I’m interested in long term investment income with various input types of accounts and investments given different inflation and tax policy scenarios. It just needs to be better than the software I’ve seen which is basically trash (assumes a flat percent tax).


Sort of tangentially, I'm working with other contributors on https://ustaxes.org, an open source tax filing webapp https://github.com/ustaxes/UsTaxes.

Currently, many Federal tax forms are supported, as well as tax filing for the state of Illinois. Filing for Oregon and California is under development!


When you say “filing” does this mean it actually electronically file the return or it just is able to print out the returns for sending in by post?


It calculates the tax amounts and fills them into the IRS and state forms to be printed out


I made tiny typo (an extra digit in spouse age) and got a giant error, though at least it was actionable

“TAXSIM: Unbelievable spouse age”


This error message is hilarious, so I tried to find where the threshold is.

Apparently it's not believable that people 115 years or older would be filing taxes.


Didn’t take a close look but the 1986 (?) tax code update close major tax avoidance pathways (passive loses and tax shelters in wiki link).

I think one issue with calculators like this is it doesn’t account for excluding revenue that now has to be included.

https://en.m.wikipedia.org/wiki/Tax_Reform_Act_of_1986


Bit late to the party but I just wanted to put one top level comment saying: this is awesome! I'd never have thought that putting a Fortran codebase like this into WASM was so possible. And doing so in this way surfaces great, battle-tested information, that would be herculean to reimplement and test in another language. Really awesome stuff!


The tax is not accurate historically, for higher income brackets. Prior to 2018(?) you could deduct the majority of your state income tax from the federal income tax (the "Trump tax cuts").

https://nypost.com/2021/10/05/court-upholds-trump-law-limiti...

Basically, prior to that implementation, you were really paying MAX(federal income tax, state income tax). After that implementation, you could only deduct a maximum of $10,000 in state income tax from federal tax. So it looks more like: ADD(federal income tax - $10,000, state income tax)


I don't believe you're calculating the pre law change correctly.

You could deduct your state tax from your income for federal tax purposes. So if you made 100k and paid 17k in state taxes, your federal AGI was 83k. Post change, it would have been 90k.

The Trump era change was really a fuck you to high earners in states with high taxes. Shockingly, a majority of those people tended to vote for the Democratic Party.


Funnily enough, that SALT deduction was disliked by economists, as regressive, inefficient and mostly pointless. It was bashed by policy think tanks from all sides, e.g. Brookings, CRFB, Heritage, CBPP, and Center for American Progress.


Is there an option to add some cities or counties, like new york city's local tax?


I may be confused. I just talked with my kids about the problem of maintaining some old program in us gov particularly related to taxation. Possibly in assembly and last attempt to upgrade run out of budget and hence USA gov will forever have issue in maintaining it. People knew left and good luck to find my kid generation to learn those old thing.

Can you do it the other way round I wonder? Just give up and use a new version and ask legal to send this open source to all agents. After 3 years day this is the version.

It is not a sim issue. It is not a pre-filled issue. It is a real issue.

Or my brief to my kid is wrong. It is about something else.


This is great. Could you add a box that displays effective tax rate and marginal rate?

It would also be great to provide a line graph that shows the result for all years. There’s no reason to have to select each year one-by-one.


Would be helpful if there was a way to see a graph of how the amounts change over time.

I find myself putting in my info and then click minus on the years to see how the years change.


The child tax credit calculation is incorrect for 2022+

It should not phase out at 150,000 anymore, but rather starting at 200,000 for single or 400,000 for married filing jointly.

Ref: https://sgp.fas.org/crs/misc/IF11077.pdf


Cool use of emscripten. Is this handling inflation at all? Fixed-number items like standard deduction will be impacted by that.

I think it gives a general idea of the tax situation, but possibly decreasing accuracy at high incomes, where a tax strategy can be implemented specific to the special deductions/credits each year, which are difficult to include in this form.


I was curious to see how many kids it would take to lower my taxes to zero.

Apparently, you’re not allowed to have more than 15 dependents.


Why a 500k$ wages/salaries limit here? :)


“640K ought to be enough for anybody“


You can use the gear icon in the upper right to turn the sliders into text boxes.


ah thank you :)


This is really cool.. nicely done @tmm1. I've been meaning to dig into WASM and this is even more reason to do so.


This is great. I would also love to see a graph of the federal tax over time from 1960 to today.


This is great!

If you’re taking feature requests I’d love to see a bar or line chart showing the amount of taxes paid for the Y axis and year on the X axis. Would make comparing over time much easier.


This calculator doesn't seem to support local income taxes, which many states have [1]. For example Maryland has income tax brackets than other states, but each county levies its own income tax on top of that. I usually use smartasset's income tax calculator [2], which also asks for your location so it can factor in any local income taxes as needed.

[1] https://www.thebalance.com/cities-that-levy-income-taxes-319... [2] https://smartasset.com/taxes/income-taxes


SmartAsset is only a rough approximation based on standard deductions/exemptions and the rate structure. It excludes tax credits and other provisions that make taxsim much more accurate, especially for low-income households.


But again taxsim is missing local income taxes entirely. That makes it automatically inaccurate for millions of people. Smart Asset is an estimate but it's at least accurate for the cases that it covers and doesn't claim to be a complete tax calculator.

Anyway taxsim is obviously the more complete tool, but without local income taxes it's unusable for many people like me who live in a state that has local income taxes too.


FWIW, we'll have Maryland income taxes, including local income taxes, by the end of July: https://github.com/policyengine/openfisca-us


This is really great. Can you please add Net Income after calculation. That would be useful.


This is awesome! Two features requests:

1. A plot over time

2. Could you adjust the income for inflation, so when you click back 1yr your income goes down accordingly?


This is very interesting. I learned that the last year I made enough money to pay AMT is the year they got rid of AMT. Damn!


No one "got rid" of AMT, it is still alive and well in both the federal tax code and some states, such as California.

In fact, it is more popular than ever: the temporary TCJA tax changes (2018-2025) for individuals mostly consisted of moving features of AMT into the regular tax regime. No personal exemptions, large standard deduction, no mortgage interest deduction for equity debt, limited state and local tax (SALT) deduction, mostly no miscellaneous itemized deductions, flatter tax brackets, etc.


> no mortgage interest deduction for equity debt

Wait, what? When did that happen?

And did the "for equity debt" mean that it still applies to houses?


To clarify, these are technical terms for income tax purposes, and are not defined by any label a bank may put on a loan, such as "HELOC" (home equity line of credit).

Since 1987, whenever you originate or re-finance any mortgage, the portion of the proceeds used to buy, build, or improve your personal residence is called "acquisition debt" (used to acquire the asset), and the remaining portion is called "equity debt" since it is secured solely by the pre-existing equity in the property and is used for anything other than acquisition.

When you re-finance acquisition debt, it remains acqusition debt, but any cash-out from the re-finance not used to buy/build/improve is equity debt. As you pay down principal on the loan, you are considered to first pay off the equity debt, before acquisition debt.


Thanks.

That is a very clear explanation. It seems like that got caught up in the whole "no interest other than acquisition debt is deductible" rule change.

Also, I know you were enumerating items, not advocating for their return. I see the change as good, and didn't know if there is a countervailing point of view explaining why interest on equity debt should be deductible (possibly from the entity that educated you on the matter).


My tax was 50% higher in 1988 than in 2020. Did taxes really come down to this extend over the past 30 years?


Historically, taxes fluctuated quite a bit.

IIUC, income taxes have been unusually stable the last ~20 years.


Was hoping it would adjust today's income for inflation going back with a chart over time


How do we know how many percent of people paid tax during these times


How is this different than turbotax for instance?


A slider for inputting multi digit numbers? Pain.


This is awesome! Permanently bookmarked!


This is really cool, but I have to say that sliders are the absolute worst way to input income and benefits. Why not just use a simple textbox?


You can switch to text boxes via the gear at the top right.


Why is the income limited to 500000$?


It's all blank for me


BADASS THANK YOU


come again?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: