Updated Tax Resource Guide for the “One Big Beautiful Bill” 👉 Click To Access 👉 Free 2025–2026 Federal Income Tax Calculator

Box 12 codes on your W-2 form break down every extra benefit, contribution, or fringe perk that doesn’t fit into your standard wage boxes. Seeing codes like D for 401(k) contributions or DD for health coverage costs gives you a clearer view of your total compensation.

Our reference guide covers:

Decoding Your W-2 Box 12

The W-2’s Box 12 can look like a random string of letters until you know what they stand for. Each code is your employer’s shorthand for recording specific items—retirement plan contributions, certain benefits, or taxable fringe perks.

To turn this jumble into useful data:

Common W-2 Box 12 Codes at a Glance

Here’s a quick-reference table for the most frequently seen Box 12 codes and their tax implications. Use it to confirm what each code means at a glance.

Code What It Represents Brief Tax Implication
D Elective deferrals to a 401(k) plan Lowers taxable wages; pre-tax contribution
E Elective deferrals to a 403(b) plan Reduces taxable income; pre-tax contribution
DD Cost of employer-sponsored health coverage Informational; not taxable
F Elective deferrals to a 408(k)(6) SEP Lowers taxable income; SEP contributions
P Excludable moving expense reimbursements May be taxable if not qualified

Keep this table at your desk when you’re double-checking numbers or filling out tax forms.

Infographic about box 12 codes

Why This Information Matters

Every code in Box 12 can shift your tax outcome—saving you money or reminding you of reportable benefits. For example, overlooking D could mean missing out on a reduction in taxable wages, while forgetting to report a taxable fringe benefit might trigger an audit flag.

When in doubt:

Your Detailed Guide To Every Box 12 Code

Woman analyzing her W-2 form with a laptop and calculator

Think of this as your personal decoder ring for Box 12 on your W-2. It's one of the most confusing boxes on the form, packed with various codes and numbers that can seem intimidating at first glance. But don't worry, we've got you covered.

Here, we’ll walk through every single one of the box 12 codes, explaining in plain English what it means, how it affects your taxes, and what you need to do about it. We've organized everything alphabetically so you can quickly find the code you're looking for and get the answers you need.

Code A: Uncollected Social Security Tax on Tips

What it means: Code A pops up when you didn't pay enough Social Security tax on your tip income during the year. This is common for tipped employees, like servers or hair stylists, especially if their regular wages weren't high enough for the employer to withhold the full tax amount owed on their reported tips.

Tax Impact: This isn't just a notice—it's an outstanding tax bill. Your employer paid their share, and this is your portion. You'll need to pay this amount with your tax return.

What to do: You must report the amount shown with Code A on Schedule 2 (Form 1040) under the "Additional Taxes" section.

Code B: Uncollected Medicare Tax on Tips

What it means: Just like Code A, this one is about uncollected taxes on tips, but this time for Medicare. Your employer couldn't withhold your full share of Medicare tax from your paychecks.

Tax Impact: This amount gets added to your total tax liability for the year. It's a bill that needs to be settled.

What to do: Report this amount on Schedule 2 (Form 1040), right along with any amount you have for Code A.

Code C: Taxable Cost of Group-Term Life Insurance

What it means: If your employer provides you with group-term life insurance coverage worth more than $50,000, the cost of the premium for the excess coverage is considered a taxable benefit. Code C shows you that taxable amount.

Tax Impact: The good news is that this amount is already included in your taxable wages in Boxes 1, 3, and 5 of your W-2. It’s not extra income you need to add, but it did increase your overall taxable earnings for the year.

What to do: Nothing. This is purely informational. Just be aware that this benefit contributed to the total wages reported on your W-2.

Code D: Elective Deferrals to a 401(k) Plan

What it means: Code D is one of the most common box 12 codes you'll see. It simply shows the total amount of pre-tax money you contributed to your traditional 401(k) plan over the year.

Tax Impact: These contributions are a great tax-saver. The amount shown here has already been subtracted from your taxable income in Box 1, lowering your tax bill.

