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)
π Expert Insight
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.
π Compliance Note
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.
β Penalty Note
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:
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.
π Tax Year Implications
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 whβ¦
π Compliance Note
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β¦
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