To fill out Box 12 on a W-2, put the letter code for the benefit or deferral you’re reporting to the left of the vertical line in one of the four sub-fields (12a, 12b, 12c, or 12d), and put the dollar amount to the right. Use capital letters, show cents even when they’re zero, and match each code to the specific type of compensation it represents. The codes don’t have to appear in any particular order, and it doesn’t matter which sub-field you use first.1Internal Revenue Service. General Instructions for Forms W-2 and W-3
How the Box Is Laid Out
Box 12 contains four slots: 12a, 12b, 12c, and 12d. Each slot holds one code-and-amount pair. If the employee only has one item to report, 12a is fine; there’s no rule that forces you to fill slots in order.1Internal Revenue Service. General Instructions for Forms W-2 and W-3
Codes must be capital letters. Amounts are entered in dollars and cents, even when the cents are zero. If an employee has more than four Box 12 items, prepare a second W-2 that carries only the overflow Box 12 entries plus the employee’s identifying information. Leave the wage boxes on that second form blank. That extra form counts toward the total that determines your electronic filing threshold.1Internal Revenue Service. General Instructions for Forms W-2 and W-3
Pick the Right Code for What You’re Reporting
The codes run A through HH. Each one flags a specific type of pay or benefit, and using the wrong letter is the single most common Box 12 error the IRS catches during audits.2Internal Revenue Service. Common Errors on Form W-2 Codes for Retirement Plans The codes below are the ones most employers actually use.
Retirement Deferrals (Pre-Tax)
These amounts are excluded from Box 1 but generally stay in Boxes 3 and 5 for Social Security and Medicare purposes.
- Code D — Elective deferrals to a 401(k), including SIMPLE 401(k) arrangements. Code D is only for 401(k) money.
- Code E — Elective deferrals to a 403(b) plan through a salary reduction agreement.
- Code F — Elective deferrals to a SEP-IRA under a salary reduction arrangement, including Roth SEP contributions.
- Code G — Elective deferrals and employer contributions to a governmental or nongovernmental 457(b) plan. Do not report amounts still subject to a substantial risk of forfeiture.
- Code H — Elective deferrals to a 501(c)(18)(D) tax-exempt organization plan. Unlike the others in this group, the Code H amount stays in Box 1 because the employee claims the deduction on their personal return.
- Code S — Employee salary reduction contributions under a Section 408(p) SIMPLE IRA.
For 2026, the elective deferral limit across 401(k), 403(b), and governmental 457(b) plans is $24,500. Employees age 50 and older can defer an additional $8,000, and employees age 60 through 63 qualify for a higher catch-up of $11,250 under the SECURE 2.0 Act.3Internal Revenue Service. 401(k) Limit Increases to $24,500 for 2026, IRA Limit Increases to $7,500 A Box 12 deferral above the applicable limit points to a payroll error that needs correcting before the W-2 goes out.
Designated Roth Contributions (After-Tax)
Roth contributions are after-tax, so they appear in Box 1 as taxable wages and also get their own Box 12 entry under a separate code. Never use the pre-tax code for Roth money.
- Code AA — Designated Roth contributions to a 401(k). Not Code D.
- Code BB — Designated Roth contributions to a 403(b). Not Code E.
- Code EE — Designated Roth contributions to a governmental 457(b). Not Code G.
The 2026 deferral limit applies to the combined total of an employee’s traditional and Roth contributions within the same plan type.4IRS.gov. 2026 General Instructions for Forms W-2 and W-3
Health Coverage and HSAs
- Code W — Employer contributions to an HSA, including amounts the employee routed through a cafeteria plan (Section 125). Direct employee contributions made outside a cafeteria plan don’t belong here.
- Code DD — Total cost of employer-sponsored group health coverage, combining employer and employee shares. Informational only; it doesn’t raise taxable income. Employers who filed 250 or more W-2s the prior year must report it; smaller employers may report voluntarily.5Internal Revenue Service. Form W-2 Reporting of Employer-Sponsored Health Coverage
- Code R — Employer contributions to an Archer Medical Savings Account.
Group-Term Life Insurance and Uncollected Taxes
- Code C — Taxable cost of group-term life coverage over $50,000. This amount also goes in Boxes 1, 3, and 5.
- Code A — Uncollected Social Security tax on tips (when the employee didn’t have enough other pay to cover withholding). Do not include this in Box 4.
- Code B — Uncollected Medicare tax on tips, same circumstances. Do not include in Box 6.
- Code M — Uncollected Social Security tax on group-term life coverage over $50,000, former employees only.
- Code N — Uncollected Medicare tax on that same coverage, former employees only.
Codes A, B, M, and N signal to the employee that they owe those taxes directly on their personal return.4IRS.gov. 2026 General Instructions for Forms W-2 and W-3
Stock Options, Moving Expenses, and Adoption
- Code V — Income from exercising nonstatutory stock options, calculated as fair market value at exercise minus the price the employee paid. Also included in Boxes 1, 3 (up to the 2026 Social Security wage base of $184,500), and 5.6Internal Revenue Service. Separate Reporting of Nonstatutory Stock Option Income in Box 12 of the Form W-2, Using Code V7Social Security Administration. Contribution and Benefit Base
- Code P — Excludable moving expense reimbursements paid to active-duty members of the U.S. Armed Forces and, starting in 2026, members of the intelligence community. Since the Tax Cuts and Jobs Act, civilian employees no longer qualify.8Internal Revenue Service. Topic No. 455, Moving Expenses for Members of the Armed Forces and the Intelligence Community
- Code T — Employer-provided adoption assistance paid or reimbursed under a qualified program.9Internal Revenue Service. Instructions for Form 8839
Nonqualified Deferred Compensation
- Code Y — Current-year deferrals under a Section 409A nonqualified deferred compensation plan. Reporting is optional. If you report, include current-year deferrals plus earnings on both current-year and prior-year deferrals.
- Code Z — Income included because the 409A plan failed the section’s requirements. Not optional. The amount goes in Box 12 with Code Z and also in Box 1, and it triggers an additional tax on the employee’s personal return.4IRS.gov. 2026 General Instructions for Forms W-2 and W-3
- Code HH — Aggregate deferred income under a Section 83(i) election as of the close of the calendar year, used when private-company employees elect to defer income from exercising stock options or settling restricted stock units.
The full alphabetical list runs from A through HH in the annual General Instructions for Forms W-2 and W-3.1Internal Revenue Service. General Instructions for Forms W-2 and W-3
Reconcile Box 12 Against the Wage Boxes Before You File
Every Box 12 entry has a defined relationship with Boxes 1, 3, and 5. Confirm the math before transmitting; the SSA’s automated review will flag forms that don’t reconcile.2Internal Revenue Service. Common Errors on Form W-2 Codes for Retirement Plans
Pre-tax retirement deferrals (Codes D, E, F, G, S) are excluded from Box 1 but stay in Boxes 3 and 5. Roth contributions (Codes AA, BB, EE) appear in Box 1 because the employee already paid tax on that money. Code C (group-term life over $50,000) and Code V (nonstatutory stock option income) both flow into Boxes 1, 3, and 5. Code DD is informational only and never changes taxable wages. Uncollected-tax codes (A, B, M, N) do not go into Boxes 4 or 6.
If Box 1 looks too high, check whether pre-tax deferrals were mistakenly left in. If Box 1 looks too low, check whether a Roth contribution was miscoded as pre-tax.
Mistakes That Get W-2s Rejected or Flagged
Three errors show up over and over in the IRS’s audit findings.2Internal Revenue Service. Common Errors on Form W-2 Codes for Retirement Plans
Putting the wrong plan type under Code D is the most common. Code D is only for 401(k) deferrals. Auditors regularly find 403(b), 457(b), and nonqualified deferred compensation amounts lumped in with 401(k) money. Every plan type has its own code.
Using Code H for health benefits is another frequent slip. The “H” is misleading; Code H is for 501(c)(18)(D) plan deferrals. Health belongs under W (HSA contributions) or DD (employer-sponsored coverage cost).
Reporting Roth contributions under the traditional pre-tax code is the third. An employee who splits contributions between a traditional 401(k) and a Roth 401(k) needs two Box 12 entries: Code D for the pre-tax portion and Code AA for the Roth. Coding Roth as Code D understates the employee’s taxable income and creates a mismatch when they file.
Fixing a Box 12 Entry After Filing
If you catch an error after the W-2 has gone out, file Form W-2c (Corrected Wage and Tax Statement) with Form W-3c (the corrected transmittal). For each code you’re fixing, show both the amount originally reported and the correct amount. Send the corrected forms to the SSA and give the employee a copy as soon as possible.1Internal Revenue Service. General Instructions for Forms W-2 and W-3
A Box 12 correction sometimes forces a related employment tax correction. Fixing a wrong Code D amount, for example, changes Social Security and Medicare wages you already reported on Form 941, which means filing Form 941-X alongside the W-2c.
Employers who catch and fix errors quickly may qualify for penalty relief under the reasonable cause standard. You need to show you acted responsibly before and after the mistake, took steps to prevent it, and corrected it promptly. A clean prior compliance record helps.10Internal Revenue Service. Penalty Relief for Reasonable Cause
Deadlines and What Errors Cost
W-2 copies must reach employees by January 31 after the tax year ends, and Copy A must reach the SSA by the same January 31, whether you file electronically or on paper.11Social Security Administration. Deadline Dates to File W-2s
Per-form penalties escalate the longer a wrong or missing form stays uncorrected:
- Up to 30 days late: $60 per form
- 31 days late through August 1: $130 per form
- After August 1 or never filed: $340 per form
- Intentional disregard: $680 per form with no maximum cap
These penalties apply separately to failing to file with the SSA and failing to furnish a correct statement to the employee, so one bad form can generate two penalties.12Internal Revenue Service. Information Return Penalties