IRS Form 1099-R Distribution Code H Meaning: Roth Rollover

Direct answer: irs form 1099-r distribution code h means a direct rollover of a distribution from a designated Roth account to a Roth IRA. The money moves straight from plan to Roth IRA, and it stays Roth. Do not use Code G for this move. Code G covers pre-tax rollovers, not a designated Roth account rollover to a Roth IRA.
Key Takeaways
- irs form 1099-r distribution code h = direct rollover from a designated Roth account to a Roth IRA.
- Roth stays Roth. The money keeps its Roth character when it moves to a Roth IRA.
- Do not use Code G for this move. The IRS says to use Code H, not Code G.
- A pre-tax plan rollover into a Roth IRA is still Code G, but it is a conversion, not Code H.
- In most cases, no tax is due at the time of a Roth-to-Roth rollover. Check Box 2a.
- On 2026 forms the code sits in Box 7a. On earlier forms it sat in Box 7.
irs form 1099-r distribution code h: Roth Rollover
Form 1099-R reports money paid out of pensions, annuities, retirement plans, and IRAs. The payer files it for distributions of $10 or more. Box 1 shows the gross amount. Box 2a shows the taxable amount. The distribution code tells the IRS what kind of payout it was.
The IRS Instructions for Forms 1099-R and 5498 define the code as: “H — Direct rollover of a designated Roth account distribution to a Roth IRA.” The instructions for Code G add the warning in plain terms: “Do not use code G for a direct rollover from a designated Roth account to a Roth IRA. Use code H.”
A designated Roth account is the Roth part of a workplace plan, such as a Roth 401(k) or Roth 403(b). You paid tax on those contributions when you earned them. Rolling that money into a Roth IRA keeps it in the Roth system. That is why the code matters. It tells the IRS the money did not change character on the way out.
Why Code H Usually Means No Tax Now
When Roth money moves to another Roth account, nothing has left the Roth system. The tax was already paid on the contributions. The rollover itself does not create new income in most cases. That is why Box 2a is usually zero, or small, for a clean Code H rollover.
Box 1 still shows the full amount that moved. Box 2a shows the taxable part now. Do not confuse the two. A large Box 1 with a zero Box 2a is normal for a Roth-to-Roth rollover. It does not mean you owe tax on the full amount.
Keep records of the rollover anyway. Keep the 1099-R, the Roth IRA statement showing the deposit, and any record of your first Roth contribution year. Later, when you take money out of the Roth IRA, those records help show whether a distribution is qualified. A qualified Roth distribution is tax-free, but only if the holding-period and age or other conditions are met.
Code H vs. Code G: The Roth Account Trap
Code H and Code G look alike, and mixing them up is a common error. The source account decides which code fits, not the destination alone.
Use Code H when the source is a designated Roth account and the destination is a Roth IRA. That is a Roth-to-Roth move. Use Code G when the source is a pre-tax qualified plan, a section 403(b) plan, or a governmental section 457(b) plan. That covers rollovers to another pre-tax plan or IRA, and also pre-tax rollovers into a Roth IRA as a conversion.
The conversion case is the trap in the other direction. A pre-tax plan rollover into a Roth IRA is still Code G. It is not Code H, because the source was not a designated Roth account. The taxable part in Box 2a becomes income in the year of the conversion, even though the code is G. The code tells the IRS how the money moved. Box 2a tells the IRS how much is taxable.
If your 1099-R shows Code G but the money came from a designated Roth account and went to a Roth IRA, ask the payer about a corrected form. If it shows Code H, the Roth-to-Roth character is preserved on the record.
Code H vs. Other 1099-R Distribution Codes
Code H is only one code in a longer list. The nearest neighbours are the ones readers confuse it with:
| Code | Meaning | When it appears |
|---|---|---|
| H | Direct rollover of a designated Roth account | Designated Roth account money moves to a Roth IRA |
| G | Direct rollover | Pre-tax plan money moves to another plan or IRA, or to a Roth IRA as a conversion |
| 7 | Normal distribution | At age 59½ or older, or when no other code applies |
| 1 | Early distribution, no known exception | Under 59½ with no exception the payer knows about |
| 4 | Death | Payment to a beneficiary, estate, or trust after death |
| 8 | Excess contributions plus earnings | Corrective refund taxable in the year of distribution |
A Code H payment is not a cash payout to you. If you received the money yourself, the code should not be H. A direct rollover moves trustee-to-trustee, without you holding the money as spendable cash. That direct path is what H and G share. The source account is what sets them apart.
For the pre-tax rollover, see IRS Form 1099-R Distribution Code G Meaning: Direct Rollover. For the death case, see IRS Form 1099-R Distribution Code 4 Meaning: Death Benefit. For the excess case, see IRS Form 1099-R Distribution Code 8 Meaning: Excess Contributions.
| Check this | What it tells you |
|---|---|
| Was the source a designated Roth account? | Yes, and the destination is a Roth IRA, then Code H fits. If not, look at Code G. |
| Did you ever hold the money? | If not, a direct rollover fits. If you held it, look for Code 1 or Code 7 instead. |
| Is Box 2a zero? | Zero fits a clean Roth-to-Roth rollover. A conversion from pre-tax money shows a taxable amount. |
| Is there a second code? | 4H means a death payment from a designated Roth account rolled to a Roth IRA. |
How to Report a Code H Rollover
Work through the boxes in order:
- Box 1, gross distribution. This is the total amount that moved to the Roth IRA.
- Box 2a, taxable amount. Usually zero for a clean Roth-to-Roth rollover. Report any amount shown.
- Box 4, federal income tax withheld. A direct rollover usually has no withholding. If tax was withheld, ask why.
- Box 7a (2026) or Box 7 (earlier years), distribution code. Code H confirms a designated Roth to Roth IRA rollover.
Report the 1099-R on your return even when Box 2a is zero. Leaving it off can trigger a notice proposing tax on the full Box 1 amount. The IRS receives its own copy, and a missing form looks like unreported income.
The Roth contributions in a workplace plan first showed up on a W-2. For the Roth 401(k) version, see IRS W-2 Box 12 Code AA Meaning: Roth 401(k) Contributions. For the pre-tax version, see IRS W-2 Box 12 Code D Meaning: 401(k) Elective Deferrals. For every W-2 code in one place, see W-2 Box 12 Codes Explained: Complete Guide.
What To Do When You See Code H
Follow these steps, in order:
- Confirm the money went straight to a Roth IRA. If you held it, Code H may be wrong.
- Confirm the source was a designated Roth account. A pre-tax source points to Code G, not Code H.
- Check Box 2a against your records. Zero fits a clean Roth-to-Roth rollover.
- Report the form even when Box 2a is zero. Do not skip it because no tax is due.
- Check your wage and income transcript if anything looks off. Pull it through the IRS Get Transcript tool and compare the figures to your 1099-R. If you are unsure how to read it, use How to Read an IRS Account Transcript: Step-by-Step Guide.
- Keep the 1099-R with your tax records. The IRS receives its own copy, and a mismatch can trigger a notice.
Once your return is filed, you can follow Tax Refund Status to track any refund. Any refund the IRS issues posts to your transcript as IRS Code 846: Refund Issued.
The official code list is in the IRS Instructions for Forms 1099-R and 5498. The W-2 code list is in the IRS General Instructions for Forms W-2 and W-3.
Related Guides
- IRS Transcript Codes: Complete List and Meanings
- IRS Form 1099-R Distribution Code G Meaning: Direct Rollover
- IRS Form 1099-R Distribution Code 4 Meaning: Death Benefit
- IRS Form 1099-R Distribution Code 8 Meaning: Excess Contributions
FAQ
What does irs form 1099-r distribution code h mean?
It means a direct rollover of a distribution from a designated Roth account to a Roth IRA. The money stays Roth on the way to the Roth IRA.
What is the difference between Code H and Code G?
Code H is for a designated Roth account rollover to a Roth IRA. Code G is for a pre-tax plan rollover, including a pre-tax rollover into a Roth IRA as a conversion. Do not use Code G for a Roth-to-Roth rollover.
Is a Code H rollover taxable?
In most cases, no tax is due at the time of a clean Roth-to-Roth rollover. Check Box 2a. If it shows a taxable amount, report that amount.
Do I need to report a Code H 1099-R if Box 2a is zero?
Yes. Report the form even when no tax is due. Leaving it off can trigger a notice proposing tax on the full amount in Box 1.
Where is Code H on a 2026 Form 1099-R?
In Box 7a. The 2026 forms renumbered the old Box 7 to Box 7a. On earlier forms, the code sits in Box 7.
Can Code H appear with another code?
Yes. Code H can pair with Code 4, as 4H, for a death payment from a designated Roth account that is rolled over to a Roth IRA. Read both codes together.
Disclaimer: This post is general information only and is not tax advice. Every tax situation is different. For advice about your own 1099-R, consult a qualified tax professional or contact the IRS directly.