Registry
Form IT-2104 — programmatic fill compatibility
Employee's Withholding Allowance Certificate · New York State Department of Taxation and Finance · 2026. Tested 2026-08-07 on the unmodified upstream blank — every number below comes from a recorded run, not from documentation.
Verdict at a glance
| Tool | Version | Result | Detail |
|---|---|---|---|
| pdfops API | hosted, tested 2026-08-07 | verified + deterministic flatten | 25/25 supported fields landed; flatten=true byte-deterministic (sha256 bd00f11519cf…) |
| pdf-lib | 1.17.1 | verified (25/25) | 25 fields filled in-process |
| @cantoo/pdf-lib (fork) | 2.6.5 | verified (25/25) | 25 fields filled in-process |
| pypdf | 6.15.0 | text fields verified (19/19) | 19 text fields written and re-read (text fields only) |
| pdftk-java | 3.3.3 | verified (23/23) | 23 fields filled via FDF and re-dumped |
| qpdf --check | 11.9.0 | structurally clean | errors that qpdf cannot detect |
| poppler render check | 24.02.0 | values render (19/19) | 19/19 filled text values present in pdftotext output of the pdf-lib-filled file; page-1 raster sha256 9e9861480ea0… |
File facts
- Source: https://www.tax.ny.gov/pdf/current_forms/it/it2104_fill_in.pdf (issuer page: here)
- Blank tested: ny-it-2104.pdf · 471 KB · sha256
04eb718666ba50f87183daf1581489354a23ac55b7f66997a8b10913a70dbea7 - License: New York State government form, published for public employee-onboarding use. The hash-verified blank is redistributed here unmodified.
- Structure: 1 pages · AcroForm
- Fields: 25 (19 text, 6 checkbox)
Quirks & limitations
- The NY state analog of the W-4 — every onboarding platform that fills a federal W-4 for a New York hire fills this next.
- A first sample of the NY state form class in this corpus.
Tested request
This exact shape ran against the live API during the recorded test (values here shortened to two fields; the test filled all 25 supported fields). With flatten=true, two identical runs produced byte-identical output — sha256 bd00f11519cf26262ac4edfc3d0444b5dbb76a48177e3a944f4373811bd06e45.
curl -X POST https://pdfops.dev/api/fill-form \
-F "pdf=@ny-it-2104.pdf" \
-F 'fields={"First name and middle initial":"PDFops","Last name":"PDFops"}' \
-F "flatten=true" \
-o filled.pdf
Enumerate all 25 field names first with the inspector or POST /api/inspect.
Field schema
All 25 fields (name, type, maxLength, options)
| Field name | Type | maxLength | Options |
|---|---|---|---|
First name and middle initial | TextField | 40 | |
Last name | TextField | 30 | |
Permanent mailing address | TextField | 55 | |
Apartment number | TextField | 10 | |
City, village or post office | TextField | 40 | |
State | TextField | 2 | |
ZIP code | TextField | 10 | |
Your SSN | TextField | 9 | |
Status | CheckBox | ||
Resident | CheckBox | ||
Resident of Yonkers | CheckBox | ||
line 1 | TextField | 2 | |
line 2 | TextField | 2 | |
line 3 | TextField | 8 | |
line 4 | TextField | 8 | |
line 5 | TextField | 8 | |
Date | TextField | 10 | |
employee is a new hire | CheckBox | ||
employee claims more than 14 exemption | CheckBox | ||
Employer's name and address | TextField | 75 | |
Employer's name and address-2 | TextField | 75 | |
EIN | TextField | 9 | |
insurance benefits | CheckBox | ||
empl qualify date | TextField | 10 | |
service date | TextField | 10 |
Frequently asked
Can I fill the Form IT-2104 programmatically?
Yes — the blank 2026 Form IT-2104 is a fillable AcroForm with 25 fields. In our tested run, all 25 supported fields were filled through the pdfops API and verified by re-inspecting the output; upstream pdf-lib also round-trips it, and pypdf handled its text fields. Field names are listed in the schema on this page.
← All forms in the registry · Inspect your own PDF · Make a flat PDF fillable