W-2 Box 12 Codes Explained
Every letter code decoded in plain English.
By the Easy Guides Editorial Team
What is Box 12?
Box 12 on your W-2 reports specific items that don't fit in the other boxes, retirement contributions, health insurance costs, HSA contributions, and other employee benefits. Each item has a letter or two-letter code that identifies what it is.
You may see anywhere from zero to four Box 12 entries (labeled 12a, 12b, 12c, 12d on the form). Each one has its own code and dollar amount.
The four codes most people will see
If you have any Box 12 entries at all, they're most likely one of these:
401(k) contribution (traditional, pre-tax)
Roth 401(k) contribution (after-tax)
Cost of employer-sponsored health coverage (informational only, not taxable)
HSA contributions (employer + employee pre-tax through payroll)
All Box 12 codes
The complete list of codes that may appear in Box 12:
| Code | What it means |
|---|---|
| A | Uncollected Social Security tax on tips |
| B | Uncollected Medicare tax on tips |
| C | Group-term life insurance over $50,000 |
| D | 401(k) contribution (traditional, pre-tax) |
| E | 403(b) contribution (typically nonprofits, schools) |
| F | 408(k)(6) contribution |
| G | 457(b) contribution (typically government employees) |
| H | 501(c)(18)(D) contribution |
| AA | Roth 401(k) contribution (after-tax) |
| BB | Roth 403(b) contribution (after-tax) |
| DD | Cost of employer-sponsored health coverage (informational only, not taxable) |
| EE | Roth 457(b) contribution |
| W | HSA contributions (employer + employee pre-tax through payroll) |
| FF | QSEHRA permitted benefit |
| GG | Income from qualified equity grants under Section 83(i) |
| TA | Employer contributions to a Trump account (new for 2026) |
| TP | Cash tips you reported to your employer (new for 2026) |
| TT | Qualified overtime compensation (new for 2026) |
| J | Nontaxable sick pay |
| K | Excise tax on excess golden parachute payments |
| L | Substantiated employee business expense reimbursements |
| M | Uncollected Social Security tax on group-term life insurance |
| N | Uncollected Medicare tax on group-term life insurance |
| P | Excludable moving expense reimbursements for armed forces |
| Q | Nontaxable combat pay |
| R | Employer contributions to an Archer MSA |
| S | SIMPLE plan salary reduction contributions |
| T | Adoption benefits |
| V | Income from exercising nonstatutory stock options |
| Y | Deferrals under a 409A nonqualified deferred compensation plan |
| Z | Income from a nonqualified plan that fails 409A |
| HH | Aggregate deferrals under section 83(i) elections |
The most important code: DD
Code DD reports the cost of your employer-sponsored health coverage, both your portion and the employer's portion. This is informational only. It is NOT taxable income, and you do not owe any tax on this amount. Some people see a large number here and panic. Don't. Box 12 code DD is disclosure required by the Affordable Care Act, and the amount is not included in the wages reported in Box 1 of your Form W-2, so it is not taxed at all.
Box 12 and your tax return
Most Box 12 codes don't require any action when filing, they're already factored into Box 1 (your taxable wages). However, certain codes may unlock tax benefits or trigger reporting requirements:
- Code W, HSA contributions through payroll. May allow additional HSA deduction beyond what's already excluded.
- Code D, AA, Retirement contributions. May affect your Saver's Credit eligibility.
- Code DD, Informational only, no tax impact.
Common questions
What do the box 12 codes on a W-2 mean?
Each letter flags a specific benefit or contribution. Code D is your traditional 401(k), DD is what your employer paid for health coverage, W is HSA contributions, and C is group term life insurance over $50,000.
Does code DD mean I owe tax on my health insurance?
No. Code DD is reporting only. It shows the total cost of employer health coverage so you can see the value, and it does not change your taxable income at all.
What does code W mean on a W-2?
Code W shows the total that went into your health savings account, both your contributions and your employer's. You report it on Form 8889 with your return.