BLOG · PRODUCT UPDATES

By Vik Paruchuri 3 mins

Form field detection: fewer missed fields, cleaner labels

The updated form field detection model finds more of the fields on a page, returns cleaner labels, and no longer gets stuck repeating fields. It's live in the API, and you can try it in the playground.

Form field detection finds every place on a form where a person is meant to write, tick, or sign, and returns each one with its type, its box, and the printed label next to it. It returns only the fields, without parsing the rest of the page.

Today we’re releasing an updated model. It finds more of the fields on a page, the boxes it returns are more often right, and the labels are cleaner. It’s live in the API now, and you can try it on your own forms in the playground.

The form fields playground on IRS Form 8822. Each field the model found has a colored box on the page, and the list on the right shows each field's type and label. The selected name field is highlighted on the page and in the list.
IRS Form 8822 in the playground. The model found 29 fields. The selected field is highlighted on the page and in the list.

What’s better

We measured both models on the same 400 held-out government forms:

  • It finds 86.8% of fields, up from 82.3%, and 89.8% of the boxes it returns are right, up from 86.7%.
  • Labels match the printed text at 0.835 word by word, up from 0.780.
  • The old model sometimes glued a nearby number onto a label, like “Breach214”, on 3.4% of boxes. That’s now 0.36%, and on a second set of 146 pages it didn’t happen at all.
  • On about 0.7% of pages, the old model listed the same fields over and over. The new one did that on none of the 546 pages we tested.

Labels now match the printed text exactly 69% of the time, up from 62%. Most of the misses are close, such as the label of a neighboring field, or a table caption written as “column / row”.

Try it in the playground

Sign in, open Form fields in the playground, and upload a PDF or an image. It runs up to 10 pages. Every field the model finds is drawn on your page, next to a list with each field’s type and label. Click a box or a row to find its match, or switch to the JSON the API returns and download it.

The JSON view of the same result: each field with its type, its box as fractions of the page, and its label, with copy and download buttons.
The same result as JSON, as the API returns it, with copy and download buttons.

If a form trips it up, send it to [email protected]. Our test pages are mostly English government forms, so we especially want forms in other languages and poor scans.

Using it

Nothing changes in your code. The endpoint is still POST /api/v1/form-fields, with the same response and the same 12 field types. The launch post has a full Python example, and shows how to place each field on a PDF page.

How we measured

Both models ran on the same pages and were scored the same way. The test set is 400 government forms we kept out of training, with the answers taken from each PDF’s own form fields. A field counts as found when its box overlaps the true box by at least half. This is a new, stricter test than the one we used at launch, so don’t compare these numbers with the launch post’s.

START

Get started in minutes.

Free tier. No credit card. SOC 2 Type II.