Amazon Textract Handwriting Recognition on Historical Records: What It Reads, and Where the Pipeline Breaks
Amazon Textract’s documented handwriting support versus its quiet failure modes on historical manuscript series, and how archives should route records and validate coverage.
Leo Team
4 August 2026

Contents
This is a working assessment of Amazon Textract handwriting support for archives holding manuscript record series — what AWS documents, what it does not, and where a Textract-based pipeline quietly fails on centuries-old hands. If you are deciding which series to route where, and how to prove later that your catalogue text matches the record on the shelf, this is the ground to stand on.
Amazon Textract does recognize handwriting. Its documented handwriting support is English only, and AWS publishes no accuracy figure for historical hands. Within its documented envelope — modern forms, tables, invoices, IDs, and printed text — it is fast, inexpensive, and dependable. On an eighteenth-century deed book or a nineteenth-century docket series, the failure mode is not an error message. It is a non-empty response that looks like a transcription and is quietly incomplete. If you are routing manuscript-heavy record series, you need a recognizer trained on historical documents and a validation step that measures coverage as well as characters.
That is the short version. The longer version matters more, because most archives evaluating Textract are not choosing between it and nothing. They are choosing which series to send where, and how to defend the result afterwards.
What Textract actually is, and what it is engineered for
Amazon Textract is AWS's machine-learning document-analysis service. It extracts printed text, handwriting, layout elements, and structured data from images and PDFs, and it goes beyond raw character recognition to identify and extract specific data from documents.
Its API surface is the clearest statement of intent. DetectDocumentText is the raw text path, returning lines and words. AnalyzeDocument adds feature types — TABLES | FORMS | QUERIES | SIGNATURES | LAYOUT — and returns block relationships between them. Beyond that sit three purpose-built paths: AnalyzeExpense for invoices and receipts, AnalyzeID for driver's licences and passports, and an Analyze Lending workflow for mortgage loan packages. Synchronous operations serve single-page, latency-sensitive work; StartDocumentTextDetection and StartDocumentAnalysis handle multipage material asynchronously from S3.
Read that taxonomy honestly and it describes a business-document service: intake forms, claims, tax filings, employment applications, loan files. That is a substantial engineering achievement, and for a records office that also processes modern administrative paperwork, it is a good fit. What it is not is a published claim that the service was trained or benchmarked on court files from the 1780s or grantor indexes from the 1860s.
Operationally, the limits are documented and worth knowing before you design ingestion: synchronous input is capped at 10 MB, asynchronous PDF input can reach 500 MB, and an asynchronous job ID stays valid for seven days. Those numbers describe how the service runs, not how well it reads.
The handwriting announcement, read carefully
AWS announced handwriting recognition on 13 November 2020. The announcement is specific: support for handwriting in English documents, alongside expanded printed-text language support for Spanish, Portuguese, French, German, and Italian. It notes that English printed and handwritten text can be free-form or embedded in tables and forms, and describes results as carrying high confidence scores.
The current AWS FAQ maintains that split. Printed text, forms, and tables are listed for English, German, French, Spanish, Italian, and Portuguese; handwriting, Queries processing, invoices, receipts, and identity documents are English only. The same FAQ describes handwriting support as covering the Standard English alphabet and ASCII symbols.
For archives, two consequences follow. Neither is a criticism of AWS. It is simply what the documentation says.
First, script and language are not the same axis, and Textract's documentation is organized by language. A French notarial minute, a Dutch baptismal register, or a German-language probate file is written in the Latin alphabet, but none of them is thereby documented as supported handwriting. There is no Dutch entry at all in the handwriting list. If your holdings include vernacular manuscript series in any language other than English, the documentation does not cover you. This distinction is worth settling before any procurement conversation; it is the same confusion that makes language and script coverage claims in HTR easy to misread across the whole tool category.
Second, "English handwriting" in a service designed around intake forms means legible modern printing and cursive on a form field. It does not establish performance on connected secretary hand, on clerical abbreviation, on archaic orthography, on interlineation and marginal insertion, or on a page where the ink has bled through from the verso. No dataset-named CER or WER result for Textract on historical handwriting has been published — not for deed books, not for court files, not for wills or registers. That absence is not proof of failure. It is a reason not to accept a general capability statement as an archive-specific claim.
Where the pipeline actually breaks
The dangerous case is not the page Textract refuses. It is the page it accepts.
A historical manuscript page can produce a plausible-looking partial result: lines missed entirely, adjacent lines merged, reading order scrambled across a two-column register, marginalia dropped, and character substitutions inside names and figures. The API returns 200. The JSON is well-formed. Downstream, your indexer ingests it and your catalogue reports the series as full-text searchable. This risk follows from how recognition pipelines work, as documented in general OCR and HTR research; it is not a measured Textract-specific rate on deed books. It is, though, exactly the risk a coverage-blind pipeline is built not to notice.
Three pressure points deserve naming.
Line and region coverage
Traditional recognition pipelines depended heavily on preprocessing and character segmentation. Modern HTR more commonly uses end-to-end approaches — CTC, sequence-to-sequence, attention, or hybrids — that learn line-level visual-to-text mappings, which suits connected cursive and wandering baselines better. Historical handwritten recognition carries its own distinct challenges: transcription cost, variety of writing styles, abbreviations, symbols, and reproduction quality. If a segmentation step never proposes a line, no recognizer downstream of it can transcribe that line. Your quality metric therefore has to include recall of lines and regions, not only character accuracy on the lines that were found.
Confidence as a certification
Textract returns a confidence value from 0 to 100 for each element, plus bounding-box geometry, so you can set custom rules to flag anything below a threshold. That is useful for triage. It is not a fidelity guarantee. Calibration is the task of tuning confidence scores to match the underlying probability of a correct prediction, and Amazon's own researchers report that text-recognition models tend toward overconfidence, leading users to overestimate trust in the predicted outcome. The same work finds word-level calibration more suitable than naïve character-level calibration for sequential decoding. On out-of-distribution historical pages, treat confidence as a queue-ordering signal for human review. Do not let it certify a legal name, a date, a parcel description, or a docket number.
Mixed print-and-manuscript pages
The pre-printed form filled in by hand — the deed-book template, the ruled register, the docket sheet with printed headings — is among the hardest layout classes in the government-records inventory, and it is where a system's design assumptions show most clearly. A recognizer built around printed structure will tend to favour that structure.
The same domain shift applies to historical print, which is easy to overlook because a person reads it without trouble. Conventional OCR is built for modern type, and its accuracy drops sharply on pre-1900 text even when the page is perfectly legible: a British Library study of nineteenth-century newspapers found character accuracy on older material falling well below what modern print achieves. The long s is read as f (in Hill and Hengchen's study of Eighteenth Century Collections Online, words containing f were three times as common in the OCR text as in the hand-keyed version of the same books). Ligatures split, and blackletter and mixed typefaces score markedly lower than roman, as the Europeana Newspapers evaluation found. In our own tests on an eighteenth-century Fraktur newspaper, Textract trailed the other cloud engines by a wide margin. If your holdings include early printed books, broadsides or gazettes, route them with the same care as the manuscripts.
Reading the accuracy literature without being misled by it
There is a strong temptation, mid-procurement, to find one number and use it. Resist it.
Consider the spread in a single 2025 handwritten-text benchmark. In that paper's reproduced zero-shot experiments, general models scored under 2% CER on IAM (modern English handwriting) and RIMES (modern French). Move to historical material in the same benchmark and the error rates climb steeply: one reproduced model went from 7.07% CER on Bentham to 14.40% on ICDAR2017 and 40.63% CER (64.28% WER) on READ2016. Those are not Textract results and not a controlled comparison. For a records office, the point is that the low figures come from modern, clean, single-language handwriting datasets, one corpus at a time, and the transcription still has to be verified before anything is published or indexed. The same gap is why trying to transcribe handwriting with ChatGPT goes further on a modern letter than on a historical hand. A separate 2025 assessment of historical HTR reports validation CERs around 4% against out-of-distribution results in the 8–25% CER and 15–50% WER range. The lesson across all of it is that results depend on the dataset and the model: the number that describes your collection is the number you measure on your collection.
CER is normalized Levenshtein distance — deletions plus insertions plus substitutions, divided by reference characters. WER applies the same edit distance at word level. They measure different units and are not interchangeable, and both aggregate away the errors you most care about. A 4% CER that concentrates its errors in surnames and section numbers is worse, for a land-registry office, than a 7% CER that scatters them through boilerplate. If you want a defensible figure, report collection-specific CER and WER alongside line and region recall, and weight errors in names, dates, boundary calls, and docket identifiers separately. Our fuller treatment of what transcription accuracy metrics actually measure works through why confidence scores and vendor benchmarks make poor substitutes for local ground truth.
The routing decision, stated plainly
If you already run on AWS, the sensible design is hybrid, and it follows from the evidence rather than from any vendor's preference. Keep Textract for what its API taxonomy tells you it is for: modern print, structured forms, tables, signatures, IDs, and the administrative paperwork your office generates today. Route manuscript-heavy series to a recognizer built for historical hands: the bound deed books, the pre-1900 case files (see our guide to reading old court records), the probate and naturalization runs, and land patent records. Send early printed material the same way; our guide to the best handwriting transcription software compares the recognizers built for that work. Then validate the handoff with stratified sampling rather than relying on a confidence threshold to route pages for you.
AWS integration solves ingestion, orchestration, and storage. What it does not solve is the recognition domain shift, and no amount of pipeline elegance closes that gap.
The same logic applies to the other default: crowdsourced transcription. The National Archives' Citizen Archivist missions and the Library of Congress's By the People programme, which has added OCR to its volunteer workflow, produce careful work — but volume is bounded by volunteer availability, which is precisely the constraint an unindexed hundred-thousand-page series exposes. Machine transcription with targeted human review of high-stakes fields is the throughput path. Our guide to court record transcription at scale sets out how to structure that review, and the deed transcription guide covers the chain-of-title case specifically.
Where Leo fits in that routing
Leo occupies one stage of this pipeline: recognition and the workspace around it. It begins at upload — it does not capture or scan — and it does not do IIIF, OAIS packaging, or EAD/METS/PREMIS. What it does is read the page.
Its own engine, ATR-1, is specially tuned for historical documents, handwritten and printed. It reads the image at high resolution, where general models downsample, and it is trained to transcribe what is on the page rather than normalize it. Strikethroughs, insertions, marginalia, abbreviation marks and archaic spelling survive; it does not over-correct or silently modernize. It runs zero-shot, with no per-office model training and no segmentation step to configure. Its scope is defined by the writing system rather than the language: any language written in the Latin alphabet, from roughly the past five hundred years. That is where it diverges from Textract's documented envelope. English wills, French notarial records, Dutch registers, German parish books, Spanish and Italian material are all in scope, with performance strongest in English and strong across the other major European languages written in that alphabet. Non-Latin scripts (Greek, Cyrillic, Hebrew, Arabic, Indic and East Asian) are out of scope. Translation, where you need it, is a separate one-click Transformation that writes to a new tab and leaves the base transcription untouched.
Leo also has a model library: one menu in the transcription window, with ATR-1 as the default. Textract is in it, alongside Google Cloud Vision and Azure AI Read, at 0.04 credits an image against ATR-1's 1 credit. So the routing above can happen in one place: a cloud OCR engine or a small model for a clean modern typescript or form, ATR-1 for the deed book and the early printed gazette. The major OpenAI, Gemini and Claude models sit in the same menu if you want a second reading of a hard page in its own tab.
We are not quoting a league table here, because a benchmark on someone else's pages predicts little about yours. What we can say is how ATR-1 behaves: it keeps the page's own spelling, it reads at the resolution the hand needs, and when it is unsure it errs on a character or a word you can see, not on fluent text that was never there.
One more point bears on government records specifically. Where output looks wrong, ATR-1's failure detection hides it, retries automatically, and refunds the credit if it cannot succeed; errors that do get through are the recoverable kind, a wrong character or word checkable against the image displayed beside the text, rather than a fluent fabrication. That asymmetry is the whole argument for a specialist recognizer over a general model on a legally consequential series.
Sample your own material before you commit — a hundred pages, stratified by hand and period, keyed against a reference transcription. Historical print is in scope for the product; note only that printed material is not eligible for our transcription grant, so it belongs on the free tier or a paid plan.
What a defensible record trail looks like
Whatever recognizer you route to, the obligations do not change. Keep the image beside the text, permanently and in public view, so any reader can check the transcription against the record. Measure coverage as well as accuracy, and publish the method you used to measure it. Weight review toward the fields that carry legal or financial consequence. Record which model and which version produced each transcription and when, because models change and a catalogue that cannot say what read a page cannot defend it later.
None of that is a technology problem. It is the same discipline archivists have applied to calendars, indexes, and published editions for a century: state what you did, show the source, and let the reader see where your reading came from. Machine transcription changes the throughput, not the standard of proof — and the offices that get this right will be the ones that treated the recognizer as one documented step in a described process, rather than as an answer.
Frequently Asked Questions
Does Amazon Textract handwriting recognition work on historical documents?
Amazon Textract does recognize handwriting, but its documented handwriting support is English only, and AWS publishes no accuracy figure for historical hands. The service is engineered for modern business documents — forms, tables, invoices, IDs, and printed text — and its API taxonomy reflects that. On an eighteenth-century deed book or a nineteenth-century docket series, the usual failure is not an error message but a well-formed response that looks like a transcription and is quietly incomplete: lines missed, reading order scrambled, marginalia dropped. For manuscript-heavy series, use a recognizer trained on historical documents and validate coverage as well as characters.
What languages does Amazon Textract support for handwriting?
English only. AWS lists printed text, forms, and tables for English, German, French, Spanish, Italian, and Portuguese, but handwriting, Queries processing, invoices, receipts, and identity documents are English only, covering the standard English alphabet and ASCII symbols. This matters for archives because script and language are different axes. A French notarial minute, a Dutch baptismal register, or a German-language probate file is written in the Latin alphabet, yet none is documented as supported handwriting — there is no Dutch entry in the handwriting list at all.
Where does AWS document Textract's handwriting support?
In two places. The Amazon Textract FAQ states that Textract detects printed text and handwriting from the Standard English alphabet and ASCII symbols, and that printed text, forms and tables are supported in English, German, French, Spanish, Italian and Portuguese. The November 2020 launch announcement introduced handwriting for English documents. The AnalyzeDocument API reference covers the forms, tables, queries, signatures and layout features. None of these pages publishes an accuracy figure for historical handwriting, so test on a sample of your own records.
Can I trust Textract confidence scores to certify a transcription?
No. Textract returns a confidence value from 0 to 100 per element plus bounding-box geometry, and you can set rules to flag anything below a threshold — useful for triage, not a fidelity guarantee. Amazon's own researchers report that text-recognition models tend toward overconfidence, which leads users to overestimate trust in the predicted outcome; the same work finds word-level calibration more suitable than naïve character-level calibration. On out-of-distribution historical pages, treat confidence as a queue-ordering signal for human review, never as certification of a legal name, date, parcel description, or docket number.
Should I use Textract or a specialist HTR tool for archival records?
If you already run on AWS, use both. Keep Textract for what its API is built for: modern print, structured forms, tables, signatures, IDs, and today's administrative paperwork. Route manuscript-heavy series — bound deed books, pre-1900 case files, probate and naturalization runs — to a recognizer built for historical hands. Then validate the handoff with stratified sampling rather than letting a confidence threshold route pages for you. AWS integration solves ingestion, orchestration, and storage; it does not solve the recognition domain shift.
How is Leo's ATR-1 different from Textract on historical records?
Textract is built for modern business documents; ATR-1 is specially tuned for historical documents, handwritten and printed, in any language written in the Latin alphabet. It reads the image at high resolution, runs zero-shot with no training on your material, and transcribes what is on the page rather than normalizing it, so abbreviations, deletions and archaic spelling survive. Suspect output is hidden, retried, and refunded if it cannot succeed. Errors that get through are recoverable: a wrong character or word you check against the image beside the text. Both are in Leo's model library: Textract for clean modern print and forms, ATR-1 for manuscripts and early print.