Parseur Handwriting OCR Benchmark 2026. Tested in October 2026. Six tools, seven scanned documents, 209 fields.
In the Parseur Handwriting OCR Benchmark 2026, which compared six document extraction tools on scanned, partly handwritten Texas Railroad Commission (RRC) oil and gas forms, Parseur extracted all 209 fields correctly. ChatGPT extracted 188, Gemini 180 and Extend 175. Nanonets (151) and Docparser (136) were 58 and 73 fields behind. We checked every result field by field against the original scans.
Disclosure: Parseur is our product. To keep the test fair, we scored every tool against the same answer key and rules, and we publish every tool's errors, including Parseur's.
Key Takeaways
- Parseur was the only tool with zero errors in an October 2026 test of six handwriting optical character recognition (OCR) and document extraction tools on seven scanned RRC forms.
- Handwritten names and emails separated the tools most. On the two most heavily handwritten forms (44 fields), Parseur made 0 errors and Extend 1, while ChatGPT made 12, Gemini 16, Docparser 17 and Nanonets 24.
- Reviewer notes turned into fake signatures. Three of six tools recorded an RRC reviewer's "OK to process" approval date as the previous operator's signature date.
- Reading the text is not the same as extracting the data. Nanonets and Docparser often read a value correctly but put it in the wrong field, or returned printed form labels as data.
- One PDF, several forms. Extend, by default, returned one record per PDF and kept only the first of three leases in a multi-form file.
- General AI chatbots did better than expected on typed text but misread handwritten capitals. ChatGPT turned "John Posey" into "John Poso" and "Gulfmark" into "Galfmark".
Handwriting OCR, by the numbers
Handwriting OCR, by the numbers
Six tools, seven scanned forms, 209 fields
- fields Parseur extracted correctly, the only perfect score of six tools
- 209 of 209
- tools made at least one extraction error on seven forms
- 5 of 6
- average accuracy of the five tools other than Parseur
- 79.4%
- tools made one error or fewer on the two most handwritten forms
- 2 of 6
- tools recorded a reviewer's approval date as a signature date
- 3 of 6
- tools reproduced the handwritten lease table exactly
- 1 of 6
What is handwriting OCR, and why is it hard?
Handwriting OCR is software that turns handwritten text in a scan or photo into machine-readable text. Three terms are used for it:
- OCR (optical character recognition) reads printed characters. Classic OCR engines handle typed text well and handwriting poorly.
- ICR (intelligent character recognition) reads hand-printed characters, usually one letter per box on structured forms.
- HTR (handwritten text recognition) reads connected, free-flowing handwriting, such as cursive notes and historical manuscripts.
Business documents are harder than any of these labels suggest. A real form mixes typed text, hand-printed capitals, cursive signatures, stamps and notes written over the top. Scans are often faxes or photocopies of photocopies, arriving by email, upload or API.
Reading the characters is only step one. An operations team needs each handwritten value extracted into the right field and validated in a format their spreadsheet, enterprise resource planning (ERP) system or database can import. That is what we tested: not "can the tool read it?" but "does the right value land in the right field?"
Which handwriting OCR tool was most accurate?
Parseur was the most accurate tool in our October 2026 handwriting OCR test, with 209 of 209 fields correct. ChatGPT (90.0%) and Gemini (86.1%) followed.
| Rank | Tool | Fields correct (of 209) | Accuracy | Errors on the 2 most handwritten forms (of 44) |
|---|---|---|---|---|
| 1 | Parseur | 209 | 100% | 0 |
| 2 | ChatGPT (GPT-6 Instant) | 188 | 90.0% | 12 |
| 3 | Gemini 3 | 180 | 86.1% | 16 |
| 4 | Extend | 175 | 83.7% | 1 |
| 5 | Nanonets | 151 | 72.2% | 24 |
| 6 | Docparser | 136 | 65.1% | 17 |
Source: Parseur Handwriting OCR Benchmark 2026, tested in October 2026.
Extend's rank comes mostly from one document. In its default setup, it returned one record per PDF and skipped two of the three leases in a multi-form file, which accounts for 28 of its 34 errors. On the forms it did extract, Extend made 6 errors and read handwriting almost as well as Parseur.
Handwriting OCR benchmark ranking
Fields extracted correctly, out of 209
- 1 Parseur 209/209 · 100%
- 2 ChatGPT 188/209 · 90.0%
- 3 Gemini 180/209 · 86.1%
- 4 Extend 175/209 · 83.7%
- 5 Nanonets 151/209 · 72.2%
- 6 Docparser 136/209 · 65.1%
How did each tool do on each document?
In our test, Parseur was the only tool to extract every field on every form, and only Parseur and Extend got the heavily handwritten 449_155 form almost entirely right.
The seven documents are real, public oil and gas filings from the Texas Railroad Commission, taken from ExtractBench, LlamaIndex's public benchmark for document extraction. Six are P-4 forms, which record a change of lease operator, and one file adds a P-6 form, which requests a lease subdivision. The test documents section below describes each one.
| Form (fields) | Parseur | ChatGPT | Gemini | Extend | Nanonets | Docparser |
|---|---|---|---|---|---|---|
| 27-51300, P-4 typed (22) | 22 | 22 | 22 | 21 | 17 | 16 |
| 27-51300, P-6 handwritten header (11) | 11 | 11 | 8 | 10 | 7 | 9 |
| 433_147, crossed-out values (22) | 22 | 18 | 14 | 21 | 14 | 6 |
| 443_152, blurred typed scan (22) | 22 | 21 | 22 | 20 | 19 | 21 |
| 449_155, almost fully handwritten (22) | 22 | 14 | 12 | 21 | 11 | 12 |
| 457_159, three leases in one PDF (66) | 66 | 65 | 66 | 38 | 64 | 42 |
| 223_41, handwritten names and email (22) | 22 | 18 | 16 | 22 | 9 | 15 |
| 257_58, handwritten with reviewer note (22) | 22 | 19 | 20 | 22 | 10 | 15 |
| Total (209) | 209 | 188 | 180 | 175 | 151 | 136 |
Source: Parseur Handwriting OCR Benchmark 2026, tested in October 2026. Scroll sideways on small screens.
The tools did not differ on typed forms. On the typed 457_159 leases, four tools scored 64 or more out of 66. The gaps opened on hand-printed capitals, cursive emails and forms with notes written over them.
What goes wrong when extracting data from handwritten forms?
In our test, errors on handwritten forms fell into five patterns: misread handwriting, reviewer notes taken as data, correct text in the wrong field, missed forms in multi-form PDFs, and broken handwritten tables. Each one sent incorrect data into a business system without anyone noticing.
1. Which tools misread handwritten names and emails?
ChatGPT, Gemini, Nanonets and Docparser all misread handwritten capitals on 449_155 and 223_41. Parseur and Extend read every example below correctly.
| Field (form) | Written on the form | How other tools read it |
|---|---|---|
| Field name (449_155) | Nixon | Poso (ChatGPT), Wixos (Gemini, Nanonets), Wixo (Docparser) |
| Current operator (449_155) | John Posey | John Poso (ChatGPT), Poses (Gemini), John Poser (Nanonets), John Posen (Docparser) |
| Previous operator (449_155) | BJT Oil Company, Inc. | Poso Oil Company (ChatGPT), BJF Oil Company (Gemini), "BJT )" (Nanonets) |
| Operator (223_41) | Diamond M Drlg & Expl. Co. | Diamond Morris Expl. Co. (ChatGPT), Diamond morly Expl. Co. (Gemini) |
| Oil gatherer (223_41) | Gulfmark Energy Inc. | Galfmark (ChatGPT), IF mark Inc. Energy (Gemini), Gis IF mark Energy Inc. (Nanonets) |
| Email (433_147) | [email protected] | [email protected] (ChatGPT), RICK. MICHAEL SBCSLOBAL.NET (Gemini) |

