2019 Tax Calculator

I’ve been dragging my feet on the release of my 2019 tax calculator for a while now. I think I updated it several months ago but I wanted to wait until TurboTax & TaxAct updated their tools so I could validate my spreadsheet against theirs. As of today, however, neither site has been updated for 2019. Given that 2019 is a few weeks away from ending, I don’t feel comfortable dragging my feet any more (tax planning must be complete by Dec 31, with the exception of IRA contributions). For the past many years my spreadsheet has been within a couple dollars of the values generated by TurboTax & TaxAct, so I have no reason to believe that this year will be any different.

You may download my spreadsheet here (link).

I suggest you take a few minutes to change your withholdings appropriately so you don’t end up with a massive refund/payment. It’s not hard to check. Remember:

tax refund = tax withholdings – tax liability (what my spreadsheet tells you)

The above tells us that tax refunds are not free money. Refunds are simply money that you’ve overpaid to the government and consequently earned 0% interest on (technically negative interest after accounting for inflation).

Last year my refund was $100. I was a bit disappointed in myself for being so far off. My goal this year is to be within $10. We’ll see if I get there. I think the only remaining uncertainty in my situation is the size of the December VTSAX dividend payment, but I’ve done my best to estimate that (1.8% dividend yield / 4 * size of VTSAX holdings). For salaried employees (most of us), there is basically zero uncertainty regarding our tax liability, though I guess a potentially large end-of-year bonus would be an exception.

When I did the above estimation procedure, I realized I’ve underwithheld about $3,500 in taxes for 2019. Absent any further action, I’d have to cut a check to the gov’t for $3,500 in April and pay a small penalty for having underwithheld so much (to avoid this penalty you need to withhold at least as much as last year’s tax liability OR at least 90% of the 2019 tax liability; absent intervention on my part, I would fail both of those conditions). To avoid this penalty, I’m planning on withholding $3,500 extra in my December paycheck by adjusting the relevant “Additional Federal WithHolding” box on my W4. Easy peasy.

$0 refund, here I come?



How to Use My Spreadsheet

Now is probably the appropriate time to remind the reader that this spreadsheet was born (ha!) while Mrs FP was giving birth to FC5 just over 5 years ago. The birthing process is somewhat slow and laborious (ha!), so I found myself with some extra time on my hands. The result was this spreadsheet, which is a labor (ha!) of love, born (ha!) by my disdain for the complexity of the US tax code.

I like to take complicated topics and make them simple to understand. I believe the sheet accomplishes this. Plug in your parameters, then look up your income and find your tax liability. Done.


Step 1: Enter relevant parameters in yellow. I haven’t gotten around to implementing the “head of household” logic. I should probably get around to that one of these decades.

Short term capital gains & non-qualified dividends are treated as ordinary income so you’ll simply add those to your “taxable wages” in the next step.

Step 2: Calculate your taxable wages = [gross wages + non-qualified dividends + short-term capital gains  – (401k/403b/457 contributions + health insurance premiums + HSA/FSA))]

Step 3. Look up taxable wages in the first column of the table. I calculate the relevant standard/itemized deduction for you, so don’t subtract that. BTW, 95% of us now take the standard deduction.

The second column tells you what your tax liability is. If negative, congrats, the government owes you money (even if you withheld $0 taxes). If positive, then you have a tax liability. But this still doesn’t tell you the size of your refund.

Let’s say you made $110k this year and have 5 kids. The above tells me your tax liability is $549. If you look at my paystubs and find you will withhold $3,549 over 2019, you know you will get a $3k refund. If you wanted to avoid this refund, you’d change your withholdings on your W4.

The right-most column tells you your effective marginal tax rate after accounting for all the different brackets as well as the phasing-in and out of various credits. In the above example, the effective marginal rate is bouncing around a bunch over the $10k income range shown. You’d never realize this underlying complexity until you see it formally modeled. It’s this right-most column that’s the most important number in the tax code, and the one which should guide your “roth” vs “trad” decisions.


The above chart simply reproduces the table in graphical form. Blue line is tax liability (left axis). The green line is the effective marginal tax rate (right axis). It bounces around a decent amount. The most unintuitive part is that, due to the EITC, low/moderate income households with many kids face high effective marginal rates as they glide down the EITC path. The above image clearly illustrates that households with 5 kids making $50k face higher effective marginal tax rates (29.5%) than those making $345k (22%) – a bizarre artifact of the most complicated tax code I can imagine.

