Box 12a holds a code and a dollar amount that tells you about a specific type of compensation or deduction your employer withheld
Box 12a on your W2 is not a single thing — it is a code-and-amount pair. The code (a letter or two-letter combination) identifies what kind of payment or deduction the amount represents. Your employer chooses which codes to report based on what you received during the year. The most common codes are D (401k contributions), E (403b contributions), and F (401k loan repayments), but there are dozens of others. The amount next to the code is what your employer is telling the IRS about that item.
Box 12a appears on every W2, but most workers will see it empty or with just one code. If you have multiple types of box 12 items, your employer will use box 12a for the first one, box 12b for the second, box 12c for the third, and box 12d for the fourth. If you have more than four, your employer should provide a separate statement.
The reason box 12a matters is that some codes reduce your taxable income, some are informational only, and some affect tax credits or other calculations. Knowing which code appears on your W2 tells you whether that money was already accounted for in your federal withholding or whether you need to handle it separately when you file.
Key Takeaways
- Box 12a contains a two-character code followed by a dollar amount, and the code tells you what type of payment or deduction the amount represents.
- Code D means 401k contributions, code E means 403b contributions, and code F means 401k loan repayments — these are the three most common codes you will see.
- Some box 12 codes reduce your taxable wages on line 1 of your W2, while others are reported for information only and do not change your tax calculation.
- If you have more than one box 12 item, your employer will use boxes 12a, 12b, 12c, and 12d in order, and a separate statement if you have a fifth item.
- The IRS publishes a complete list of box 12 codes in the W2 instructions, and your employer's payroll system should show you which code applies to each deduction.
The most common box 12 codes and what they mean
Code D is the most frequently reported code in box 12a. It represents contributions you made to a 401k plan through payroll deduction. The amount shown is the total you contributed during the year. This amount is already subtracted from your taxable wages in box 1, so you do not deduct it again on your tax return — it has already reduced what you owe.
Code E appears when you contributed to a 403b plan, which is the retirement plan used by schools, hospitals, and nonprofits instead of a 401k. Like code D, the amount is already removed from your taxable wages in box 1. Code F shows up if you took a loan from your 401k or 403b and repaid it through payroll. The repayment amount in box 12a with code F is informational — it does not reduce your taxable income because you are repaying your own money.
Code G represents elective deferrals to a 457 plan, which is a retirement plan for government and some nonprofit employees. Code H is for elective deferrals to an HSA (Health Savings Account) that your employer set up for you. Both of these amounts are already subtracted from box 1 wages. Code S represents employee contributions to a straightforward IRA, and code T represents Roth contributions to a 401k or 403b. Roth contributions are made with after-tax dollars, so they do not reduce your box 1 wages, but they are reported in box 12 for IRS tracking.
How box 12 codes affect your tax return
The effect of a box 12 code depends on whether it represents pre-tax or after-tax money. Pre-tax codes like D, E, G, and H reduce your box 1 wages, which means your federal income tax withholding was already calculated on a lower amount. When you file your return, you use the box 1 amount as your starting point — you do not subtract the box 12 amount again. If you do, you will be double-deducting and will owe more tax than you should.
After-tax codes like T (Roth contributions) and F (401k loan repayments) do not reduce your box 1 wages because the money came out of your paycheck after taxes were calculated. These codes are reported in box 12 for record-keeping, but they do not change your tax filing. You report your box 1 wages as-is and do not make any additional adjustment for the box 12 amount.
Some box 12 codes affect tax credits or other parts of your return. For example, code W represents employer-sponsored adoption benefits, which may be excluded from income or claimed as a credit depending on your situation. Code AA represents designated Roth contributions to a 401k, which is similar to code T but specifically for the designated Roth feature. If you see an unfamiliar code, the IRS W2 instructions contain the full list and explain how each code affects your return.
What to do if box 12a shows an amount you do not recognize
If you see a code and amount in box 12a that you do not remember authorizing or that seems wrong, contact your employer's payroll or human resources department first. Ask them to explain what the code represents and verify that the amount matches your records. Many workers do not realize they have a 401k or HSA contribution until they see it on their W2, especially if they started mid-year or if the deduction was small.
If the amount is definitely wrong — for example, if you see $5,000 in code D but you only contributed $2,000 — ask payroll to issue a corrected W2. Your employer has until January 31 to send you the original W2, and if they discover an error after that, they will send you a Form W2-c (Corrected W2). Do not file your tax return until you have the correct W2 in hand, because the IRS will receive a copy of your W2 and will match it to your return.
If you received a W2 with a box 12 code that relates to a plan you left before the end of the year, the amount should reflect only the contributions or deferrals made while you were enrolled. If you left a job mid-year and the box 12 amount seems too high, ask whether it includes any catch-up contributions or employer matching that you were not aware of.
Box 12 codes that appear less often
Code C represents taxable cost of group-term life insurance over $50,000. If your employer provides life insurance and the death benefit exceeds $50,000, the value of the excess coverage is taxable income and will appear in box 12a with code C. This amount is already included in your box 1 wages, so you do not deduct it separately.
Code J represents nontaxable sick pay under a state temporary disability law. Code K represents 20% excise tax on excess golden parachute payments, which applies only to executives in specific situations. Code N represents uncollected Social Security or Medicare tax on tips, which means you reported tips to your employer but there was not enough money in your paycheck to withhold the full tax, so the employer is reporting what remains uncollected. You may owe this amount when you file.
Code Q represents nontaxable combat pay for military members, and code R represents employer contributions to an Archer MSA (Medical Savings Account). Code V represents income from the exercise of nonstatutory stock options, which is taxable compensation. Code Y represents deferrals under a nonqualified deferred compensation plan, and code Z represents income under a nonqualified deferred compensation plan that is taxable in the current year.
When you have multiple box 12 codes
If you have more than one box 12 item to report, your W2 will show the first in box 12a, the second in box 12b, the third in box 12c, and the fourth in box 12d. For example, you might see code D (401k contributions) in box 12a and code E (403b contributions) in box 12b if you worked for two employers or if you participated in both plans at the same employer. Each code-and-amount pair is independent, and you handle each one according to its code.
If you have five or more box 12 items, your employer should provide a separate statement along with your W2 showing all of them. Some payroll systems will print additional box 12 codes on a continuation page or on a separate document. Make sure you receive all of these documents before you file, because they contain information the IRS will use to verify your return.
When you enter your W2 information into tax software or give it to a tax preparer, mention if you have multiple box 12 codes so they can make sure each one is handled correctly. Tax software usually prompts you for each box 12 code separately, so you will enter them one at a time.
Frequently Asked Questions
Do I subtract box 12a from my income when I file my tax return?
Not if the code represents pre-tax money like 401k or 403b contributions. Those amounts are already subtracted from your box 1 wages, so you use box 1 as your starting point and do not subtract box 12a again. If the code represents after-tax money like Roth contributions or loan repayments, box 12a is informational only and does not change your tax calculation.
What if box 12a shows a code I have never heard of?
The IRS publishes a complete list of box 12 codes in the W2 instructions, which you can find on irs.gov. You can also ask your employer's payroll department what the code means. If the amount seems wrong, contact payroll to verify it before you file your return.
Can I claim box 12a as a deduction on my tax return?
Only if the code represents something that is not already subtracted from your box 1 wages. Most box 12 codes are either already deducted from box 1 or are informational only. Your tax software will guide you through which box 12 codes require additional action on your return.
What does it mean if box 12a is empty?
It means you did not have any special compensation, deferrals, or deductions that your employer needed to report in box 12 during that year. This is normal for many workers who have straightforward W2 income with no retirement plan contributions or other box 12 items.
If I had two jobs, will I have box 12a information from both W2s?
Yes. Each employer will send you a separate W2, and each one may have box 12a information depending on what you earned or contributed at that job. When you file, you will report information from all of your W2s, and your tax software will combine them correctly.