Extract data from W-2 forms
Unstract turns the W-2s your clients photograph, scan or download into checked data in your tax software: wages, withholding, box 12 codes and state boxes, for every employer and every W-2c.
changed jobs in Aug? 2nd W-2 - ask JW
Form W-2 (2025) · Copy B, file with federal return
{ "form": "W-2", "tax_year": 2025, "employer": "Bluestem Logistics Inc", "employee": "Jordan T. Wells", "employee_ssn": "***-**-6842", "wages": 78400, "federal_tax_withheld": 9180, "box12_d_401k": 6000, "state_tax_withheld": 3050, "confidence": 0.97}
Trusted by tax and accounting teams around the globe
Every client gets a W-2 in January, and each one reaches you differently
A household with two earners and a job change can bring four W-2s and a correction. Your staff see them in shapes like these.
Phone shots of the copy mailed home
Payroll vendors print the same boxes in different layouts
W-2c corrections that change a W-2 already entered
Several employers' W-2s merged into one upload
Box 12 codes and box 14 notes with no fixed wording
Staff type wages, withholding and box 12 amounts from each W-2 by hand, and a single mistyped box surfaces months later as an IRS notice the firm has to answer.
Unstract reads every W-2 and W-2c, extracts each box, matches it to the right client and employer, and posts it to your tax software.
Parse, extract and automate the W-2s behind every return
Each product works alone. Read W-2s with the first one, then add field extraction and the season's intake when your volume calls for them.
Parse W-2 forms into text that keeps every amount in its lettered box
LLMWhisperer is the form W-2 parser: it reads Copy B photos, four-up payroll sheets and portal PDFs with the grid kept intact. Box 3 stays apart from box 5 even when both show the same amount, each box 12 code stays beside its figure, and the two state lines at the bottom keep their own columns.
Hand the text to your own LLM, or use it as the first step of a wider intake.
Learn more about LLMWhispererGet structured data from W-2 forms, one record per employer
List the boxes you want, and Document Studio acts as a form W-2 data extractor that needs no template per payroll vendor. Each W-2 returns as JSON with the employer, employee and tax year on top, box 12 as a list of code and amount pairs, and every state line as its own row. A W-2c is tied to the W-2 it corrects. Social Security tax that is not 6.2% of Social Security wages, or an SSN that differs from the organizer, comes back flagged.
Deploy it as an API or an ETL pipeline, or run it as one step of an orchestrated intake.
Learn more about Document StudioRun W-2 intake from the client portal to the finished return
Write out how your firm handles W-2s, in plain English, and Flow's agents build the workflow from it: W-2s pulled from the client portal, email and scanned drop-offs, each one filed by employer and tax year, every box extracted, the set compared with last year's employers and this year's organizer, and the result posted to your tax software, such as UltraTax CS or Lacerte, with the client's status updated in TaxDome or Drake Workflow. You approve the workflow once, and it runs the same way for each client.
A preparer or reviewer steps in only where you chose: an employer from last year with no W-2 this year, a W-2c that replaces an entered form, wage totals that disagree with the client's own figures, or a box read with low confidence.
Learn more about FlowRead your W-2s today. Automate the intake next season.
Start for free and pull data from your own W-2s now. Automating the whole client intake begins with a consultation.
W-2s, their corrections and the forms that travel with them
Documents
- Form W-2 Wage and tax statement
- Form W-2c Corrected wage and tax statement
- Form W-3 Transmittal of wage and tax statements
- Form W-3c Transmittal of corrected wage and tax statements
- Form W-2G Certain gambling winnings
- Forms W-2AS, W-2GU and W-2VI for U.S. territories
- Several W-2s for one taxpayer, one per employer
- State and local copies of the W-2
- Four-up W-2 sheets printed by payroll providers
- Year-end pay stubs
- Form 4852 Substitute for a missing W-2
- Form 1099-NEC for workers paid as contractors
Fields captured
Processes these W-2s feed
Built for the firms that enter W-2s on every return
Each client's W-2s entered in your tax software as they come in, with the employer that dropped off since last year listed for follow-up.
W-2 wages lined up beside the IRS wage and income transcript, so an employer missing from the return shows before you answer the notice.
The W-2s and W-3 a client's payroll provider issues checked box by box against the payroll register, before employees receive them.
Company W-2 totals tied out to the quarterly 941s and the general ledger, with every W-2c tracked to the period it changes.
Less time typing wage boxes, more time reviewing the return
Built for a stack of full Social Security numbers
A W-2 prints an employee's Social Security number next to a full year of wages, the tax withheld and the employer's EIN. That is all a criminal needs to file a false return for a refund. W-2 phishing, where fraudsters pose as an executive or client and ask staff to send W-2s, is a known fraud pattern, and a firm holding hundreds of them is the prize.




