Learn · Roth Conversions

Roth conversion 1099-R: the Box 7 codes, explained

For a straightforward traditional-IRA-to-Roth conversion, Box 7 should show code 2 if you were under 59½ and code 7 if you were 59½ or older. Box 1 shows the gross amount, box 2a usually repeats it, and box 2b — taxable amount not determined — is normally ticked as well.

By Casmir Mason — family-office CFO
Updated August 2026 · 2026 tax year
Educational — not tax advice
The short version

The 1099-R code for a Roth conversion is 2 or 7, and the only thing that decides between them is your age on the date of the distribution — not the tax you owe. Code 2 says "early distribution, exception applies", which stops the 10% additional tax; it does not make the conversion tax-free. Code G covers conversions that happen inside a workplace plan and pre-tax plan money rolled directly to a Roth IRA. Code H is a designated Roth 401(k) moving to a Roth IRA and is not taxable. Codes N and R are recharacterizations, which have been unavailable for conversions since 2018. The form does not compute your tax: box 2b is normally ticked, so the real number comes from Form 8606 Part II, and it is your job — or your software's — to produce it.

What a 1099-R actually is

Form 1099-R is an information return, not a tax calculation. A custodian or plan administrator must file one for each person to whom it made a distribution of $10 or more from an IRA, pension, annuity or insurance contract (IRS — About Form 1099-R). You get a copy in January; the IRS gets a matching copy. Everything the IRS then assumes about the transaction comes from the dollar boxes and the distribution code in box 7.

The IRS is unusually blunt about why the code matters: it warns filers that if the codes they enter are incorrect, it "may improperly propose changes to the recipient's taxes" (Instructions for Forms 1099-R and 5498). That is the whole reason this page exists — a mis-keyed letter produces a notice eighteen months later.

A numbering change worth knowing about. On the 2026 Form 1099-R — the one you will receive in early 2027 — the IRS renumbered box 7 and the IRA/SEP/SIMPLE tick box to boxes 7a and 7b, and added boxes 7c and 7d. The codes themselves are unchanged. Everything on this page called "box 7" is "box 7a" on that revision.

The Box 7 code table

Below are the codes that appear on conversion-related moves and the mistake each one tends to produce, drawn from Table 1 of the IRS instructions. A maximum of two alphanumeric codes can appear in the box, so pairs such as "4G" are normal.

Box 7 distribution codes you may see on a Roth conversion or a related move
CodeWhat it meansWhen it shows up on a conversion-related moveWhat to watch for
1Early distribution, no known exception. Used when the participant had not reached 59½ and the custodian does not know that an exception applies.Should not appear on the converted amount. It legitimately appears on tax withheld from a conversion, and on any part of the distribution that never reached the Roth IRA.Code 1 on money you actually converted is the classic wrong code. Ask for a correction before you file.
2Early distribution, exception applies. The IRS instructions list "a Roth IRA conversion (an IRA converted to a Roth IRA)" first among the qualifying situations.The normal code for an IRA-to-Roth conversion by someone under 59½.Code 2 stops the 10% additional tax, not the income tax. The conversion is still ordinary income.
7Normal distribution. Used for a distribution at 59½ or older, and expressly "for a Roth IRA conversion if the participant is at least age 59½".The normal code for an IRA-to-Roth conversion at 59½ or older.Code 7 is never used for a distribution from a Roth IRA. Seeing it there means the wrong account was coded.
GDirect rollover — money moved trustee to trustee, or plan to plan, without passing through your hands.An in-plan Roth conversion (401(k), 403(b) or governmental 457(b) pre-tax money to a designated Roth account in the same plan), and a direct rollover of pre-tax plan money to a Roth IRA.Box 2a is the tell. Zero means a non-taxable rollover; a real number means you converted and owe tax on it.
HDirect rollover of a designated Roth account distribution to a Roth IRA. Box 1 carries the amount, box 2a carries zero.Moving a Roth 401(k) balance to a Roth IRA after leaving an employer.This is not a conversion and creates no income. If box 2a is not zero, query it.
NRecharacterized IRA contribution made and recharacterized in the same year. Box 1 is the fair market value moved; box 2a is zero.Undoing a contribution — for example a Roth IRA contribution switched to traditional after an income surprise.Cannot apply to a conversion. If N appears against a conversion, something has been misclassified.
RRecharacterized IRA contribution made for a prior year and recharacterized in the current one. Box 1 is FMV; box 2a is zero.A prior-year contribution recharacterized before the filing deadline. The form arrives a year after the event it describes.Code R changes nothing on the return you are filing. It belongs to the earlier year, with an explanatory statement.
J, T, QDistributions from a Roth IRA: J early, T where an exception applies but the five-year period is unverified, Q qualified.Taking money back out of the Roth IRA — including conversion dollars withdrawn before their own five-year clock has run.These drive the conversion five-year rule and Form 8606 Part III, not Part II.
IRA/SEP/SIMPLE tick (box 7b from 2026)Not a code — a tick box. It is marked when the distribution came from a traditional, SEP or SIMPLE IRA, or a Roth SIMPLE IRA.Ticked on the 1099-R for an IRA-to-Roth conversion, because the money left a traditional IRA.Not ticked for a Roth IRA that is not a Roth SIMPLE IRA, and not required for a recharacterization. An unticked box on a conversion will send your software down the wrong path.

