W-2 Box 12 Code D reports employee elective deferrals to a traditional 401(k) arrangement, including a SIMPLE 401(k). It excludes employer matching contributions, account balances, and designated Roth 401(k) contributions. The IRS uses different codes for those Roth deferrals.

The amount generally represents compensation directed into the plan instead of current taxable pay. Read the tax year on the W-2 before comparing it with annual limits. A 2026 W-2 reports 2026 contributions and is generally furnished in early 2027.
What Does W-2 Box 12 Code D Include?
Code D includes traditional employee salary deferrals and any eligible traditional catch-up deferrals reported under that code. The employer reports the applicable contribution total for the year, not the investment value at year-end.
Contributions and account balances differ. In a hypothetical example, an employee contributes $7,200 during the year, starts with a $30,000 account balance, and experiences investment gains. Code D still relates to the $7,200 contribution, not the resulting balance. Transfers and rollovers are separate transactions.
A SIMPLE 401(k) also uses code D for traditional elective deferrals, but its contribution limits differ from those for an ordinary 401(k). A SIMPLE IRA uses code S instead. The plan’s legal type matters more than the word SIMPLE in its marketing name.
How Does Code D Affect W-2 Wages?
Traditional 401(k) salary deferrals generally reduce federal income-tax wages in box 1, while remaining subject to Social Security and Medicare taxes. Consequently, box 1 can be lower than boxes 3 and 5.
| Hypothetical item | Amount |
|---|---|
| Gross wages before the retirement deferral | $62,000 |
| Traditional 401(k) employee deferral | $6,200 |
| Box 1, assuming no other adjustments | $55,800 |
| Boxes 3 and 5, assuming ordinary covered wages | $62,000 |
| Box 12 code D | $6,200 |
This example isolates one payroll adjustment. Pretax health benefits, taxable fringe benefits, wage limits, and other payroll items can also change the relationship between the wage boxes. Do not assume that box 3 minus box 1 always equals code D.
Social Security wages have an annual ceiling, while Medicare wages do not share that ceiling. At higher compensation levels, those separate rules make a simple subtraction less useful. Reconcile the employer’s year-to-date payroll categories instead.
Can You Deduct W-2 Code D Again?
No. Do not take a second ordinary deduction for salary deferrals already excluded from box 1. Enter the W-2 accurately and allow the return calculations to apply the relevant treatment.
A traditional 401(k) contribution is not the same transaction as a personal traditional IRA contribution. IRA deductions have separate eligibility rules. Workplace plan participation can affect IRA deductibility, and the retirement-plan checkbox in box 13 can therefore matter.
An eligible retirement contribution may also be relevant to a separate tax credit under its own income and eligibility rules. That possibility does not turn code D into an additional wage subtraction. A deduction, an exclusion, and a credit are different calculations.
How Are Code D and Code AA Different?
Code D identifies traditional 401(k) employee deferrals, while AA identifies designated Roth 401(k) employee contributions. Roth contributions do not reduce current federal taxable wages in the same way.
In a hypothetical example, an employee contributes $9,000 traditionally and $4,000 to the plan’s Roth account. The W-2 reports D $9,000 and AA $4,000. The employee’s combined elective deferrals are $13,000 for purposes of the applicable shared limit.
Do not give traditional and Roth employee contributions separate full annual limits. Splitting the tax treatment changes current income treatment and later distribution rules; it does not double the ordinary employee deferral allowance.
What Are the Ordinary 401(k) Contribution Limits for 2026?
The regular employee elective-deferral limit for an ordinary 401(k) is $24,500 for 2026. Eligible catch-up contributions can increase that amount when the plan permits them and the participant meets the conditions.
| Age attained during 2026 | Regular deferral limit | Applicable catch-up limit | Potential combined amount |
|---|---|---|---|
| Under 50 | $24,500 | None | $24,500 |
| 50–59 or 64 and older | $24,500 | $8,000 | $32,500 |
| 60–63 | $24,500 | $11,250 | $35,750 |
These are ordinary 401(k) employee-deferral figures, not SIMPLE 401(k) limits or the separate limit on total plan additions. Compensation, plan provisions, and applicable testing can restrict actual contributions.
Beginning in 2026, the Roth catch-up requirement applies to certain participants whose prior-year wages with the plan sponsor exceeded $150,000. For affected participants, catch-up contributions are made on a Roth basis and therefore do not belong in code D as traditional deferrals. Confirm the applicable payroll and plan treatment rather than assuming the entire age-based maximum can be pretax.
What If You Contributed Through Two Employers?
Review employee deferrals across the relevant plans together. Changing jobs does not automatically provide a second full personal elective-deferral limit for the same year.
In a hypothetical example, an employee under age 50 contributes $16,000 to one ordinary 401(k) and $11,000 to another during 2026. The $27,000 total exceeds the $24,500 regular limit by $2,500. Each payroll system can report its own amount accurately even though the employee’s combined deferrals require attention.
Contact the plan administrator promptly about corrective distribution procedures and the applicable deadline. Do not reduce a W-2 entry yourself to make the software accept it. The IRS instructions distinguish accurate reporting of contributions from correction of excess deferrals, which can also produce Form 1099-R reporting.
How Do You Check an Unexpected Code D Amount?
Compare code D with the year-to-date traditional employee 401(k) deferral total, not total retirement funding or the investment statement balance.
- Separate traditional employee contributions from Roth contributions.
- Exclude the employer match from the comparison.
- Identify contributions made through another employer.
- Check for eligible catch-up or military-service make-up amounts.
- Ask payroll and the plan administrator to resolve any remaining difference.
Military-service make-up contributions can carry a prior-year designation beside the code. Preserve that designation when entering the statement. It explains why an amount may require analysis beyond an ordinary current-year contribution comparison.
If payroll used the wrong code or amount, the employer provides the appropriate corrected statement. Keep supporting records and review whether the correction changes a filed return. W-2 box 12 code D remains a contribution-reporting field, not a replacement for complete plan records.
What Other Questions Do Employees Ask?
Is W-2 Code D the Employer Match?
No. Code D reports employee traditional 401(k) elective deferrals, including eligible traditional catch-up deferrals. Employer matching contributions are not included in code D.
Can I Deduct Code D Again on Form 1040?
No. Traditional 401(k) salary deferrals generally already reduce federal taxable wages in box 1. Claiming the same contribution again as an ordinary IRA deduction duplicates the benefit.
Why Are Both D and AA on My W-2?
D reports traditional employee 401(k) deferrals, while AA reports designated Roth 401(k) employee contributions. Both can appear when contributions were split between those treatments.
Does a Large Code D Amount Automatically Mean My W-2 Is Wrong?
No. Age-based catch-up rules, military-service make-up contributions, and other facts can affect interpretation. A correctly reported excess contribution also requires correction through the plan rather than an invented lower W-2 entry.