Example of Code D in Action
Let's say your gross salary is $80,000, and you contribute $10,000 to your 401(k). Your W-2 will show D $10,000 in Box 12. Your taxable wages in Box 1 will be only $70,000.

What to do: No action needed. Your tax software will recognize this automatically. It’s a good idea to double-check that this number doesn't exceed the annual IRS contribution limits.

Code E: Elective Deferrals to a 403(b) Plan

What it means: This is essentially the same as Code D, but for a 403(b) retirement plan. These plans are common for employees of public schools, colleges, and certain nonprofit organizations.

Tax Impact: Your contributions reduce your taxable income. The amount in Box 1 already reflects this deduction.

What to do: It's for your information. Just make sure the amount matches your records and is within the legal contribution limits for the year.

Code F: Elective Deferrals to a 408(k)(6) SEP

What it means: Code F represents your contributions to a Salary Reduction Simplified Employee Pension (SARSEP). These are older plans that are no longer common—new ones couldn't be started after 1996—but some people are still contributing to existing ones.

Tax Impact: These are pre-tax contributions that lower the taxable income reported in Box 1.

What to do: No action required on your tax return. It’s just for verification.

Code G: Elective Deferrals and Employer Contributions to a 457(b) Plan

What it means: You'll see Code G if you contribute to a 457(b) deferred compensation plan, which is popular with state and local government employees. It includes both your contributions and any that your employer made.

Tax Impact: The money you put in reduces your taxable income for the year.

What to do: Informational only. Just confirm the numbers look right.

Code H: Elective Deferrals to a 501(c)(18)(D) Plan

What it means: This is a very rare one. It shows your contributions to a special type of employee-funded pension trust created before June 25, 1959.

Tax Impact: Unlike most retirement contributions, these are made with after-tax dollars. However, you can claim them as an adjustment to your income.

What to do: Report this amount on Schedule 1 (Form 1040) to get a deduction and lower your adjusted gross income (AGI).

Code J: Nontaxable Sick Pay

What it means: This code shows sick pay you received from a third party, like an insurance company, that is not considered taxable income.

Tax Impact: This amount is not taxable.

What to do: Nothing. It’s just for your records.

Code L: Substantiated Employee Business Expense Reimbursements

What it means: If you were reimbursed for work-related expenses (like travel or mileage) under an accountable plan, you’ll see the total here.

Tax Impact: Because you properly accounted for these expenses to your employer, these reimbursements are not considered taxable income.

What to do: No action is needed.

Code M: Uncollected Social Security Tax on Group-Term Life Insurance

What it means: This is for former employees who still have taxable group-term life insurance (from Code C). It shows the uncollected Social Security tax on that benefit.

Tax Impact: You owe this tax.

What to do: Report this on Schedule 2 (Form 1040).

Code N: Uncollected Medicare Tax on Group-Term Life Insurance

What it means: Similar to Code M, this is the uncollected Medicare tax on the taxable portion of group-term life insurance for a former employee.

Tax Impact: This is an additional tax you need to pay.

What to do: Add this amount to Schedule 2 (Form 1040).

Code P: Excludable Moving Expense Reimbursements

What it means: This code is specific to members of the U.S. Armed Forces. It shows reimbursements paid for a permanent change of station (a PCS move) that are not included in taxable income.

Tax Impact: These reimbursements are tax-free.

What to do: For qualifying military members, this is informational only.

Code Q: Nontaxable Combat Pay

What it means: This reports combat pay earned by a military member, which is not subject to income tax.

Tax Impact: While the pay itself is nontaxable, you have the option to include it in your "earned income" for the year. Doing so might help you qualify for a larger Earned Income Tax Credit (EITC) or other credits.

What to do: You need to make a strategic choice here. See if including this pay as earned income gives you a bigger tax refund. If you're not sure, this is a great time to consult a tax advisor.

Code R: Employer Contributions to an Archer MSA

What it means: This shows any contributions your employer made to your Archer Medical Savings Account (MSA). These accounts are pretty rare now, as they were the forerunner to Health Savings Accounts (HSAs).

Tax Impact: Generally, employer contributions to an Archer MSA are not considered part of your taxable income.