Source: IRS, Instructions for Forms 1099-R and 5498, Table 1 — Guide to Distribution Codes and the box 7 instructions. The "what to watch for" column is practitioner commentary, not a statutory list.

Code 2 vs code 7: age, not tax

The commonest misreading of a conversion 1099-R is that the code says something about whether the conversion is taxable. It does not. The IRS instruction to custodians is one sentence: report the converted amount in boxes 1 and 2a, tick box 2b, and "enter code 2 or 7 in box 7 depending on the participant's age". Under 59½ on the distribution date, code 2. At or over, code 7. Nothing else moves the needle.

What code 2 buys you is relief from the 10% additional tax under section 72(t). A conversion is not a distribution you keep, so the early-withdrawal penalty was never meant to apply to it, and code 2 signals that without your having to file anything. It is the same code used for separation from service at 55 or later, substantially equal periodic payments and IRS levies — all of it about penalty, not income tax.

The income tax is separate and unaffected. Convert $60,000 of fully pre-tax IRA money at 52, and box 7 says 2 while $60,000 still lands in your taxable income. What matters for the year is what that does to your marginal bracket, your capital-gains stacking and your Medicare premiums two years out — which the conversion calculator prices and the Roth conversion guide covers in full.

Boxes 1, 2a, 2b and the IRA/SEP/SIMPLE tick

Four boxes carry the story, and one of them is deliberately unreliable.

  • Box 1, gross distribution. The full amount that left the traditional IRA, including anything withheld for tax — not necessarily what arrived in your Roth IRA.
  • Box 2a, taxable amount. On a conversion the custodian normally repeats box 1, because it cannot know whether you hold basis from nondeductible contributions.
  • Box 2b, taxable amount not determined. The IRS specifically directs custodians to tick this on a conversion. It is the form saying "do not trust box 2a — the taxpayer has to work this out." If you hold nondeductible basis, box 2a is overstated.
  • The IRA/SEP/SIMPLE tick. Marked because the money came out of a traditional IRA. This is the flag that routes the transaction to Form 8606 Part II rather than to the pension lines.

The receiving Roth IRA closes the loop: it files Form 5498 and reports the amount in box 3, "Roth IRA conversion amount". That is how the IRS matches the two halves, so if your 8606 disagrees with the 5498, expect correspondence.

Codes G and H: plan money moving to Roth

Once a workplace plan is involved, codes 2 and 7 drop away and the letters take over.

Code G on a taxable conversion. When pre-tax money in a 401(k), 403(b) or governmental 457(b) plan moves into a designated Roth account inside the same plan, the IRS tells the administrator to report the amount in box 1, the taxable amount in box 2a, any basis in box 5, and code G in box 7. The same code covers a direct rollover of pre-tax plan money straight into a Roth IRA. In both cases box 2a is a real, taxable number even though the code says "rollover" — the mechanics are in the in-plan Roth conversion guide.

Code G on a non-event. The same letter covers a plain plan-to-traditional-IRA rollover, where box 2a is zero and nothing is owed. Code G alone tells you nothing about tax — only box 2a does.

Code H. A direct rollover from a designated Roth account to a Roth IRA gets code H, with the amount in box 1 and zero in box 2a. This is Roth money staying Roth: not a conversion, no income, and it never touches Form 8606. It does matter for timing, because the receiving Roth IRA's own five-year clock governs from then on.

One consequence follows. An IRA-to-Roth conversion lands on Form 1040 lines 4a and 4b; a code G or code H move from a plan lands on lines 5a and 5b, the pensions and annuities lines, and never goes through Form 8606 Part II.

Codes N and R: recharacterizations

Codes N and R report a recharacterization: a trustee-to-trustee transfer that retroactively treats a contribution as though it had been made to the other type of IRA all along. The custodian enters the fair market value moved in box 1, zero in box 2a, and either code N, if the contribution was made and recharacterized in the same year, or code R, if a prior-year contribution was recharacterized in the current one. The IRA/SEP/SIMPLE box need not be ticked.

