What is a W-2?
A W-2 is the form your employer sends you every January to report how much you earned and how much tax was withheld from your paycheck during the previous year. It's the most important document for most employed people filing a U.S. tax return.
Your employer sends copies to both you and the IRS — so the IRS already knows what you earned before you file. If you report different numbers than what's on your W-2, the IRS will notice.
- Check your name and SSN — even a small error can delay your refund or cause IRS notices
- Compare Box 1 to your last pay stub — they may differ (see below why), but you should understand why
- Check Box 2 — federal tax withheld — this is what you've already paid; if it exceeds your tax liability, you get the difference back
The W-2 box-by-box guide
A W-2 has many boxes, but most people only need to focus on a few. Here's what each one means — click any box for more detail.
Click any row to see a detailed explanation.
Why Box 1 may be less than your actual salary
This confuses many first-time W-2 readers. Box 1 shows your taxable wages — not your total compensation. Several common benefits reduce Box 1 before the number is calculated:
| Benefit | Reduces Box 1? | Where it appears |
|---|---|---|
| Pre-tax 401(k) contributions | ✅ Yes | Box 12, Code D |
| Pre-tax health insurance premiums | ✅ Yes | Not separately shown on W-2 |
| Health FSA contributions | ✅ Yes | Not separately shown on W-2 |
| Dependent Care FSA | ✅ Yes | Box 10 |
| Commuter benefits (pre-tax transit/parking) | ✅ Yes | Box 14 (sometimes) |
| Roth 401(k) contributions | ❌ No — already taxed | Box 12, Code AA |
| After-tax health insurance premiums | ❌ No | Not on W-2 |
You earn $80,000. You contribute $10,000 to your 401(k) and pay $3,000 in pre-tax health insurance premiums. Box 1 on your W-2 will show $67,000 — not $80,000. That's correct. You're only taxed on $67,000, which is the whole point of pre-tax benefits.
Box 12 codes: the most common ones explained
Box 12 can have up to four entries, each with a letter code. Most people see only one or two. Here are the most common:
| Code | What it means | Taxable? | Note |
|---|---|---|---|
| D | Pre-tax 401(k) contributions | Not taxable (reduces Box 1) | Most common code you'll see |
| E | 403(b) contributions (for teachers, non-profits) | Not taxable (reduces Box 1) | Similar to 401(k) but for different employers |
| W | Employer contributions to your HSA | Not taxable | Enter on Form 8889 |
| DD | Cost of employer-sponsored health coverage | Not taxable — informational only | Do nothing with this number |
| AA | Roth 401(k) contributions | Already taxed (does NOT reduce Box 1) | After-tax contributions to retirement |
| C | Taxable cost of group-term life insurance over $50,000 | Taxable (already included in Box 1) | Informational |
| V | Income from stock option exercises | Already included in Box 1 | Common at tech companies |
If you're using tax software, just enter the code and amount exactly as shown. The software knows what to do with each code. You don't need to memorize what every code means — just enter it accurately.
What to do if something looks wrong
- Wrong name or SSN — Contact HR immediately. This must be corrected before you file. An incorrect SSN can prevent your return from being processed.
- Box 1 seems too high — Check if pre-tax benefits were properly excluded. Compare to your final pay stub. If the discrepancy is unexplained, contact payroll.
- Box 2 is zero or very low — You may have claimed too many allowances on your W-4. This isn't wrong, but means you may owe taxes when you file instead of getting a refund.
- Missing W-2 by mid-February — Contact HR first. If you still can't get it, call the IRS at 1-800-829-1040 — they can contact your employer on your behalf. As a last resort, file Form 4852 (substitute W-2) using your pay stubs.