What to do: You'll need to report this on Form 8853, Archer MSAs and Long-Term Care Insurance Contracts.

Code S: Employee Salary Reduction Contributions to a 408(p) SIMPLE Plan

What it means: Code S shows how much you contributed to a SIMPLE (Savings Incentive Match Plan for Employees) IRA.

Tax Impact: These contributions are pre-tax, so they reduce the wages reported in Box 1.

What to do: Just for your information. Make sure it matches what you intended to contribute.

Code T: Adoption Benefits

What it means: If your employer offers adoption assistance, the total benefit provided will be shown here.

Tax Impact: Some or all of this benefit may be tax-free, depending on your income and expenses.

What to do: You’ll need to file Form 8839, Qualified Adoption Expenses, to figure out how much, if any, of this benefit is taxable.

Code V: Income from Exercise of Nonstatutory Stock Options

What it means: When you exercise nonstatutory stock options, the "bargain element"—the difference between what you paid and what the stock was worth—is considered income. Code V reports that amount.

Tax Impact: This income is already included in Boxes 1, 3, and 5. It's fully taxed as ordinary income.

What to do: No direct tax return entry is needed, but this is a critical number. It helps you establish the cost basis of your shares, which you'll need to calculate capital gains or losses when you eventually sell them.

Code W: Employer Contributions to a Health Savings Account (HSA)

What it means: This is a big one. Code W shows the total amount that went into your HSA through your employer. This includes direct employer contributions and any money you contributed via pre-tax payroll deductions.

Tax Impact: All contributions reported here are excluded from your taxable income.

What to do: You must report this amount on Form 8889, Health Savings Accounts (HSAs). This form reconciles all HSA contributions and distributions for the year.

Code Y: Deferrals Under a Nonqualified Deferred Compensation Plan

What it means: This code indicates your deferrals for the current year under a nonqualified deferred compensation plan that follows the rules of Section 409A.

Tax Impact: This money isn't taxed now but will be taxed when you receive it in the future.

What to do: For your information only.

Code Z: Income Under a Nonqualified Deferred Compensation Plan

What it means: Seeing Code Z is a red flag. It reports income from a nonqualified plan that failed to meet the strict rules of Section 409A.

Tax Impact: This is bad news. The amount is included in your taxable wages and is also subject to a hefty 20% penalty tax, plus interest.

What to do: This is a complex and serious tax issue. You must report the income and calculate the additional tax. It is highly recommended that you contact a tax professional immediately.

Code AA: Designated Roth Contributions to a 401(k) Plan

What it means: This shows your contributions to a Roth 401(k) account.

Tax Impact: Unlike a traditional 401(k), these contributions are made with after-tax dollars. They do not reduce your taxable income in Box 1. The benefit comes later—qualified withdrawals in retirement are tax-free.

What to do: Informational. It helps you keep track of your Roth contributions over time.

Code BB: Designated Roth Contributions to a 403(b) Plan

What it means: This is the same as Code AA, but for a Roth 403(b) plan.

Tax Impact: Your contributions are after-tax, so they don't lower your current tax bill.

What to do: For your records to track your Roth basis.

Code DD: Cost of Employer-Sponsored Health Coverage

What it means: You'll see this code on almost every W-2. It shows the total cost of your health insurance plan for the year—that includes the portion your employer paid and the portion you paid.

Tax Impact: This amount is not taxable. It’s reported purely for informational purposes as a requirement of the Affordable Care Act (ACA).

What to do: Absolutely nothing. Do not add this number to your income. It's just there to show you the total value of your health benefit.

Code EE: Designated Roth Contributions Under a Governmental 457(b) Plan

What it means: This reports your after-tax contributions to a Roth 457(b) plan, available to certain government employees.

Tax Impact: These post-tax contributions do not reduce your current taxable income.

What to do: For your information only.

Code FF: Permitted Benefits Under a Qualified Small Employer Health Reimbursement Arrangement (QSEHRA)

What it means: This shows the total benefits you received from a QSEHRA, which some small employers offer to help employees pay for health insurance premiums and medical expenses.

