U.S. · W-2 box 12

W-2 box 12 code AA.

Roth 401(k) money: taxed now, counted against the same limit as code D.

Code AA is your Roth 401(k) contribution. Unlike code D, it is included in box 1, because you paid tax on it. It still counts toward the same $24,500 2026 limit as pre-tax deferrals. Do not subtract it from box 1.

IRS General Instructions for Forms W-2 and W-3 (2026)Read November 1, 2026

Advertisement

Check your code AA amount

$
The dollar figure on your W-2.
$
Other jobs, plus any pre-tax or Roth deferral codes on other lines. Leave 0 if none.
Age 50 and over gets a catch-up in most plans.
$

Result

Advertisement

What code AA means

IRS description: Code AA: Designated Roth contributions under a section 401(k) plan.

The IRS calls these "designated Roth contributions" and says they are subject to income tax withholding and Social Security and Medicare tax, and must be reported in boxes 1, 3 and 5. That is the whole difference from code D: D is excluded from box 1, AA is not. Because the law requires Roth deferrals to be reported separately each year, box 12 is where an employer shows the total, and the instructions tell them not to use code AA for pre-tax elective deferrals.

One detail is easy to miss. If your plan lets you treat a nonelective or matching contribution as Roth, that is not reported with code AA. The IRS says those designated Roth nonelective and matching contributions are reported on Form 1099-R instead. The IRS also says designated Roth contributions to a pension-linked emergency savings account are included in box 12.

Where code AA shows up on your W-2 and return

Worked example

Jordan earns $90,000, defers $6,000 pre-tax and $3,000 to the Roth 401(k). Box 12 shows D 6000.00 and AA 3000.00. Box 1 is $90,000 − $6,000 = $84,000: only the D amount comes out. Together the two codes total $9,000 against Jordan's $24,500 limit for 2026, leaving $15,500 of room. The IRS example of a 45-year-old with D 26500.00 and AA 1000.00 shows both codes can appear on one W-2 even when the total is over the limit.

Limits and what to check

Pre-tax deferrals and designated Roth contributions share the 2026 limit of $24,500, plus the catch-up ($8,000 at 50 and over, $11,250 at ages 60 to 63). The 2025 Form 1040 instructions say that although Roth contributions are subject to the limit, the excess attributable to Roth contributions is not added to line 1h, since it is already included as income in box 1. The IRS also notes that a plan can return an excess along with earnings. Check the total of D plus AA across all employers, not just one W-2, and keep the plan statement that shows which contributions were Roth.

Common mistakes

See every code in one searchable table on the W-2 box 12 codes lookup.

Sources

Primary sources opened on November 1, 2026. The plain-English parts of this page are our summary of them, not IRS guidance.

Advertisement

Frequently asked questions

What does code AA mean on a W-2?

Code AA reports designated Roth contributions under a section 401(k) plan, meaning money deferred from your pay after income tax.

Is code AA included in box 1?

Yes. The IRS says designated Roth contributions are subject to withholding and Social Security and Medicare tax and are reported in boxes 1, 3 and 5.

What is the difference between code D and code AA?

Code D is pre-tax and is excluded from box 1. Code AA is Roth, taxed now, and is included in box 1. Both count toward the same $24,500 limit for 2026.

Does a Roth employer match show as code AA?

No. The IRS says designated Roth nonelective or matching contributions are reported on Form 1099-R, not in box 12.

Do I need to do anything on my return for code AA?

No. It is already inside box 1, so you use box 1 as usual. It matters only for checking that your total deferrals stayed within the limit.

Can I have codes D and AA on the same W-2?

Yes. It means you split your deferrals between pre-tax and Roth in the same 401(k) in the year.

Not tax advice

This page summarizes IRS instructions written for employers and is not tax advice. Your payroll provider, plan administrator or a tax professional can confirm what a code means on your own form. Everything runs in your browser; nothing you enter is sent anywhere.