Tax form OCR
Tax forms in. Boxes out.
Upload a W‑2 as a PDF or scan, forward it by e-mail or send it to the API. Parsevix returns the employer, the employee, wages and withholding, box 12 codes and state and local taxes as structured data, ready for payroll checks or tax preparation.
- Every W‑2 box as a field of its own
- State and local taxes, row by row
- Personal data masked automatically before the AI step
No credit card · 20 free pages every month
What you get back
The W‑2, box by box, already defined.
The built-in Tax Form category follows the US W‑2 and returns 32 fields: the form, employer and employee, boxes 1 to 13 and the state and local rows. Use it as it is, or change it in your project for the forms you handle.
Amounts come back as plain numbers and box 13 checkboxes as Yes or No. A box the form leaves empty, such as allocated tips, is left out, not guessed.
Form
- tax_yearstring
- form_typestring
- control_numberstring
Employer
employer_infoobject
- employer_namestring
- employer_einstring
- employer_addressstring
- state_id_numberstring
Employee
employee_infoobject
- employee_namestring
- employee_ssnstring
- employee_addressstring
Wages and withholding (boxes 1–8)
wagesobject
- wages_tips_othernumber
- federal_tax_withheldnumber
- social_security_wagesnumber
- social_security_taxnumber
- medicare_wagesnumber
- medicare_taxnumber
- social_security_tipsnumber
- allocated_tipsnumber
Other compensation (boxes 10–11)
- dependent_care_benefitsnumber
- nonqualified_plansnumber
- deferred_compensationnumber
Box 12 codes
box_12_codesarray
- codestring
- amountnumber
Box 13
box_13object
- statutory_employeestring
- retirement_planstring
- third_party_sick_paystring
State and local (boxes 15–20)
state_localarray
- statestring
- state_wagesnumber
- state_taxnumber
- local_wagesnumber
- local_taxnumber
- locality_namestring
Your own fields
A name, a type and one sentence on what it is.
- box_14_other
- payer_tin
- nonemployee_comp
- corrected
Made for tax season
Stacks of forms, read box by box.
Tax forms arrive in bulk, as PDFs from payroll providers and as scans from employees. This is what Parsevix does with them.
Box by box
Each box of the W‑2 has a field of its own: wages, federal tax, social security and Medicare in boxes 1 to 6, box 12 codes as a list of code and amount, box 13 as Yes or No. Your payroll check or tax software reads the same field names on every form.
- 02
W‑2 out of the box, 1099 with a few fields
The form type says which form a document is. The built-in fields follow the W‑2; for 1099 forms, add the boxes you need to the category in your project.
- 03
Every state and locality
State and local taxes come back as a list, one row per state or locality, with wages and tax for each.
- 04
Batches in tax season
Upload a batch in the dashboard, send forms from your own system through the API, or let employees mail them to the project's address.
- 05
Tax documents from other countries
The built-in category is shaped for US forms. For another country's tax certificate, create a category with its own fields, or let Parsevix extract every field it finds without a schema.
- 06
Names, addresses and numbers masked
Names, addresses and identification numbers are masked automatically before any text goes to the AI model and put back in your result. Detection catches most personal data, not necessarily every item.
- 07
Every value linked to its box
Each value is linked to the spot on the form it came from. Click it in the dashboard to see the box it was printed in.
How forms get in
Upload them, forward them or send them from your system.
Dashboard
Upload forms as PDFs or scans, one at a time or as a batch. Check each result next to its page and approve it.
E-mail address
Paid plansEvery project gets its own address. Forward forms to it, and each attachment becomes a document.
API
Send forms from your payroll or tax software and get the JSON in the same response, or receive results by signed webhook or through Zapier.
Request
curl https://parsevix.com/api/v1/extract \ -H "X-API-Key: $PARSEVIX_API_KEY" \ -F file=@w2-2025.pdf \ -F category="Tax Form"
The request stays open until the document is read and answers with the JSON.
- POST /documentsUpload without waiting; the result arrives by webhook or callback.
- POST /extract-autoNo category: every field Parsevix finds, named as in the document.
- POST /classifyOnly the document's category, for 1 credit.
Response · trimmed
Security & compliance
- PII maskedautomatically, before the AI step
- Encryptedin transit and at rest
- No AI trainingon your documents
- API files deletedafter processing
Priced per page, not per feature.
Every plan reads, sorts and masks documents the same way. Picking the category is included, and a document that fails costs nothing.
See pricing- credit per page
- 1
- free pages every month
- 20
- a month for 500 pages
- $39
Tax form FAQ
Tax forms,
answered.
What teams ask before they send their first forms.
PDF, Word (DOCX), PNG, JPG and TIFF, up to 10 MB and 30 pages each. Scans and phone photos work too; every page is read as an image.
Not with the built-in fields, which follow the US W‑2. Create a category with the fields of your country's form, or extract without a schema and get every field the document carries, named as on the form.
The form type field tells a 1099 from a W‑2, but the built-in boxes are the W‑2's. Add the 1099 boxes you need, such as nonemployee compensation, to the category in your project.
No. It extracts what the form says into fields. It doesn't check whether the amounts are correct or complete, and nothing it returns is tax advice.
One credit per page, and a W‑2 copy is usually one page. Choosing the category is included, and if a document fails, its credits are given back.
Forms uploaded in the dashboard or sent by e-mail stay in your project until you delete them. Files sent through the API are deleted after processing unless you turn on keeping them for the project. Your forms are never used to train AI.
Related use cases
Documents that travel with this one.
Bank statement converter
Account, balances and every transaction from statement PDFs.
Resume parser
Contact details, experience, education, skills and languages from CVs.
ID document OCR
Name, number, dates and both MRZ lines from passports and ID cards.
