What Does 1099-R Code H Mean? Roth Rollover Explained
1Official IRS Definition of Distribution Code H
Direct rollover from a designated Roth account to a Roth IRA.
Form Profile β Distribution Code H
- IRS Location
- Form 1099-R, Box 7 (Distribution Code)
- Issued By
- The employer plan administrator where the designated Roth account is held β the sending institution
- Governing IRC
- IRC Section 402A (treatment of elective deferrals as Roth contributions); IRC Section 402(c) (eligible rollover distributions)
- Rollover Code
- Yes β non-taxable transfer
- Taxable by Default
- No
- Official Description
- Direct rollover from a designated Roth account to a Roth IRA.
Regulatory Authority
The most significant Code H error is rolling a Roth 401(k) to a traditional IRA instead of a Roth IRA. This is irreversible since 2018 (recharacterization was eliminated by the TCJA). If a Roth 401(k) is inadvertently rolled into a traditional IRA, the after-tax basis must be tracked on Form 8606, but the permanent tax-free growth advantage of the Roth account is destroyed. Always verify the receiving account type says 'ROTH IRA' before providing FBO instructions to the employer plan.
- π IRS Publication 575 (Pension and Annuity Income) β designated Roth account rollover section
- π IRS Instructions for Forms 1099-R and 5498 β Code H definition
- β IRC Section 402A (designated Roth contributions)
- π Form 1040 Lines 5a and 5b
- π IRS Notice 2026-13 (Safe Harbor β SECURE 2.0 penalty exceptions)
The 5-year holding period interaction between a Code H rollover and the receiving Roth IRA is the most misunderstood aspect of this code. Many participants believe the rollover 'resets' the 5-year clock β it does not. The clock is determined by the earliest year a contribution was made to any Roth IRA. A participant who opened a Roth IRA in 2015 and now rolls a Roth 401(k) in 2026 has a Roth IRA that satisfied the 5-year requirement in 2020. The Code H rollover adds assets to an already-qualified account β no new clock starts. This distinction is critical for participants who want to access Roth IRA funds before age 59Β½.
2When Distribution Code H Appears on Your 1099-R
This code is issued when:
This code does NOT appear for:
Most Common Source Plans
- Roth 401(k) β increasingly common as employers have added Roth contribution options
- Roth 403(b) β available at many hospitals, universities, and nonprofits
- Roth TSP β available to federal employees and military members since 2012
3Tax Treatment of Distribution Code H
Tax Summary
- Federal Income Tax
- None owed
- Box 2a (Taxable Amount)
- $0 β the assets were already contributed on an after-tax basis and have grown tax-free. The direct rollover to a Roth IRA preserves this tax-free status permanently.
- State Income Tax
- No β Code H distributions are non-taxable at both federal and state levels. The assets were already taxed at contribution.
- 10% Penalty
- Does not apply
- Withholding (Box 4)
- $0 β direct rollovers from designated Roth accounts to Roth IRAs are not subject to withholding. The funds move institution-to-institution without passing through the participant's hands.
- Tax Deferral
- N/A β Roth accounts are post-tax, not tax-deferred. The Code H rollover preserves the permanent tax-free status of the assets. Future qualified distributions from the Roth IRA will be completely tax-free.
The most significant Code H error is rolling a Roth 401(k) to a traditional IRA instead of a Roth IRA. This is irreversible since 2018 (recharacterization was eliminated by the TCJA). If a Roth 401(k) is inadvertently rolled into a traditional IRA, the after-tax basis must be tracked on Form 8606, but the permanent tax-free growth advantage of the Roth account is destroyed. Always verify the receiving account type says 'ROTH IRA' before providing FBO instructions to the employer plan.
There is no early withdrawal penalty on a Code H distribution regardless of the account holder's age. The Roth 401(k) assets were contributed after-tax β the penalty mechanism applies to taxable distributions, not to the return of already-taxed principal moved between compatible accounts.
4How to Report Distribution Code H on Form 1040
The IRS separates 1099-R income into two distinct line pairs on Form 1040. Reporting on the wrong pair triggers an AUR CP2000 notice even if your total tax is mathematically correct.
| Source Account Type | Form 1040 Lines | Box 7 IRA Checkbox | Category Label |
|---|---|---|---|
| Traditional IRA Β· Roth IRA Β· SEP IRA Β· SIMPLE IRA | Lines 4a / 4b | β Checked | IRA Distributions |
| 401(k) Β· 403(b) Β· 457(b) Β· TSP Β· Pension Plans | Lines 5a / 5b | β Not Checked | Pensions & Annuities |
Follow these steps to correctly report Distribution Code H on Form 1040:
Locate Lines 5a / 5b (Pensions and Annuities) on Form 1040
Line 5a = Total pension/annuity distribution (Box 1 of your 1099-R). Line 5b = Taxable amount. These lines are exclusively for employer plans. Do not use Lines 4a/4b.
Enter Gross Amount on Line 5a
Enter the Box 1 amount from your Form 1099-R on Line 5a β always required, even for non-taxable distributions. Omitting this line while omitting the 1099-R entirely is what triggers AUR automated matching.
Line 5b β Taxable Amount
Enter $0 on Line 5b. The distribution is non-taxable. You must still complete Line 5a with the gross amount.
Write 'ROLLOVER' Next to Line 5b
Write the word ROLLOVER on the dotted line adjacent to Line 5b. This annotation closes the IRS AUR matching inquiry for the non-taxable rollover. Without it, the IRS computer sees a distribution with $0 taxable and may still issue a CP2000 notice.
5How Distribution Code H Behaves by Account Type
The meaning and implications of Distribution Code H vary depending on the source retirement account. Review the entry for your specific plan type.
401(k)
Code H appears when a Roth 401(k) balance is rolled directly to a Roth IRA. This is distinct from the traditional 401(k) balance (which uses Code G). Many 401(k) plans now offer both traditional and Roth accounts β participants may receive two separate 1099-Rs: one Code G (traditional) and one Code H (Roth).
403(b)
Roth 403(b) rollovers to a Roth IRA use Code H. This is relatively common among educators and healthcare workers who have contributed to Roth 403(b) accounts and are now consolidating into a Roth IRA at retirement.
457(b)
Roth 457(b) governmental plan rollovers to a Roth IRA use Code H. Non-governmental Roth 457(b) rollovers are more restricted.
TSP
The TSP has offered a Roth option since 2012. Federal employees and military members rolling Roth TSP balances to a Roth IRA receive Code H. The TSP issues separate 1099-Rs for traditional and Roth balances.
Traditional IRA
Code H does not apply to traditional IRA transactions. Traditional IRA conversions to Roth use Code 2 or Code 7.
Roth IRA
Roth IRA to Roth IRA trustee transfers generate no Form 1099-R at all β Code H only appears when rolling FROM a designated Roth account in an employer plan TO a Roth IRA.
SEP IRA
Code H does not apply to SEP IRA transactions.
SIMPLE IRA
Code H does not apply to SIMPLE IRA transactions.
Pension Plan
Code H does not apply to pension plans β pension lump sums are pre-tax and use Code G when rolled to a traditional IRA.
6Real-World Scenarios β Distribution Code H
Roth 401(k) Rollover at Retirement
David, age 62, retires with $145,000 in his Roth 401(k) accumulated over 12 years. He opened a Roth IRA in 2016. He rolls the Roth 401(k) directly to his Roth IRA. Code H Form 1099-R: Box 1 = $145,000; Box 2a = $0; Box 7 = H. On his return: Line 5a = $145,000; Line 5b = $0; 'ROLLOVER.' Tax owed: $0. 5-year clock: already satisfied (Roth IRA opened 2016, clock expired 2021). All future qualified distributions from the $145,000 and its growth are permanently tax-free.
Roth TSP Rollover β Federal Employee Retirement
Helen, a federal employee age 57, retires and has $89,000 in her Roth TSP. She has a Roth IRA she opened in 2018. The FRTIB issues a Code H 1099-R for the Roth TSP balance. The 5-year clock for her Roth IRA started January 1, 2018 β it expired January 1, 2023. Since she opened the Roth IRA before the rollover, she does not need to wait 5 more years after the rollover for qualified distributions. Her Code H rollover is non-taxable and the Roth IRA's prior 5-year period controls.
Code H vs. Code G β Same Employer, Two 1099-Rs
Kevin, age 60, retires with $320,000 in his 401(k): $210,000 in the traditional pre-tax account and $110,000 in the Roth account. He rolls both to their respective IRAs. He receives two 1099-Rs: (1) Code G β $210,000 to traditional IRA, non-taxable; (2) Code H β $110,000 to Roth IRA, non-taxable. He reports both on Form 1040 Lines 5a and 5b with $0 taxable and 'ROLLOVER' for each. Total taxes on both rollovers: $0.
7Expert Analysis
Code H is the Roth IRA's entry point for workplace Roth savings β the mechanism that allows 30 years of Roth 401(k) contributions and tax-free growth to migrate seamlessly into a Roth IRA without any taxable event. Its significance has grown substantially as Roth 401(k) options have proliferated in employer plans: as of 2026, a majority of 401(k) plans offer a Roth contribution option, and the cohort of employees with significant Roth 401(k) balances is now reaching retirement age. For these participants, understanding Code H is understanding how their decades of after-tax workplace savings transfer permanently into the no-RMD, tax-free Roth IRA structure.
The Code H cohort is primarily workers currently in the 55β68 age range who began contributing to Roth 401(k) plans when they first became widely available (early-to-mid 2000s) and are now rolling those balances into Roth IRAs at retirement. For this group, the Roth IRA rollover eliminates future RMDs on workplace Roth savings β a significant estate planning advantage. The assets that were contributed after-tax in a Roth 401(k) can now compound indefinitely in a Roth IRA without the forced distribution obligations that apply to the traditional 401(k) balance.
The 5-year holding period interaction between a Code H rollover and the receiving Roth IRA is the most misunderstood aspect of this code. Many participants believe the rollover 'resets' the 5-year clock β it does not. The clock is determined by the earliest year a contribution was made to any Roth IRA. A participant who opened a Roth IRA in 2015 and now rolls a Roth 401(k) in 2026 has a Roth IRA that satisfied the 5-year requirement in 2020. The Code H rollover adds assets to an already-qualified account β no new clock starts. This distinction is critical for participants who want to access Roth IRA funds before age 59Β½.
The most significant Code H error is rolling a Roth 401(k) to a traditional IRA instead of a Roth IRA. This is irreversible since 2018 (recharacterization was eliminated by the TCJA). If a Roth 401(k) is inadvertently rolled into a traditional IRA, the after-tax basis must be tracked on Form 8606, but the permanent tax-free growth advantage of the Roth account is destroyed. Always verify the receiving account type says 'ROTH IRA' before providing FBO instructions to the employer plan.
8Common Mistakes with Distribution Code H
Rolling a Roth 401(k) to a traditional IRA instead of a Roth IRA
This is the most costly Code H error β and it is permanent. A Roth 401(k) must roll to a Roth IRA to preserve its tax-free character. If it is rolled into a traditional IRA, the after-tax basis exists but the permanent tax-free growth status is lost forever (recharacterization was eliminated in 2018). The Form 1099-R would show Code H, but the receiving account would be coded as traditional β creating a Form 8606 basis tracking situation where the tax-free future is permanently gone.
Assuming the Code H rollover starts a new 5-year clock in the Roth IRA
The 5-year holding period for qualified Roth IRA distributions is determined by the year the Roth IRA was FIRST established β not the year of any subsequent rollover. A participant who opens their first Roth IRA specifically to receive a Code H rollover starts the clock in the rollover year. But if they already had a Roth IRA, the earlier date controls. Waiting 5 additional years after a Code H rollover when the Roth IRA was opened years earlier is unnecessary and delays access to tax-free funds.
Treating the Code H 1099-R as proof that no tax return reporting is needed
Code H is non-taxable, but it must still be reported on Form 1040. The gross rollover amount goes on Line 5a, $0 on Line 5b, with 'ROLLOVER' written next to it. Omitting the Code H 1099-R from the return creates an AUR match issue just as an omitted Code G would. The IRS receives Copy A and will flag the discrepancy.
9Frequently Asked Questions
What is the difference between Code G and Code H on a Form 1099-R?
Code G is for direct rollovers from pre-tax accounts (traditional 401k, TSP, 403b) to a traditional IRA or qualified plan β both the source and destination are pre-tax. Code H is for direct rollovers from designated Roth accounts (Roth 401k, Roth 403b, Roth TSP) to a Roth IRA β both the source and destination are post-tax. Both codes indicate a non-taxable direct rollover, but they apply to the two different tax characters of retirement accounts.
Does a Code H rollover reset my Roth IRA's 5-year holding period?
No β the 5-year holding period for qualified Roth IRA distributions is determined by the year you first contributed to ANY Roth IRA, not by the year of a rollover. If you opened a Roth IRA in 2018, your 5-year period was satisfied in 2023, and a Code H rollover in 2026 does not restart that clock. Your Roth IRA continues to be 'seasoned' from 2018 regardless of when the rollover occurred.
I received a Code H 1099-R β do I need to do anything special on my tax return?
Report it on Form 1040 Lines 5a and 5b: enter the gross amount from Box 1 on Line 5a, enter $0 on Line 5b, and write 'ROLLOVER' on the dotted line next to Line 5b. No additional forms (Form 8606 or Form 5329) are required for a straightforward Roth-to-Roth Code H rollover. The tax owed is $0.
Do I need to report Distribution Code H even if no tax is owed?
Yes β Failing to report a Code H 1099-R creates the same AUR matching problem as any unreported 1099-R. The gross amount in Box 1 would be proposed as additional income. Additionally, mistakenly reporting the Roth rollover as taxable income is an error that requires an amended return (Form 1040-X) to correct.
10All 1099-R Distribution Codes Compared
| Code | Meaning | Taxable? | Penalty? | Rollover? |
|---|---|---|---|---|
| Code G | Direct rollover of a distribution to a qualified plan, a section 403(b) plan, a governmental section 457(b) plan, or an IRA. | β No | None | Direct |
| Code 7 | Normal distribution. The payer knows that the payee is at least age 59Β½. | β Yes | None | No |
| Code H β You are here | Direct rollover from a designated Roth account to a Roth IRA. | β No | None | Direct |
| Code 1 | Early distribution, no known exception (in most cases, under age 59Β½). | β Yes | β 10% | No |
| Code 2 | Early distribution, exception applies (under age 59Β½). Distribution is subject to the tax, but there is an exception to the additional 10% tax. | β Yes | None | No |
Other Distribution Code Guides