Tax Impact: This benefit is not considered taxable income.

What to do: If you bought health insurance through the ACA marketplace, you'll need this number to determine your eligibility for the premium tax credit.

Code GG: Income from Qualified Equity Grants Under Section 83(i)

What it means: This reports income from certain qualified equity grants that you have elected to defer for tax purposes.

Tax Impact: You've pushed the tax bill on this income into the future.

What to do: Keep careful records. You'll owe tax on this when the deferral period ends or you sell the stock.

Code HH: Aggregate Deferrals Under Section 83(i) Elections

What it means: This provides a running total of all income you have deferred from qualified equity grants up to the end of the year.

Tax Impact: This is the cumulative amount of income you will eventually owe tax on.

What to do: This is for tracking. Given the complexity of equity compensation, it's wise to work with a tax advisor who has expertise in this area.

Categorizing Box 12 Codes By Benefit Type

A grid of icons representing different employee benefits like retirement, healthcare, and compensation.

While looking up a specific code in an alphabetical list is great, sometimes you need to see the bigger picture. Grouping the Box 12 codes by benefit type helps connect the dots between your W-2 and your overall compensation package. It’s a practical way to understand how each benefit impacts your taxes.

This approach lets you see, at a glance, which benefits are lowering your taxable income, which ones are just for informational purposes, and which might actually add to your tax bill. Think of it as a key to smarter tax planning and a simple way to double-check that your W-2 is spot-on.

Retirement Plan Contributions

For most people, this is the most common and significant category. It covers all the money you and your employer are putting away in tax-advantaged retirement accounts. The most frequent codes here represent your own "elective deferrals," which directly reduce the taxable wages you see in Box 1.

Most of these codes are simply tracking money that either gives you a tax break now or sets up a tax break for you later.

Health and Medical Benefits

This group covers a lot of ground, from what your health insurance costs to how much you've stashed in a special savings account. The good news is that most of these amounts are excluded from your taxable income.

Taxable Fringe Benefits and Other Compensation

This is a catch-all for various types of compensation that might be taxable. These amounts are almost always already baked into your taxable wages in Box 1, but the IRS requires employers to break them out separately in Box 12 for clarity.

Uncollected Taxes

Last but not least, this small but critical group flags taxes that weren't taken out of your paychecks during the year. This almost always comes up for employees who earn tips.

Common Employer Reporting Errors And How To Spot Them

Magnifying glass over a W-2 form, focusing on Box 12.

Even with the best payroll software, mistakes in Box 12 happen. It's a surprisingly common problem that can create a real headache for employees at tax time. All it takes is a simple typo or a misunderstanding of a code's meaning on your employer's end, and suddenly you could be facing an incorrect tax bill.

These errors often pop up because payroll rules can get tricky. For example, IRS audits frequently uncover employers using code D (for 401(k) plans) when they should be using a different code for a 403(b) or 457 plan. In one particularly eye-opening review, the IRS found that a whopping 94% of employers using code H were doing so incorrectly. You can read more about these common slip-ups on the IRS retirement plans resource page.

Proactive Steps To Verify Your W-2

The best defense is a good offense. Taking a few minutes to review your W-2 before you file can save you from a world of trouble later on, including frustrating notices from the IRS. Don't just glance at it and assume everything is correct.

Your first move should be to pull out your final pay stub of the year and compare it to your W-2. The big numbers, especially your retirement contributions, should line up almost perfectly. Small differences can sometimes happen with year-end payroll adjustments, but major discrepancies are a warning sign. As we point out in our guide on how to do small business payroll, simple data entry mistakes are a frequent source of these issues.

Expert Tip: A crucial gut check is to compare your total retirement contributions shown in Box 12 (like Code D or E) with the annual statement from your actual retirement account. Those numbers need to match.

Common Red Flags To Look For

Keep an eye out for these tell-tale signs that something might be wrong with your W-2 reporting. Knowing what to look for makes it much easier to catch a mistake before it becomes a problem.

How To Correct Errors In Box 12 Codes