What matters most is what these codes cannot do. A conversion to a Roth IRA made in a tax year beginning after 31 December 2017 cannot be recharacterized. The undo button was removed by the 2017 Act and has not come back: contributions can still be recharacterized, conversions cannot. If a code N or R form has arrived and you believed it reversed a conversion, read the recharacterization guide before filing.

Code R has its own trap. Because it describes a prior-year contribution, it arrives after that year's return is usually filed. The recharacterization belongs to the earlier year with an explanatory statement; entering code R on the current return changes nothing, which is correct and alarms people every spring.

1099-R → Form 8606 → 1040 lines 4a/4b

Here is the path a conversion takes across three documents. Every wrong-taxable-amount problem in the next two sections happens somewhere on it.

Where a conversion appears, in order
StepWhat goes thereWho produces it
Form 1099-R, boxes 1, 2a, 2b, 7Gross amount out of the traditional IRA, code 2 or 7, "taxable amount not determined" tickedThe sending custodian, in January
Form 5498, box 3The conversion amount received by the Roth IRAThe receiving custodian, by 31 May
Form 8606 Part I, lines 1–11Your nondeductible basis and the pro-rata calculation, if you have any basis at allYou
Form 8606 Part II, lines 16–18Line 16 the net amount converted, line 17 the nontaxable basis portion, line 18 the taxable amountYou
Form 1040, lines 4a and 4b4a the gross IRA distribution, 4b the taxable amount from 8606 line 18You

Source: IRS — About Form 8606, Nondeductible IRAs. Part II is headed "Conversions From Traditional IRAs to Roth IRAs" and its line 18 instruction points directly at Form 1040 line 4b.

Two features of that chain do the damage. First, line 16 asks for the net amount you converted, not box 1 of the 1099-R — those differ whenever tax was withheld. Second, skip Part I because you think you have no basis and line 17 is zero, making the whole conversion taxable: correct for most people, catastrophic for a backdoor Roth.

The withholding trap

This is the most expensive avoidable error in the whole subject, and the 1099-R is where it surfaces.

Money withheld for tax on a conversion is not converted. Convert $50,000 with 20% federal withholding and $40,000 reaches the Roth IRA while $10,000 goes to the Treasury. That $10,000 is a distribution you took, not a conversion: taxable, permanently outside the Roth, and if you were under 59½ generally an early distribution carrying the 10% additional tax unless you replace it from other cash within 60 days.

Custodian practice varies. Some issue one 1099-R for the full $50,000 with code 2 and the $10,000 in box 4; others split it and put the withheld portion on a second form with code 1. The paperwork differs; the tax result does not. On Form 8606 line 16 you report the $40,000 actually converted; the withheld $10,000 is an ordinary taxable IRA distribution, with the 10% computed on Form 5329 if no exception fits.

The fix costs nothing: elect 0% withholding on Form W-4R and pay the tax from taxable savings, adjusting an estimated payment or your salary withholding to cover it. Paying conversion tax from outside the account is what makes the arithmetic work at all, and it is the largest single lever in conversion planning. If you did withhold and are under 59½, the 60-day window to replace the money is real but unforgiving — one such rollover per 12 months across all your IRAs.

If the code looks wrong

First rule out the three cases that look wrong and are not: two 1099-Rs for one conversion (a partial conversion, or a split withholding form); an unexpected code because you crossed 59½ mid-year; and box 2a equal to box 1 when you hold basis, which is what box 2b is warning you about. If it is genuinely wrong — code 1 on money that reached the Roth IRA, an unticked IRA/SEP/SIMPLE box on an IRA conversion — work in this order.

  1. Ask the issuer for a corrected Form 1099-R. This is the only route that changes what the IRS holds: the custodian files a corrected form and sends you a copy marked CORRECTED. Do it before 15 April if you can — far cheaper than an amended return.
  2. Put the request in writing with the transaction date, the receiving Roth IRA account number, the confirmation that the money landed in a Roth, and the code you believe applies. Vague complaints get closed; a cited transaction gets escalated.
  3. If the custodian will not correct it, report the transaction correctly and explain. Where the issue is the penalty rather than the income — the classic being code 1 where an exception applies — the mechanism is Form 5329, on which you claim the exception yourself, plus a brief statement of the facts.
  4. Never simply overwrite the figures in your software and file. The IRS holds the original form, and an unexplained contradiction is what generates the automated notice.
  5. Keep the evidence — the conversion confirmation, the Form 5498 box 3 amount, and every 8606 you have filed — for as long as the Roth IRA exists.

When the taxable amount looks wrong in your software

