Tax planning and filing doesn't need to be difficult. This calculator can help with estimating taxes and provide guidance for tax minimization both now and in the future.
Year: Your tax year.
Filing Status: Your tax filing status - Married filing jointly or separately, Single, Head of Household. This decides which standard deduction and tax brackets apply (see details here.)
Ordinary Income: Job & self-employment income, interest, non-qualified dividends, short-term capital gains, taxable retirement income, etc... Put the sum of all ordinary income here.
Qualified Income: Qualified dividends and long-term capital gains.
Adjustments: Top of the line deductions - IRA contributions, student loan interest, 1/2 of self-employment taxes, etc...
Itemized Deductions: The sum of all itemized deductions (if applicable)
Foreign Earned Income: The sum of all foreign earned income eligible for the Foreign Earned Income Exclusion (FEIE.)
Adjusted Gross Income (AGI): Total income minus adjustments.
Taxable Income: AGI minus deductions (Standard or Itemized).
Tax on Ordinary Income: Calculated tax burden on ordinary income.
Tax on Qualified Income: Calculated tax burden on qualified income.
Total tax: The sum of tax for both Ordinary and Qualified income.
Tax on Foreign Earned Income: Calculated tax burden on the excluded income.
Total Tax with FEIE: Total tax minus tax on excluded income.
Long-term thinking is at the heart of any good tax minimization strategy, including our own efforts to Never Pay Taxes Again. To think long term, we need to understand our marginal tax rate and options for tax-free income and growth.
The US tax code is rather simplistic and straight forward for the vast majority of tax-payers. By trying to cover the weird cases that apply to only a few people, most tax calculators are needlessly complex and time consuming. Instead of using unhelpful tools, I built my own.
This tax calculator will estimate tax burden, yes, but by sharing marginal rate info and opportunities for tax-free Roth conversions and capital gain harvests it also is helpful for minimizing tax burden today and in the future.
To see how these opportunities play out, see how we pay zero taxes on $100k/year income. For more detail, you can review our latest tax return (2018.)
Federal taxes are only one aspect of tax burden - if you live within the US, you are also probably subject to State taxes and maybe get insurance through the ACA Health Exchange (which acts as a tax.) Increasing AGI may impact the ability to take deductions and may eliminate or reduce other subsidies, such as the Saver's credit and Earned Income Tax Credit and Student Aid. It is important to consider all angles.
To better understand how ACA subsidies change with income, see our ACA Premium and Subsidy Calculator.
Tax law is always changing and the future is unknowable. Maybe tax rates will increase or means testing will be implemented for retirement benefits. What is an effective strategy today may not be so tomorrow.
To decide how to prioritize Roth conversions and Capital gain harvests, see Roth Conversions vs Capital Gain Harvesting.
As the focus of this calculator is on low/zero tax optimization, it does not (yet?) include the Net Investment Income Tax (NIIT.)
Disclaimer: Always consult with a professional before taking action. This calculator may not produce accurate results in all scenarios, including those most important to you. I am at best an amateur coder and my knowledge in financial matters is limited and often inaccurate.
Latest update: July 31, 2021 - added basic NIIT support on qualified income only.
Getting Started with Free Travel
The Chase Sapphire Preferred card is one of our favorites. A BIG reason is you can combine points with other Chase cash back cards like Chase Freedom and Chase Freedom Unlimited under the Chase Ultimate Rewards Program.
Chase Freedom Flex allows you to earn 5% cash back on the first $1500 in categories that change quarterly, and the Freedom Unlimited earns a flat 1.5% on all spend.
Using the right card for different types of spend means you earn free travel even faster! And they also have their own signup bonuses!
And all of these points can be transferred to numerous hotel and airline programs!
Learn more about these cards HERE.
Sweeeeeeeeet! Thanks GCC. Happy New Year to you and yours.
Happy New Year!
Nice and compact. The Foreign Tax Credit math isn’t quite right though. It is capped by the effective tax rate (before credits), see Form 1116. When one has limited ordinary income and mostly lives on qualified income, the credit gets unfortunately severely restricted.
There is no Foreign Tax Credit math.
Well… <> Seems like foreign tax credit math to me? Or it should be…
Hm, sorry. quote was missing…
“The Tax on foreign earned income of $10,000 is $1,000. Excluding this reduces total tax to $1,684.”
I agree, the foreign tax credit would be a good thing to add. This is the Foreign Earned Income Exclusion.
The FTC is good if you live in a country with higher tax burden than the US (not unlikely if you are living off investment income.) The FEIE is good when overseas tax burden is zero or lower than the US and you have reasonably significant earned income (our scenario.)
Are you an expert on Form 1116? (self-proclaimed or otherwise?) I’m in need of a good guest post on it… it’s been on my list for a long time and I haven’t been able to focus on it. It’s only in the last year or two that we surpassed the $600 threshold but I started filing Form 2555 which required the 1116 anyway.
Aaah… Got it now. The expat perspective. Sorry for the confusion.
I scratched my head a good deal on Form 1116 because I couldn’t understand why I was only getting 1/3rd of the credits I was expecting. Now I get it (and hate it!). But I’m no expert, form 1116 covers numerous situations and I only explored mine (early retiree with dividends from mutual fund tracking ex-US). Thank you for the suggestion, but I think you need to find a more qualified candidate!
You are living in the US and your foreign tax is largely from the withholding on your ex-US fund?
At least the excess carries over to future years…
In the summary, the tax on ordinary income should be calculated on the AGI instead of all ordinary income, as standard deduction and other deduction does not apply for tax purposes.
This is incorrect. The standard deduction (or itemized deductions if greater value) definitely applies.
The current calculation is correct – the tax is calculated on total ordinary income minus the sum of adjustments and deductions.
edit: I’ve updated the output phrasing to better explain the calculations and results.
A bit confused, I only plugged in $60k ordinary income, with $19k adjustments and am getting taxable income of $9.8k. If taxable income = total ordinary income – adjustments – deductions shouldn’t my taxable income be $28.8k (60k-19k-12.2k) and not 9.8k? What am I missing?
The calculated tax is accurate, but in the output I referenced the wrong variable when reporting Taxable Income. This effectively doubled the amount of adjustments. (60k-19k-19k-12.2k) = 9.8k. Fixed now, thanks!
I’m not understanding how a $100,000 AGI is calculating a taxable income of $45,600 with a MFJ standard deduction.
Fixed now. I was referencing the incorrect variable when reporting taxable income.
Very nice! You are missing the Net Investment Income Tax (NIIT) of 3.8% on AGI over $200K.
Yes, the NIIT is not included at the moment.
Hi Jeremy. This is a nice, quick and easy tax estimator. I would suggest adding an entry for ages of the filer/filers to account for increased standard deduction for 65 and over. Thanks!
I looked at this a bit… the calc would need a checkbox for Age 65+ and a way to specify if this applied to both spouses (MFJ.)
I’ll see if I can do this cleanly. In the mean time, you can choose to Itemize and enter the higher value there.
Hi Jeremy, Happy New Year!
Thanks for this useful tool. Using these inputs
Filing Status: MFJ
Ordinary Income: 140000
Qualified Income: 0
It says taxable income 75600, shouldn’t taxable income be 95600 (140000-20000-24400)?
Yes, fixed now. The tax was calculated correctly, but when reporting the output I referenced the wrong variable.
My tax in Oz is double. Dang nab it.
this is nice for some quick what-ifs. Personally, I am a HUGE fan of the workbook posted at https://sites.google.com/site/excel1040/. I have no affiliation, though I have donated. I first used it to plug in the return my preparer did for me to help me understand how everything works and double checking their work… and later estimating it myself ahead-of time… to now all-out optimization GCC-style.
I put this in the “needlessly complex and time consuming” category.
Once again, a very helpful tool. I’ll be sure to share this among the expats and soon to be retired expats living on long term gains. Well done
That sums up my target audience :)
This is so cool, thank you! I’ve been looking for something like this for ages! :)
Thank you for providing the tax calculator worksheet. As an ex-pat with foreign earned income, I could not find a suitable worksheet online until I saw your post. However, I do not understand how the Roth Conversion is calculated. Subtracting my AGI from the standard deduction for MFJ gives a different result from what is listed in the worksheet summary after I enter my data. For example, $24,400 std. deduction minus $19,591 AGI + $1060 Qualified Income = $5869. The result in the summary is $9069 for roth conversion. What am I missing in my calculation?
Can you share the exact numbers you are entering into the calc for each input?
If you are using the FEIE you do need to enter that in the Foreign Earned Income box. The Roth conversion values are calculated differently if you are using the FEIE.
With AGI < Standard Deduction, the FEIE probably doesn't save you anything as you are already at a 0% tax rate.
Do I need to add my FEI of $3200 to the calculation? When I do that, the result equals $9069.
Here are the numbers that I input into the calculator.
Ordinary Income: $25531
Qualified Income: $1060
Adjustments: $7000 (ira contribution)
Thanks. This is how the math works:
Ordinary income consists of $3,200 foreign earned and $22,331 US sourced (total $25,531.)
The US sourced ordinary income is reduced by $7k of Adjustments to $15,331.
The standard deduction of $24,400 minus US sourced ordinary income of $15,331 = $9,069 of possible tax-free Roth conversion.
You would then also be able to harvest up to $74,490 in long-term capital gains.
The calculator will show a Tax on Ordinary Income of $320 which will be offset by the $320 in tax that would have applied to the excluded income. State taxes and ACA subsidy reductions not included, if applicable.
Naturally, this only helps if you did the Roth conversion and capital gain harvest by 12/31/2019.
One general comment – at a 0% tax rate, Traditional IRA contributions are not a mathematically sound choice. You get a $0 deduction now but all withdrawals are taxable. Roth contributions on the other hand get you tax free growth for the same $0 deduction.
In the scenario outlined here it might not matter (it’s just a shell game of contributing $7k to a Traditional IRA and converting $7k+ to Roth) but the Roth contribution could be removed tax and penalty free anytime you wished, but the Roth conversion can’t be touched for 5 years.
Related: the FEIE isn’t always the best choice. See To FEIE or Not to FEIE.
Thanks Jeremy for explaining the math. The $7000 adjustment was a Roth ira contribution in 2019, not traditional ira. I also did a roth conversion of $5869 on Dec. 30.
However, I recently discovered that I cannot make an IRA contribution if I do not have US earned income from wages. My current earned income is from a combination of business sale installment payments (I sold my business and receive monthly payments including taxable interest), rent on property I own, and $3200 in FEI work performed outside the US for a US base company (paid in US dollars and directly deposited to my US bank account). Will I have a problem with the IRS for making a IRA contribution in 2019 from funds not earned through wages?
Roth IRA contributions aren’t an adjustment (no deduction.) That input should be $0.
The $5,869 Roth conversion (and all other ordinary income) should be included in the ordinary income input. (Now maybe more than $25,531?)
Yes, contributing when you don’t have earned income (or more than you earned) is a problem. This is called an excess contribution, and the penalty is rather severe… 6% of the overage PER YEAR until it is removed. Excess contributions need to be removed along with any interest or earnings related to the contribution. Taxes and 10% penalty will apply to the interest/earnings. (See form 5329.)
If you don’t claim the FEIE, the $3,200 is US income and can be contributed to an IRA.
Thank you for the advice Jeremy. I had mistakenly assumed that the income from the sale of my business was income considered eligible for a roth contribution, but I have learned that capital gain is not eligible. Therefore I will call Vanguard ASAP to request a return of excess. Fortunately I am over age 59.5 so the 10% penalty on earnings won’t apply.
Silver lining :)
The FEIE calculation assumes all Foreign Income earned is excludable, even if it exceeds the cap. While some people can get additional amounts for housing, not everyone can. Perhaps this should be fixed with an instructions update?
Yes, it’s broken. There are multiple flaws in the FEIE calculations that I need to fix, I just wasn’t sure if anybody was using the FEIE part yet.
Thanks for putting this together! I’m using it to estimate my Roth Conversion space for this year now that I’m eligible for FEIE.
Wondering if you would be willing to open-source the code so others can validate and improve it? It might be a fun project for those who are learning web development and are interested in legal tax-minimization!
I did this little project primarily for learning web jscript, css, etc… – I even got to write an useful recursive function.
I don’t know anything about open sourcing something, but sounds great if anybody really wanted to go at it. All the source can be viewed in the page source in the browser.
The FEIE code at this point only works for some specific scenarios, and may provide incorrect results if your situation is much different from mine. If you want to post stuff here or on the forum, I’d be happy to provide feedback.
This is freakin awesome. After reading turbocharge your savings, and using your calcuator, I am realizing that I’ll be able to max out my 401k and IRA next year AND put money in a brokerage where I won’t need to pay any tax on dividends/capital gains. Thank you!!
I really like the cascading tax savings… put $19.5k into the 401k and save $4.3k+ in taxes. Put that in an IRA and save another ~$1k in taxes. The tax savings nearly funds the entire IRA contribution.
Trying to understand long term capital gains at 0%. AGI<$52,200 opportunity to harvest the difference. To get to $52,200 it is $40,000 long term capital gains plus standard deduction. But AGI doesn't include standard deduction, so why do we add it to $40,000? Or does long term tax applies after standard deduction? So basically you could have 70k minus 19.5k (401k) minus 6k (tira) and minus standard deduction of 12.2k and have room for 8k to tax gain harvest?
Correct, $8k opportunity to harvest long-term capital gains with no federal income tax (actually $7.7k, State taxes may apply.)
All taxes apply only to taxable income. The standard deduction reduces taxable income.
Thanks for creating this tool! I recommend factoring in children for the child tax credit.
Turbo tax sucks… any suggestions for another service?
Sorry, I don’t have any suggestions…
I use turbotax, just because it imports everything from fidelity and vanguard which saves me a couple hours of data entry. The last time I tried the alternatives (8 years ago?) they didn’t have import support.
Yes TurboTax sucks. I switched from TT to H&R Block years ago. While the interface for TT is a bit better, I dropped them for the following reasons:
– TT is the most expensive option
– TT has tried to require separate licenses for each filer in the household (i.e. kids), and limit product features to push people into the more expensive versions (r.g. cap gains)
– TT has done a lot to lobby against free filing via the IRS, and makes it difficult for qualified filers to access their free option (worse so than HRB)
HRB offers auto import of Vanguard, Fidelity, and Schwab 1099 info. Every year, Amazon seems to run a sale on HRB Deluxe+State for around $20-25… just wait until late Jan/early Feb..
Jeremy, excellent tool! I’ve been using Taxcaster to verify projections from my own planning spreadsheet, but that tool has become too much of a hassle to use. Yours is clean and simple.
Any chance to add fields for credits (e.g. Child, Other Dependent, Tuition, Foreign Tax Paid, other), with income phaseout logic?
Also, does your logic account for the 3.8% (ACA Investment Income Tax) for income exceeding $250k?
My main goal was clean and simple… adding all of the credits starts to complicate things…
It does not include NIIT
Any future possibility to add # of dependents for tax credit purposes? After playing with this for a long time this morning, I think I am finally getting to a point where I could understand my situation by Dec and have enough time to make adjustments. If total tax owed < child tax credits, then there's room for Roth conversions. Yay!
Thank you very much for this tool
This is a popular request – I’ve put it on my list of things to do.
In the mean time, the way I use it is to 1st figure out how to get to zero tax. Then I add in Roth conversions and/or realized capital gains to get to $x of tax owed, where X = total value of credits (child tax credit, foreign tax credit, dependent care credit, etc…)
I’m a little confused about where to enter in some numbers to maximize things. Would it be possible to add a few more fields to your calculator? Too many things are lumped into too few fields; the adjustments field specifically. Or maybe I’m reading things wrong based on our 2020 case. Can we also contribute to a traditional IRA for 2020 even though we did a large IRA>Roth conversion in 2020? When I try this my tax software gives me some disallowed contribution alert. We are both in our 30s and were traveling full time for 2019/20 so had no real wage income. Might as well have take advantage of roth conversions for lean years. We just moved to Japan, though working for the US gov’t means we can’t claim the FIEI unfortunately.
Bank Interest : $5,150
Qualified Dividends: $3,600
Roth Conversion: $19,800
I think maybe we cannot contribute to an IRA because we did not have any earned income for 2020. So in that case I think we’ve done all we can short of tax gain harvesting which I should have done in December.
What additional fields would help?
As you inferred, you need earned income to make an IRA contribution. There is no relation between conversions and contributions – you can do both independently.
Will you be required to pay taxes in Japan? If so, you wouldn’t want to use the FEIE anyway – since Japan tax rates are higher than the US the Foreign Tax Credit is the better choice.
Jeremy, do you know if LTCG from real estate will push up my MAGI?
I’m going to be realizing a real estate LTCG this year of about 45,000 which will push MAGI above the limit for a deductible IRA if this cap gain is included for MAGI.
If so, should I recharacterize my traditional IRA contributions thus far for the year to Roth since they won’t be deductible?
Thanks for any input, I’m kind of freaking out about this.
If it was your personal residence that you lived in then no, that gain is excluded.
If not, then yes. You can recharacterize IRA contributions, it is easy.
Thanks a bunch for this work. So helpful to see this in a digestible format. would like to add my “vote” for a few sections: Foreign tax credit, child tax credit, child dependent care credit, foreign housing. Now I’m just getting greedy. I’d be willing to pay for something easy, quick, a few boxes like this. Again, thanks for this work.
I will add these to my list
Jeremy – HUGE FAN!
How come the standard deduction repeated 2x?
Adjusted Gross Income (AGI) is total income minus adjustments: $130,000 – $25,900 = $104,100.
In 2022 with a MFJ filing status, the Standard Deduction is $25,900. This brings taxable income to $78,200.
Of $130,000 in qualified income, $78,200 is taxable. Tax is $0, calculated via the Qualified Dividends and Capital Gain Tax Worksheet. The marginal rate is 0%.
Total tax = $0.
With AGI < $109,250 for MFJ, we can take steps to minimize future taxes.
Did you put $25,900 into the Adjustments field? Adjustments are the extra deductions above and beyond the standard deduction (student loan interest, etc…)
Leave that blank and you should get correct results.
Just to clarify, “Adjustments” would include any pre-tax deductions from my paycheck, which currently includes 401k, Healthcare premiums, Healthcare FSA and Dependent Care FSA, correct?
No, those are already subtracted from the income reported on your W2.
Adjustments are from Schedule 1 Part II, “Adjustments to Income”, and include things like student loan interest.
Ok, so if you are a W2 employee, then Ordinary Income in this calculator is Salary, Wages & Tips from my W2 + Interest + Dividends, Cap Gains, etc., correct?
From the Instructions above:
Ordinary Income: Job & self-employment income, interest, non-qualified dividends, short-term capital gains, taxable retirement income, etc… Put the sum of all ordinary income here.
Qualified Income: Qualified dividends and long-term capital gains.
Adjustments: Top of the line deductions – IRA contributions, student loan interest, 1/2 of self-employment taxes, etc…
Jeremy, I ran my numbers with our prepared taxes from our CPA for 2021. After adding in the child tax credits, child dependent care credits, and foreign tax credits, your calculator was only off by $240.00 dollars! Thank you for the great work on this. A few suggestions for users: Be sure to add into output your various credits, keeping in mind the foreign tax credit can’t be used for U.S.-based investment income. Add back in your child tax credit(s) ($2,000 per child) and remember to include the NIIT on the right side of the output Jeremy has provided. Thank you again for this “tool.”
Glad it works for you. I’m surprised it is off by $240.
Jeremy, I wanted to check in to see if you plan to update the calculator with new info for 2023? Thank you.
Ask and ye shall receive
Jeremy – Thanks for your years of blogging! It kept us motivated during our saving years. We’ve been retired for 3 1/2 years now and LOVE your tax calculator. We use it to estimate our quarterlies every year. Assuming you’ll be updating for 2023?? :)
THANK YOU SOOOOO MUCH!!
Hey there,love the calculator ,it’s been helpful while working on withdrawal strategies.
Just one question for you in regards to the ‘qualified income’ field and LTCG tax. What should be entered into the qualified income field, and what exactly counts towards the 0% tax bracket threshold of $89,250 (2023 MFJ) ?
For example, I have a long term asset with a cost basis of $50k and I sell for $110k, generating a LTCG of $60k. Is the qualified income field input 60 or 110? Also, do I pay $0 in LTCG tax from the $60k LTCG, or does the entire sale price count towards the threshold and I get taxed at 15% on $20,750 (110,000-89,250)?
Sorry for the long winded question/example, I’ve been in the accumulation phase for years now and haven’t had to sell any assets yet. This little thing is confusing me and I’m having trouble determining how much I can tax gain harvest per year.
You are taxed on GAINS only, and only gains are counted.
Qualified income is 60k. Total sale proceeds are irrelevant.