A misread name is worse than a blank field. "John Poso" looks like a real name, so nobody would check it, and the record would no longer match the operator in any other system.
2. Which tools turned reviewer notes into signatures?
Three of six tools recorded an RRC reviewer's approval date as the previous operator's signature date: ChatGPT, Extend and Nanonets. Parseur, Gemini and Docparser left the field empty.
On three forms, an RRC reviewer wrote "O/K to process" with initials and a date across the previous operator's signature line. No previous operator signed these forms. The name, title, date and phone lines are empty, and one form is annotated "One Signature".
- ChatGPT returned 2010-04-28, the reviewer's date, as the signature date on 443_152, and a date that is not on the form at all on 433_147. On 257_58, it merged the note into the operator name: "Schaaron International Energy Oil & Gas - OGC - TMO - 81911".
- Extend returned the reviewer's date on 433_147 and 443_152, and on 443_152 used the reviewer's initials as the signer's name.
- Nanonets returned the reviewer's date on 433_147 and 257_58, and on 257_58 filled the previous signer with the current signer's name and the title with the note itself.
Gemini handled this without any special instruction. For an operations team, this error creates a record of a signature that never happened.
3. Which tools put correct text in the wrong field?
Nanonets and Docparser often read a value correctly but returned it in the wrong field, or returned printed form text as a value.
- Nanonets put the operator's P-5 number in the lease ID field on 433_147 and 449_155, a lease ID in the RRC district field on 257_58, and the printed checkbox labels "Authorized agent of previous operator" and "Authorized Employee" as the previous signer's name and title on 223_41.
- Docparser mixed form instructions into the previous operator's name ("responsibility well(s) designated filing… ROCKER A OPERATING COMPANY"), added a +63 country code to every phone number, and read the effective date 6-1-11 as 2011-01-06.
- ChatGPT added a well number, "10A", to the Lela lease, which lists no wells.
These are the hardest errors to catch, because each value looks plausible on its own.
4. Which tools handled several forms in one PDF?
Four of six tools extracted all three leases from 457_159, a single PDF holding three P-4 forms. Parseur, ChatGPT, Gemini and Nanonets returned one record per page.
- Extend, with its Multifile option off, returned one record for the whole PDF and kept only the first lease, losing 28 fields.
- Docparser found the lease names and IDs of the second and third leases but little else, losing 23 fields.
Scanned regulatory filings, delivery notes, bills of lading and application packs often arrive as one PDF with several forms inside. A tool that returns one record per file silently drops the rest.
5. Which tools could extract a handwritten table?
Only ChatGPT reproduced the handwritten lease table on the P-6 form exactly. We scored this table separately from the 209 fields because not every tool's setup included table fields.
The correct answer is two resulting leases: 265 acres with wells 1WSW, 1 to 7 and 10 and 9 API numbers, and 60 acres with 3 API numbers.
| Tool | Handwritten lease table result |
|---|---|
| ChatGPT | Exact: both leases, all 12 API numbers, well 1WSW kept |
| Extend | Both leases and all 12 API numbers, but well 1WSW dropped |
| Parseur | All 12 API numbers correct, but in one list rather than split by lease |
| Gemini | An extra lease that is not on the form, and stray "415" fragments in the API numbers |
| Docparser | Columns found, but values merged into single cells with other text mixed in |
| Nanonets | No table extracted with the field-based setup used |
This is where Parseur lost: every value was right, but a lease-by-lease split needs a table field set up for it. A table field in the setup would return one row per resulting lease.
Tool-by-tool results
Parseur: 209/209. Parseur is an intelligent document processing (IDP) platform for operations teams that receive documents from many senders and need the data in their own systems. It reads printed text and handwriting with built-in OCR, extracts the fields you define in plain language, and sends the data to Excel, Google Sheets, ERPs and other business systems through integrations, webhooks or its API. It has run in production since 2016, has processed more than 100 million documents, is hosted in the EU and is SOC 2 Type II compliant.
In this test it read every handwritten name, email and address correctly, ignored reviewer notes, and returned one record per form in multi-form PDFs. In its first pass, Parseur had some transient mis-extractions on hard-to-read text. We refined its field setup, reprocessed the affected documents several times and kept the result that was most consistently extracted. Its one weakness was the handwritten lease table, returned as one list rather than split by lease.
ChatGPT (GPT-6 Instant): 188/209. Near-perfect on typed forms and the only exact handwritten table. It misread handwritten capitals and emails (8 errors on 449_155), recorded a reviewer's date as a signature, and added a well number that is not on the form. The output is JSON in a chat, so moving it into another system is a manual step.
Gemini 3: 180/209. Clean on typed forms, and with Parseur and Docparser one of three tools that never took a reviewer note as signature data. It made the most handwriting errors after Nanonets (16 on 449_155 and 223_41), and invented an extra lease in the handwritten table.
Extend: 175/209. The strongest handwriting reader after Parseur, with 1 error on the two most handwritten forms, plus a confidence score and a source citation for each field. In its default setup, it kept only the first lease of a multi-form PDF, took reviewer notes as signature data on two forms, and returned the month-only effective date "2/2014" as empty.
Nanonets: 151/209. Correct on clean typed forms. On handwritten forms it often put correct values in the wrong field, returned printed form labels as data and misread names. With the field-based setup we used, it extracted no table.
Docparser: 136/209. Found typed values on clean forms such as 443_152. It missed many fields on 433_147 (16 errors), mixed form instructions into values, added a +63 country code to phone numbers and reordered dates.
How we tested
We tested six tools on the same seven scanned forms in October 2026, scored 209 fields per tool against one answer key, and published every tool's errors, including Parseur's.
- Chose the documents. We took seven partly handwritten filings from the public ExtractBench dataset, picked to cover typed text, hand-printed capitals, cursive, crossed-out values, reviewer notes, a blurred scan and a PDF with several forms.
- Fixed the fields. We defined 22 fields for each P-4 form and 11 header fields for the P-6 form, the same list for every tool.
- Built the answer key from the original scans before scoring, and double-checked every hard-to-read handwritten value by hand.
- Ran each tool on all seven documents with the setup in the table below, and saved screenshots and exports of every result.
- Scored every field against the answer key using the scoring rules below, and checked each error against the original scan.
Test documents
We used seven real, public filings from the Texas Railroad Commission, the state's oil and gas regulator, taken from the ExtractBench dataset published by LlamaIndex. The P-4 form records a lease operator change. The P-6 form requests a lease subdivision. They combine typed text, hand-printed capitals, cursive, stamps and reviewer notes, the way many business forms do.
| Document | Pages | What it tests | Fields scored |
|---|---|---|---|
| P4-27-51300_74665 | 4 | Typed P-4 plus handwritten P-6 with a lease table and handwritten API numbers, with clean duplicate copies | 33 |
| P4-83-433_147 | 1 | Crossed-out lease name and ID, reviewer note on the signature line | 22 |
| P4-83-443_152 | 1 | Typed but blurred scan, reviewer note on the signature line | 22 |
| P4-83-449_155 | 1 | Almost entirely handwritten, with hard-to-read capitals | 22 |
| P4-83-457_159 | 4 | Three leases in one PDF, one duplicate page, reviewer note in a table | 66 |
| P4-Historical_Single_Signature83-223_41 | 1 | Handwritten operator, address, gatherer and email | 22 |
| P4-Historical_Single_Signature83-257_58 | 1 | Handwritten, reviewer note on the signature line | 22 |
Each P-4 form was scored on 22 fields: field name, lease name, operator, operator number (P-5), lease or gas ID, county, RRC district, address, well numbers, effective date, oil gatherer and percent of take, the previous operator with its signer's name, title, date and phone, and the current signer's name, title, email, date and phone. The P-6 form was scored on 11 header fields.
Tool setup
| Tool | Setup |
|---|---|
| Parseur | AI engine, fields defined in plain language |
| ChatGPT | GPT-6 (Instant), default model, the same JSON prompt for every document, one conversation, one document at a time |
| Gemini | Gemini 3, same prompt and process as ChatGPT |
| Extend | Fields generated automatically by Extend, Multifile off |
| Nanonets | Instant Learning model, fields and descriptions set up by hand from the P-4 layout |
| Docparser | SmartAI parser with automatic field detection, no custom rules |
Scoring rules
- The ground truth is what is written on the form, checked against the original scan.
- Each distinct form was scored once. Clean duplicate pages were not scored, so multi-page PDFs do not count double.
- A wrong, missing or invented value was an error, and so was a printed form label or reviewer note returned as data.
- A blank field where the form is blank was correct. Formatting differences (date format, capitals, spacing) were not errors.
- "OK to process" notes are reviewer approvals, not signatures. Where one is the only thing on the signature line, the correct signer, title and date are blank.
- Where the handwriting supports two readings, both were accepted for every tool: Duke or Duice, Posey or Posey Lease, and 12/18/09 or 12/13/09 on a blurred typed date.
- A form a tool did not extract counted as an error for every field with a value.
Limitations
This is a small hands-on test, not a statistical benchmark, and Parseur ran it as one of the tools tested.
- Sample size: seven documents, 209 fields per tool. A gap of a few fields is within what one more document could change.
- Runs: we refined Parseur's field setup once, reprocessed documents with first-pass errors several times, and kept the most consistent result.
- Setup: Extend was tested with Multifile off and Nanonets without table fields. Both may do better on multi-form PDFs and tables with a different setup.
- Chatbots: ChatGPT and Gemini processed all documents in one conversation, so earlier documents were in context for later ones.
- Scoring: we scored results from screenshots and exports of each tool's output and checked them against the original scans.
How to test handwriting OCR on your own documents
The errors in this test only showed up when we checked each field against the original scan. Before choosing a tool, run your own documents through it and check:
- Your hardest documents, not your cleanest: faxes, photocopies and forms filled in by hand.
- Names, emails and reference numbers letter by letter. Misreadings hide here, because a wrong name still looks like a name.
- That each value lands in the right field, not just somewhere in the output.
- That notes, stamps and printed labels do not come back as data.
- That a PDF with several forms returns one record per form.
- That handwritten tables come back row by row, in the structure your system expects.
For how Parseur reads scans and handwriting, see our OCR software page. For a test on printed invoices in four languages, see our multilingual invoice extraction benchmark. To compare document processing platforms more widely, see our guide to the best intelligent document processing software.
Test it on your own handwritten documents
Seven forms show where tools break, but your own documents are the real test. Run your handwritten forms, delivery notes or applications through Parseur and check each field against the original.
Last updated on