Almost every "my conversion is being taxed twice" question is a data-entry sequence problem rather than a wrong 1099-R. Consumer tax software takes box 2a at face value unless you complete a second interview it does not force you to find. The pattern is the same in TurboTax, FreeTaxUSA and the rest, and each season's screens differ, so work from the logic rather than a screenshot.

  • Enter the contribution before the 1099-R. Record a nondeductible traditional IRA contribution in the contributions section first and confirm you are treating it as nondeductible. Entering the 1099-R first often leaves basis at zero and taxes the whole conversion.
  • Answer the follow-up question precisely. After the 1099-R, the software asks what you did with the money. The answer is that you converted it to a Roth IRA — not "rolled it over", which is a different, non-taxable path and will silently zero out line 4b.
  • Enter your prior basis. A screen asks for total basis in traditional IRAs as of 31 December of the previous year; it comes from line 14 of your last filed Form 8606. Skipping it is the commonest cause of an overstated taxable amount.
  • Enter the 31 December value of all traditional, SEP and SIMPLE IRAs. That figure drives the pro-rata fraction on 8606 line 6. Leave a rollover IRA out and the software reports too little tax, which is the worse error.
  • Then read the actual Form 8606 in the print preview. Check line 16 against what you converted, line 17 against your basis, and line 18 against 1040 line 4b. If line 18 does not equal 4b, something upstream is wrong.

Backdoor Roth: the Form 8606 note

The backdoor Roth is where the 1099-R and Form 8606 must agree most precisely, because the intended result is a conversion taxable in name only. Done cleanly, Part I produces basis roughly equal to the nondeductible contribution, line 17 absorbs almost all of line 16, and line 18 lands near zero — even though box 2a showed the full amount and box 7 said 2 or 7.

Two things break it. The first is failing to file Form 8606 for the contribution year, which leaves no basis on record and makes the conversion fully taxable. The second is the pro-rata rule: line 6 aggregates every traditional, SEP and SIMPLE IRA you own at 31 December, so a six-figure rollover IRA alongside a nondeductible contribution makes almost all of the conversion taxable. The 1099-R looks identical either way — only the 8606 tells you which happened.

File Form 8606 for every year in which you make a nondeductible contribution or convert, keep the chain unbroken, and carry line 14 forward. Where a conversion fits in a wider plan is covered in the Roth conversion guide; what happens if you later withdraw converted dollars is in the conversion five-year rule.

Frequently asked questions

Only when money comes out of it. Contributions into a Roth IRA are reported on Form 5498, not Form 1099-R, so a year in which you only contributed produces no 1099-R from the Roth side. Distributions out of a Roth IRA do get one, coded J for an early distribution, T where an exception applies but the custodian cannot tell whether the five-year period is met, or Q for a qualified distribution. A Roth conversion is the case that confuses people: the 1099-R comes from the traditional IRA that sent the money, and the receiving Roth IRA reports the same amount in box 3 of Form 5498.
It depends on the code and on box 2a. A 1099-R only reports that money moved; the box 7 code tells the IRS what kind of move it was. Code 2 or 7 on a Roth conversion means the pre-tax portion is ordinary income this year. Code G on a direct rollover into a traditional IRA carries a zero in box 2a and costs nothing, while code G on a rollover into a Roth account is fully taxable. Codes H, N and R normally show zero in box 2a. Receiving the form is not the same as owing tax on the whole of box 1.
Form 1099-R, Distributions From Pensions, Annuities, Retirement or Profit-Sharing Plans, IRAs, Insurance Contracts, etc., is the information return a custodian or plan administrator files when $10 or more comes out of a retirement account. You receive a copy in January, the IRS receives a copy, and box 7 carries the code that tells both of you what kind of distribution it was.
Code 2 means early distribution, exception applies: the participant had not reached 59½, but the custodian knows a section 72(t) exception covers it, so no 10% additional tax is due. The IRS instructions list a Roth IRA conversion first among the situations that get code 2, alongside distributions after separation from service at 55 or later, substantially equal periodic payments and IRS levies. On a conversion, code 2 does not mean the money is tax-free. It means the conversion is taxable income but not penalised.
Code G is a direct rollover, meaning the money moved trustee to trustee rather than being paid to you. Whether it is taxable depends on where it landed. Plan to traditional IRA, or plan to plan, shows zero in box 2a and costs nothing. A direct rollover from a pre-tax plan into a Roth IRA, or an in-plan Roth conversion inside your 401(k), also uses code G but carries a real taxable amount in box 2a, because pre-tax money became Roth money. Code H is the separate, non-taxable case: a designated Roth 401(k) balance moved to a Roth IRA.
For an IRA-to-Roth conversion, code 2 if you were under 59½ on the date of the distribution and code 7 if you were 59½ or older. The IRS instructions tell custodians to enter code 2 or 7 depending on the participant's age, and to check the taxable amount not determined box. For a conversion inside a workplace plan, or a direct rollover from a pre-tax plan straight to a Roth IRA, the code is G instead. Codes N and R belong to recharacterizations, which since 2018 can no longer apply to a conversion.