Extract tax forms to structured JSON
Tax forms like W-2s, 1099s, and 1040s contain earnings, withholdings, and income data in IRS-mandated formats. Scan quality and multi-form packages add extraction complexity. Sensible extracts tax form data into validated JSON for income verification, compliance, and lending.

Why tax forms need more than basic OCR
Dense field grids and box-number referencing make tax form extraction a precision problem.

Tax forms pack data into numbered boxes where a single misread digit changes income by thousands. Sensible validates each extracted value.

Tax returns arrive as packages with 1040s, Schedule C, and W-2s. Sensible classifies and extracts each form separately.

Wage data on a W-2 should match what appears on the 1040. Sensible extracts from both and validation rules flag discrepancies.
Fields we extract
Extract any data you need from tax forms into your desired output schema
Employer name, EIN, employee name, SSN (masked), wages (Box 1), federal tax withheld (Box 2), Social Security wages, Medicare wages, state wages, state tax
Payer name, payer TIN, recipient name, recipient TIN, income type, amount reported, federal tax withheld, state tax withheld
Filing status, adjusted gross income, taxable income, total tax, refund/amount owed, dependents, income sources by schedule
Dividends and Distributions from investments.
Individual Income Tax Return with schedules and supporting forms.
Interest Income from banks and financial institutions.
Wage and Tax Statement showing employer info, earnings, and federal/state withholdings.
Miscellaneous income reported for rent, royalties, and other payments.
Nonemployee Compensation for independent contractor payments of $600 or more.
Supported tax forms
Sensible processes all major IRS tax forms and common state forms, including W-2s, 1099s, and 1040s. Any tax form format can be custom configured within hours.
W-2, 1099-MISC, 1099-NEC, 1099-INT, 1099-DIV, 1099-R, 1040, Schedule C, Schedule E, Schedule K-1
State W-2 supplements, state income tax returns, W-9, 4506-T, tax transcripts



Common Questions
How Sensible extracts and validates tax forms.
Yes. Sensible detects the tax year from the form and handles layout changes between IRS revision years. You can process returns from different years without changing your extraction configuration.
Sensible processes W-2s, 1099 variants (MISC, NEC, INT, DIV, R), 1040 returns, and schedules. Pre-built templates are available in the configuration library.
Yes. Validation rules check that wage totals match across boxes, that EIN and SSN formats are correct, and that calculated fields reconcile with their components.
Sensible can be configured for any state tax form. Pre-built templates focus on federal forms, but SenseML configurations for state-specific forms can be set up quickly.
Yes. Sensible sends extraction results to your webhook endpoint when processing completes. You can also poll the API for status.
Yes. Sensible flags extractions with low confidence for human review. You can configure review thresholds and workflows.
Sensible is SOC 2 Type II certified and HIPAA compliant. Data is encrypted in transit and at rest.
Documents are deleted after 30 days by default. You can configure shorter retention periods or request immediate deletion via API.
Yes. Sensible offers a free tier with 50 documents per month. No credit card required to start.
Sensible uses per-document pricing for predictable costs. No token-based billing or usage surprises. Volume discounts are available for higher throughput.
Sensible provides REST APIs and SDKs for Python and Node.js. Most integrations take a few hours. Webhooks, Zapier, and direct API calls are all supported.
Sensible processes PDF, PNG, JPG, and TIFF files. PDFs can be native or scanned.
Accuracy depends on document quality and configuration. Most production deployments achieve 95%+ accuracy with proper validation rules and confidence scoring.
Most documents process in 2 to 10 seconds depending on complexity and page count.
