Is My State Tax Refund Taxable and Why?

For itemizers, it’s one of the stranger parts of the tax code. First you get to take a deduction of your state and local taxes, then all of a sudden the next year you get a 1099-G from your state and you’re paying taxes on your state and local tax refunds. What gives?

The bottom line is that, in general, the amount of state and local tax you deduct from your federal return is based on the total amount you paid to your state in estimated taxes and withholding rather than your actual state tax. So if you end up getting a state refund, you really ended up deducting more on your federal return than you should have.

There are times when your state and local tax refund is not taxable, though, and we’ll cover that first.


In general, if you didn’t deduct state and local income taxes last year, you don’t need to pay taxes on your refunds this year. For instance, if you didn’t itemize your deductions in 2006 (you took the standard deduction) then your state refund is tax free this year.

Also, if you deducted your sales tax and not your state income taxes on your 2006 Schedule A, your state refund is not taxable for 2007!

So that’s pretty easy. It gets more complicated when you actually do have to pay taxes on your state and local refunds. Why? Because sometimes your total refund is taxable and sometimes only part of you refund is taxable.  If all of the following statements are true, then your total state and local refund is taxable:

1)       In 2006, you had federal taxable income.

2)       The state and local refunds that you received (and were reported on your 1099-G) were equal to or less the state and local taxes that you deducted on your Schedule A in 2006.

For example, your 2006 state tax deduction was $1,000 and your refund is a $1,000 or less. In other words, you’re don’t have to pay taxes on refund money you didn’t deduct in 2006.

3)       Your 2006 itemized deductions exceeded your 2006 standard deduction by at least your refund received.

For example, your state refund was $1200, your 2006 standard deduction was $5,000 and your itemized deductions were more than $6,200

4)       Your 2006 itemized deductions were not limited. On your 2006 Schedule A, line 28, the “no” is checked indicating that your deductions were not limited.

5)       You did not pay any Alternative Minimum tax in 2006. Your 2006 Form 1040, Line 45 was blank.

6)       You paid all of your 2006 state tax payments in 2006.

You didn’t pay your 4th quarter 2006 state estimate payment in 2007. You also didn’t pay a 2006 state extension payment or a 2006 state balance due in 2007.

If all of the above are true, you’re paying tax on your total refund.

So what happens if any of the above statements are not true with your tax return?  Then TurboTax performs calculations to determine how much of that refund is taxable. 

If you are curious about these calculation and you are using the desktop TurboTax product, go to Select Forms (top tool bar in TurboTax), select Open Forms, scroll down to and highlight the State Tax Refund Worksheet and click Open.

Follow line by line down the State Tax Refund Worksheet and you’ll see how TurboTax determined the amount of your refund that is taxable. For help on a particular line item, right-click on the field and select “about line xx.”

For more information, see IRS Publication 525 under Miscellaneous Income, Recoveries.

Comments (11) Leave your comment

  1. I paid my Federal tax first, then the state tax and then the local tax. I overpaid the local tax by $50.00 and I got 1099-g in the mail from local tax. I don’t get it. I already paid on this by paying federal first since I am self employed and I use only standard deduction. Does this mean I still have to file and pay this 1099-g? If not, then what do I do with it?

  2. We paid AMT in 2012. We received a state tax refund in 2013 due to over payment of state tax in 2012. Is this refund taxable in 2013? Turbo tax says so but I beg for differ.

    Quote from Turbo tax blog:

    In general, if you didn’t deduct state and local income taxes last year, you don’t need to pay taxes on your refunds this year. For instance, if you didn’t itemize your deductions in 2006 (you took the standard deduction) then your state refund is tax free this year.

    http://blog.turbotax.intuit.com/2007/02/24/is-my-state-tax-refund-taxable-and-why/

    My reason is since we paid AMT in 2012, our state tax was not deductible, therefore the refund should not be taxed.

    Anyone can confirm my reasoning here? Thanks.

  3. I don’t understand why state tax refunds should be taxable. Here’s what happens:
    – In year 1, you OVERestimate the amount of taxes, so you give the IRS more money that you should. This money is already being taxed because it’s part of the reported income.
    – In year 2, you get back the portion you OVERpaid and that the IRS had in its possession and made use of.
    – Then, you get taxed on that refund which was money already taxed in year 1, and that you didn’t even get to have and use. You had to overpay because you get penalized if you underpay.
    Something is very very wrong here. To summarize:
    – If you overestimate tax payment, you get penalized (double taxed).
    – If you underestimate tax payment, you get penalized (actual fee).
    – There is no way to predict the EXACT amount of taxes due. If there is one, the IRS should tell us what it is.
    What’s a taxpayer to do? Why can’t they change these ridiculous tax codes to make them simpler and fairer? This makes the IRS look like crooks.

    • State tax refund is not from the IRS but from the State. If you itemized and deducted on Schedule A the amount of State Taxes that you had actually paid this year you have reduced your IRS taxable income by that amount.

      Now you are getting some of that State Taxes paid back in form of a refund from the state and gets reported to you on 1099-G form (State Income Tax Refund). This refund is always paid to you in a later year or two depending on how late you filed your State Return.

      The year in which you receive this refund, IRS is claiming that you had already reduced your IRS taxable income by part of the refund amount. So they basically want you to now report it as taxable income when received. This is not taxable by the State but only IRS.

      Most tax filing programs like Turbo Tax will automatically calculate the taxable portion if you enter the amount decalred on the 1099-G form.

    • This makes NO SENSE!

      I simply had “more” withheld—already paid taxes on this amount in 2012. Rather than have to pay in at the end of the year, i had it with-held at a higher rate so I wouldn’t have to pay in. Now, money that I have ALREADY BEEN TAXED ON IN 2012, I am being DOUBLE TAXED (have to pay taxes on it again in 2013)—that is wrong and that is corrupt on part of the government!

      How can I change that? I didn’t receive that as a “refund”–I legitimately paid in more than I should have–so I should not be taxed twice! The money that I received “back” in the form of a “refund” was money that I was paid in “extra”—not money that was given back as part of deductions, etc.

      What gives? And, HOW do I change that on Turbo tax?

      • you can always go in and manually change that figure to -0-. but the irs will probably send you a bill, because its reported on 1099-g

  4. I understand that the state refund is taxable, but the line underneath it, the Cca refund saying that I received 6000 dollars is beyond comprehension

  5. Hi Don, Check out the latest version of IRS Pub 525. The last paragraph on page 22 is an example that talks about making payments over two years for the same tax return…. hope this helps.

  6. Your tip applies to my 2009 return because some of my 2008 state tax was refunded. TT reduces my 1040 line 10 amount because some of my 2008 state tax payment was made in 2009. Is that kosher? Another tax program puts the full amount of the refund on line 10. I don’t see that IRS Pub 525 p. 23 allows a reduction because some payment was in 2009, but maybe I’m misreading it.

Leave your comment* = required field