- Every W-2 is encrypted in transit and at rest.
- No client W-2 is ever used to train a model.
- Client-level access: a preparer opens only the W-2s of assigned clients, and each edit to a box is logged with who made it.
- Your firm decides how long W-2s are kept, and they are deleted on that schedule.
- Self-hosted deployment keeps every W-2 on your own infrastructure when your firm's security policy calls for it.
What firms ask before they send us their W-2s
Yes. LLMWhisperer is a W-2 OCR tool you call through its API, and it returns the form as layout-kept text. Document Studio then deploys its own endpoint: POST a W-2, get the employer, employee, boxes 1 to 17 and the box 12 codes back as JSON.
Call the Document Studio API from your own code with each W-2 file, or run an ETL pipeline that watches a folder, inbox or S3 bucket and writes one record per W-2 to your database. Both return the same schema whichever payroll vendor printed the form.
Yes. A PDF downloaded from an employer's payroll portal is read directly, including four-up sheets that hold Copies B, C and 2 on one page. The duplicate copies are recognised, so one W-2 is not entered three times.
Boxes a to f for the employer and employee, boxes 1 to 11 for wages and taxes, every box 12 code and amount, the three box 13 checkboxes, box 14 text and the state and local lines in boxes 15 to 20. You can drop boxes you don't need or rename them to match your tax software.
No. Unstract does not run a scanner. It reads the file a scanner or phone produces: a w2 scan from an office copier, a client's phone photo or a faxed copy. If clients scan W2 forms at home at odd angles, LLMWhisperer straightens the image and reads it with the boxes in place.
A W-2c shows previously reported and correct amounts side by side. Both columns are extracted, the correction is linked to the original W-2 by employer and employee, and the reviewer sees which boxes changed before the return is updated.
Each W-2 becomes its own record under the client, keyed by employer EIN. Wages and withholding are totalled across employers, and two jobs that together pushed Social Security tax past the annual wage base are flagged as an excess withholding credit to claim.
Yes. Box 12 comes back as code and amount pairs, such as D for 401(k) deferrals, W for HSA contributions and DD for employer health coverage. A W-2 with wages in two states returns both state lines, each with its employer state ID, wages and tax.
Yes. Mortgage and consumer lenders read a borrower's last two W-2s to verify wage income, and the same extraction returns those figures for comparison with pay stubs and the IRS wage and income transcript.
Yes. Describe your W-2 process in plain English, and Flow's agents build a workflow that collects, sorts, extracts, checks against last year and posts to your tax software. You review and approve it before it runs, and it pauses for a preparer only at the points you set.
Unstract is SOC 2, ISO 27001, GDPR and HIPAA compliant. W-2s are encrypted in transit and at rest, never used for model training, and deleted on the schedule your firm sets. A self-hosted option keeps them inside your own network.
Bring a client's W-2s, corrections included, to the consultation
A phone photo of Copy B, a four-up payroll sheet and a W-2c. We extract them live and show each box, the checks and what gets flagged.