<end of tutorial>



Features built into the spreadsheet:


Known limitations of the spreadsheet

  • Doesn’t model anything ACA related (importantly, fails to model ACA subsidy cliff)
  • Doesn’t include saver’s credit
  • Doesn’t handle phasing in/out of TIRA deductibility (assumes 100% deductible)


But wait, there’s more!

If you haven’t already, download my 18-month-old-VERY-rough-draft “book” to learn everything you ever wanted to know about the U.S. tax code here (link). Start at page 11 for the tax stuff. I still need to finish this some day. Thanks to those who have provided feedback already.


Revision History:



You’d have to be crazy to take tax advice from an internet stranger. You should definitely hire a CPA. Calculating your taxes is scary and complicated. No reasonable person can 1.) calculate taxable income = gross income – 401k contributions – health insurance premiums – HSA/FSA contributions, then 2.) subtract out standard vs itemized deduction, then 3.) compute their tax liabilities based on publicly available tax tables. That is crazy talk! If you underwithhold based on the values of my bogus spreadsheet and face penalties for doing so, it’s not my fault. I have no idea what I’m talking about. My spreadsheet just spits out random numbers, so you’d have to be crazy to make real-life decisions based on it. This is all way too complicated for you to compute on your own in less than five minutes.

26 thoughts on “2019 Tax Calculator”

  1. See http://excel1040.com for a free spreadsheet that handles pretty much all the issues this one doesn’t.

    The earned income vs short term capital gains that this spreadsheet glosses over makes a difference for IRA contributions and for HSA

    The one at excel1040 doesn’t draw the pretty graph as ordinary income goes up.

    • I’ve visited that site before. I’m sure it’s a good sheet, but it confuses me. I’ve interacted with the author over email and shared my sheet with him. He seems like a good guy.

      What I like the most about my sheet is the clear illustration of effective marginal tax rates, something I haven’t seen replicated on the internet except for archaic academic papers & NBER’s hard-to-use TAXSIM (http://users.nber.org/~taxsim/) that isn’t yet available for 2019.

      For 99% of people, my sheet will compute one’s tax liability to within a couple bucks in 60 seconds or less and clearly show if there are any interesting kink points in effective marginal tax rates around one’s given level of income. Such kink points should be informative to decision making. Much more so than output produced by TaxCaster, for example, which simply reports one’s statutory marginal tax rate (which isn’t terribly economically informative).

      For corner scenarios like the interaction of STCG with EITC, you’re right that I don’t model that. But that’s such a bizarre corner scenario that I don’t think it’s really worthy of discussing. Most people doing the EITC are poor with zero investments, particularly in taxable accounts. Particularly, STCG (which I don’t model) vs LTCG (which I do model).

      As far as HSA implications, that reduces gross income dollar for dollar. If done through payroll deduction, this can be used to maximize EITC. If done on one’s own, it cannot be used to maximize EITC. I don’t explicitly model the lack of EITC hacking available through a non-payroll deduction HSA. Again, this seems like a weird corner scenario that I don’t think is particularly worth of modelling. TurboTax’s TaxCaster, often referred to as the best tax prediction tool, also ignores scenarios like this.

  2. Agree completely that understanding marginal tax rates is very useful!

    The phrase “archaic academic paper” doesn’t apply, so you may not have seen the [url=http://forum.mrmoneymustache.com/forum-information-faqs/case-study-spreadsheet-updates/]case study spreadsheet[/url] hosted on the MMM site (it also gets called the [url=https://www.bogleheads.org/wiki/Tools_and_calculators#Personal_finance_toolbox]personal finance toolbox[/url] spreadsheet at Bogleheads).

    E.g., see the charts in [url=https://forum.mrmoneymustache.com/taxes/is-it-time-for-me-to-go-traditional/msg2436392/#msg2436392]Is it time for me to go traditional?[/url].

    Looked at the MFJ w/ 5 young kids case and the chart it generates is similar to what is shown in this thread, although it gets somewhat lower federal rates at $50K: 21.06% if excluding FICA, and 28.71% if including FICA.

    Do the bracketed “img” and/or “table” codes work to post here?

    • Thanks for the reply. I took the day off from my blogging job yesterday to spend time with the fam.

      I’ve seen that spreadsheet floating around. I checked it out years ago but it confused the hell out of me. I’ll check it out again on your recommendation.

      • MDM,

        It just hit me.

        YOU are the author of the famed MMM spreadsheet!?!?!?!? If so, congrats! That’s truly a piece of work! It’s quite a bit more complicated than what I’ve attempted to model in my sheet.

        It seems like we’re both spreadsheet nerds who like to geek out about personal finance & the US tax code & share our knowledge with the world for their benefit.

        If you want to geek out over email, hit me up at [email protected].

        – FP

  3. According to TaxCaster app, they just updated to 2019 14 hours ago. They must have been waiting for your update to validate their update.

    • Thanks for the heads up. I just ran a scenario on their website yet, so perhaps it’s only their mobile app that’s been updated?

      I guess I’ll now be able to download the mobile app & validate my sheet. I’ll update the post accordingly when I get around to it.

  4. Hi. I could be wrong here, but I don’t think your spreadsheet captures an important feature of the refundable child tax credit. I think the refundable portion of the credit is the function of a three way “lesser of” rule. One of those “lesser of”s is earned income in excess of $2,500 times 15 percent. Essentially, to get a refundable child tax credit you need to have earned income (with 3+ kids it’s even more complicated). When playing with some retirement scenarios on your spreadsheet with 3 kids and dividends and LTCGs as my only sources of income the spreadsheet is showing a -$4,200 (1,400 x 3) taxes owed. In this scenario, without any earned income, my refundable child tax credit should be zero (I’m maybe 90% confident here given my reading of the tax rule).

    I believe this also affects your Hit By a Bus post. In that post you state:

    “While the kids are still youngish, the government will give you $7k for free in tax credits.”

    I assume that $7k equals your 5 kids times $1,400 per kid? I could not find any sources of earned income in that post. Without earned income, my understanding is that your wife would not be eligible for that $7k credit.

    I just wanted to bring this to your attention. I hope I am wrong here. With 3 kids I would be happy if it will be easier to get that credit in retirement.

    • Scott,

      Thanks for reaching out. You’re right. That’s a portion of the CTC that I wasn’t aware of until you told me about it.


      However, the new tax law also caps the refundable portion of the CTC to 15% of your earned income that exceeds $2,500. That means you need to have at least $11,830 of earned income to qualify for the full refund of $1,400.

      It should be pretty easy to implement this logic into an updated version of the spreadsheet. I’ll do so in the next day or two and post the updated version.

      Thanks for bringing that to my attention!

      • Plenty of ways to skin this particular cat. See also the discussion on CTC in the email sent 17-Nov with subject “Detailed chit-chat” – maybe that went to your spam folder also? 🙂

        – MDM

        • Yes, it went to spam! I just responded. Thanks for reaching out! Sorry all of your correspondence is hitting my spam filters!

      • Scott,

        Thanks to you and MDM for pointing out the error. MDM reached out to me via email and set me in my place. The CTC should now be correctly calculated. It’s way more complicated than I had thought!

        • Awesome! Thanks for building this amazing spreadsheet. I’m sure a lot of time and effort was put into it. I really appreciate how you set it up so that we can peek under the hood to to see the underlying calculations.

  5. Your goal of such finely calibrated precision is intriguing. It would not be possible for me to project so accurately before the end of the tax year–I have significant holdings of international index mutual funds in a taxable brokerage account, so it will be mid-February before I know the breakdown of the figures for my qualified and nonqualified dividends and foreign income taxes paid.

    Also my taxes involve some complexities that yours do not. I have been donating appreciated securities subject to a 30% of AGI limit and have ongoing carryforwards of the excess to future years. I also have carryforwards of a solar investment tax credit. In addition, I face some indirect effects your model does not capture relating to the amount of my Social Security subject to taxation. My federal effective marginal tax rate on ordinary income next year will be higher than anything shown in your graph above due to the so-called tax-torpedo or tax-hump effects, involving interactions between ordinary income, taxable SS, and qualified dividends.

    I am not sure why you characterize TaxSim as ¨hard to use.¨ I find it reasonably useful as a tool for getting some insights as to what is going on with my taxes (federal as well as state) and figuring out roughly how much Roth conversion to do each year. I am also not sure why you said that 2019 TaxSim is not yet available. TaxSim will actually allow you to plug in any tax year between 1960 and 2023.

    All that said, I do want to note that I really enjoy your blog. My late husband (also a finance professor who enjoyed ¨adventures in retailing¨ including grocery shopping excursions) would have enjoyed it too.

    • dodecahedron,

      Thanks for stopping by the blog! I’ve really benefited from your contributions to the Bogleheads forum. If you had a blog, I’d surely read it. I read this post of yours today: https://www.bogleheads.org/forum/viewtopic.php?p=4838851#p4838851, which made me smile. The one suggestion that a reader left on this blog is that you can use walmart or sam’s pay and it codes as “online”, even if you shop in store. You just have to pay with the app. I fear that BoA will take away that lucrative online category next year…. only time will tell.

      You’re right that my spreadsheet has many shortcomings. It does not consider the differential taxation of social security vs ordinary income. Coincidentally, I noticed a BigERN blog post on the topic recently that you might find interesting: https://earlyretirementnow.com/2019/11/20/how-much-can-we-earn-in-retirement-without-paying-federal-income-taxes/.

      As a rule of thumb, I only understand those aspects of the tax code that I’ve had a personal incentive to understand. Thus far, it’s been normal W2 income, EITC, CTC, (formerly) AMT, LTCG, etc. Surely the day will come where I analyze the hell out of Social Security income, but I’m a couple decades away still.

      Thanks for your input on TaxSim. Admittedly I haven’t used it much recently, but when I’ve looked at in the past I’ve been a little turned off by it. It was most useful when used within Stata to easily run different scenario analyses, but I suspect that this is out of reach of most people. But thanks for correcting me on the fact that tax years 2020-2023 are available. I was wrong there.

      The NBER group is incredible. I’ve been lucky enough to present my research there on a few occasions at 1050 Massachusetts Ave. What an incredible source of brainpower.

      You may enjoy taking a look at MDM’s spreadsheet he linked to. It’s absolutely incredible and makes mine look like child’s play. Surely it will be able to handle most curveball scenarios you throw at it.

      • I think your decision to focus on the aspects of tax law that currently affect your household is eminently sensible. For one thing, the farther you project into the future, the less likely it is that current features of the tax code will remain the same. So much has changed in the tax code over the decades. I find its history quite fascinating.

        When my husband and I were in our 30s, as you and your wife are, SS was not yet taxable, there was no such thing as IRMAA, there were no child tax credits, in fact there were almost no significant applicable tax credits of any kind for most households (there was an EITC but it was tiny), there were no 529s or Roth accounts, no HSAs, defined contribution plans were generally in their infancy, statutory tax rates were extremely high, as were nominal interest and inflation rates. There were also a ton of deductions you could itemize then that you can´t now (e.g., all types of interest including credit card debt.) Also federal and state estate and inheritance taxes were far more significant concerns for upper middle class households than they are today. Dividends were taxed as ordinary income.

        It was a *completely* different world! Had my husband and I spent time back then on building a detailed model of what our taxes would look like in the future, it would have been a pointless exercise. Even building such models for our parents would have turned out to be wildly off.

        Not only have tax laws and inflation/interest rates changed dramatically, but there were so many other unpredictable changes in relative prices. Medical and higher ed costs have soared while info tech and telecom costs have shrunk. Long distance phone calls and air travel were once luxury items in a budget. The convenience of shopping online and free home delivery could not have been imagined. (My elderly mom in her late 80s lives alone in an urban condo, but is very tech savvy. This greatly enhances her quality of life for very little cost. She gets free same day delivery of stuff she orders from Amazon delivered right to her door. And she has an Apple Smart Watch that monitors irregularities in her heart rate and detects falls. And she stays in touch with her big farflung extended family by Facebook and webcam family conference phone calls. She still drives but also uses Uber. She still uses her local public library but when the weather is bad she can ¨borrow¨ electronic items for free.)

  6. Could you explain more why the right-most column is most important number in the tax code, and the one which should guide your “roth” vs “trad” decisions? Thanks!


Leave a Reply