Form W-2: Wage and Tax Statement

The Wage and Tax Statement. Employers must provide this form to each employee by January 31st, summarizing their annual earnings and tax withholdings for the previous year.
Jimmy Law

What is Form W-2?

Form W-2, Wage and Tax Statement, is used by employers to report wages paid to employees and the taxes withheld from those wages. Every employer must provide Form W-2 to each employee and file copies with the Social Security Administration (SSA).

Who Must Receive Form W-2?

Every employee who:

This includes full-time, part-time, and temporary employees.

When Must Form W-2 Be Issued?

Employers must:

What Information is Reported on Form W-2?

Form W-2 includes:

Understanding Key W-2 Boxes

Box 1: Total taxable wages for federal income tax purposes. This may differ from Box 3 and Box 5 due to pre-tax deductions like 401(k) contributions.

Box 12: Reports various types of compensation and benefits using specific codes, such as:

How to File Form W-2

Employers must:

  1. Complete Form W-2 for each employee
  2. Provide copies B, C, and 2 to the employee
  3. File Copy A with Form W-3 to the Social Security Administration

Electronic Filing Requirements

Employers filing 250 or more Forms W-2 must file electronically through the SSA's Business Services Online (BSO) system.

Penalties for Late Filing

Penalties for failing to file W-2s on time:

Official Source: SSA Form W-2

Fast to set up. Easy to use.
Get your team up and running with Breakroom in 60 seconds. Or schedule a free, personalized demo today.
// Function to update active link function updateActiveLink(activeSectionId) { // Remove active class from all links navigationLinks.forEach(function(link) { link.classList.remove('is-active'); }); // Add active class to the corresponding link var activeLink = document.querySelector('a[href="#' + activeSectionId + '"]'); if (activeLink) { activeLink.classList.add('is-active'); } } // Set up intersection observer for scroll-based active states if (navigationLinks.length > 0) { var observerOptions = { root: null, rootMargin: '-20% 0px -80% 0px', // Trigger when section is 20% from top threshold: 0 }; var observer = new IntersectionObserver(function(entries) { entries.forEach(function(entry) { if (entry.isIntersecting) { updateActiveLink(entry.target.id); } }); }, observerOptions); // Observe all H2 sections headers.forEach(function(header) { observer.observe(header); }); }