Finding an error in one of your Box 12 codes can be a real headache, especially with tax deadlines approaching. But don't panic. There's a clear process for getting it fixed so you can file an accurate return.

Your very first step should be to get in touch with your employer's HR or payroll department. This is the only way to get an official correction. You'll need to request a Form W-2c, Corrected Wage and Tax Statement.

What To Do If Your W-2c Is Delayed

Sometimes, getting that corrected form can take a while, and you can't just let the tax deadline fly by. If you're running out of time and still don't have the W-2c, the IRS provides a workaround: Form 4852, Substitute for Form W-2.

This form lets you file on time using the best information you have available.

  1. Pull out your final pay stub for the year, along with any relevant benefits statements. These will help you make an accurate estimate.
  2. Fill out Form 4852, entering the correct estimated amounts for your wages and the Box 12 items in question.
  3. Attach Form 4852 to your Form 1040 tax return and file as usual. You'll note on the form that you're still waiting on a W-2c.

“Using Form 4852 prevents you from missing tax deadlines while waiting on corrections.”

Once you finally receive the official W-2c from your employer, you'll need to file an amended return using Form 1040X. This step is crucial for making sure your tax record with the IRS is completely accurate and helps you avoid potential penalties or interest down the road.

Always Document Your Corrections

Good record-keeping is your best friend during this process. Create a specific folder (digital or physical) for everything related to the W-2 correction. This includes your emails to payroll, a copy of Form 4852 if you filed one, the W-2c, and your amended 1040X. If the IRS ever has a question, you'll have everything ready.

Form Purpose When To Use
Form W-2c Official correction of W-2 Your employer issues this to fix the original W-2.
Form 4852 Substitute for missing W-2 Use this if your W-2c is delayed past filing deadlines.

Communicating clearly with your payroll team and keeping dated notes of every conversation will make the entire experience much smoother. For a deeper dive into how these corrections can affect your overall tax picture, see our guide on calculating payroll taxes.

If the error involves a significant amount of money or a particularly complex benefits situation, it's always a good idea to speak with a CPA or tax advisor. They can provide specific guidance and ensure you handle everything correctly from the start.

Evolution Of Box 12 Reporting And Future Changes

Historic Milestones

Over time, Box 12 codes on your W-2 have shifted to reflect new reporting demands. Early on, a significant update came with Code DD under the Affordable Care Act. This code made employers list the cost of health insurance benefits, giving employees a clearer sense of their total compensation package—though it remains non-taxable.

Anticipating New Codes

Congress regularly adjusts tax legislation, so the IRS updates Box 12 to stay in step. Recently, draft codes have emerged for upcoming filing seasons:

You can explore more about these upcoming W-2 changes on HRMorning.com.

By keeping an eye on these updates, you’ll understand why your W-2 might look different from one year to the next—and be prepared for any new reporting requirements.

FAQ

It’s possible to see more than four Box 12 codes on a single W-2. Employers often group similar items, but some payroll providers shift certain benefits or deferrals onto a second W-2 to keep the main form uncluttered. As a result, you might receive two (or more) W-2s so every code appears correctly.

Not every Box 12 entry changes your taxable income. For instance:

Pay Stub Versus W-2 Adjustments

Box 12 totals on your W-2 can differ from what shows on your final pay stub. Year-end adjustments, benefit cutoff dates, or late deposits—like an HSA contribution or retirement catch-up—may post after payroll closes. Those late entries often appear only on the W-2.

Most modern tax software reads Box 12 codes line by line and prompts you for verification. Rarely do you need to type each letter and amount manually. Instead, you simply confirm that the software’s figures match your pay statements.

“Always compare your final stub with Box 12 figures before filing to catch timing gaps.”

Quick Checklist:

Still have questions? An expert at Allied Tax Advisors can help you navigate complex Box 12 entries and ensure an accurate filing.

Leave a Reply

Your email address will not be published. Required fields are marked *

Level Up Your Finances

Join our email list for short, practical tips on saving taxes, improving cash flow, and staying compliant.

We’ll send concise updates—no spam, ever. You can unsubscribe anytime.
By subscribing, you agree to our Privacy Policy.