Cheque OCR and Content Extraction

Handwritten Cheque OCR and Data Extraction Software

Handwritten cheque OCR with 97%+ accuracy on cursive payee names, amounts in words, numeric amounts, and dates — plus MICR reading, cross-field validation, and signature region detection. Chequedb turns cheque OCR output into structured fields with per-field confidence scores, ready for ERP integration, review queues, and approval workflows.

For developer integration, start with the check OCR API page. For ERP integration, see the Chequedb API. For operational review, route extracted fields into the cheque management portal.

Printed AND handwritten

97%+ accuracy on handwritten cheques

Standard OCR vendors work with printed fields only. Chequedb reads the fields that appear on personal cheques — the payee name, numerical amount, legal amount in words, and date — all written by hand. If you process personal cheques, that distinction determines your actual automation rate.

97.8%
Numerical amount (CAR)
97.1%
Legal amount in words (LAR)
96.5%
Payee name
Why handwriting recognition is technically different

Bank Check OCR vs Generic OCR: What's the Difference?

A developer evaluating OCR tools for a cheque processing project will quickly discover that generic OCR libraries — Tesseract, Google Cloud Vision, AWS Textract — cannot handle what cheque operations actually need.

Generic OCR returns free text from an image. Bank check OCR returns structured cheque fields with confidence scores, cross-validation, and a workflow destination. The difference determines whether your team builds one integration or a multi-year in-house replacement for cheque-specific extraction logic.

CapabilityGeneric OCR (Tesseract, Google Vision, AWS Textract)Bank Check OCR (Chequedb)
MICR line readingNot supported — MICR font characters return garbled or incorrect valuesMagnetic + optical MICR with E-13B and CMC-7 support, routing validation
Field localizationReturns all text in reading order; you must build field-location heuristics per cheque layoutField-specific models locate MICR line, amounts, payee, date, signature, and endorsement regions
Handwriting (ICR)Limited or absent; handwritten payee names and written amounts are typically unreadableField-specific ICR models trained on cheque handwriting — 97%+ on amounts, 96.5%+ on payee names
Amount cross-validationCannot compare courtesy and legal amounts; no CAR/LAR disagreement detectionAutomatic comparison of courtesy amount (CAR) and legal amount (LAR); mismatches routed to exception review
Date validationReturns date as text string; no stale/post-dated logicConfigurable stale-dated and post-dated rules per jurisdiction and bank policy
Duplicate detectionNot availableMulti-channel duplicate detection using MICR + amount + date comparison across lookback window
Confidence scoringDocument-level or character-level; not per cheque fieldPer-field confidence scores (0.0–1.0) with configurable auto-accept thresholds
Exception routingNot available — all text values must be handled by your applicationLow-confidence fields route to review queues with reason codes, image crops, and recommended actions
Audit trailNot availablePer-event logging: raw OCR read, corrected value, reviewer identity, rule version, and downstream status
Image quality checksMay reject poor images but no cheque-specific quality gatesMICR visibility, endorsement region presence, front/back association, skew, blur, and crop checks

The risk of using generic OCR for cheques: what looks like a cost saving (using a free or per-page OCR tool) becomes an expensive engineering project when you discover it cannot read MICR fonts, it cannot localise handwritten payee fields, it cannot validate amounts against each other, and none of its outputs are structured for the review queues your operations team depends on. The false-accept rate — the system accepting an incorrect read as correct — is the most dangerous metric, and generic OCR tools provide no mechanism to control it. For more detail, see Bank Check OCR: What It Reads, How It Works, and How to Integrate It.

The Extraction Pipeline

A complete pipeline from image capture to structured cheque data, review, and export

1. Capture

High-resolution image capture (200-300 DPI) via mobile, scanner, or kiosk

2. Preprocess

Deskew, denoise, binarize, and remove security backgrounds

3. Extract

OCR/ICR recognition for all fields with confidence scoring

4. Validate

Cross-field validation, checksum verification, fraud scoring

5. Output

Structured JSON output with confidence scores for each field

Extraction Technologies

How Chequedb reads printed fields, handwriting, and MICR in a single extraction pass

MICR Reading

Magnetic Ink Character Recognition for the MICR line. Reads routing numbers, account numbers, and cheque serial numbers with near-perfect accuracy.

99.9%
Accuracy Rate

OCR

Optical Character Recognition for printed fields—bank names, addresses, date stamps, and pre-printed account holder information.

99%+
Accuracy Rate

ICR

Intelligent Character Recognition for handwritten text — payee names, amounts in words, and memo fields. Field-specific models trained on cheque handwriting.

97%+
Accuracy Rate

Deep Learning

End-to-end neural networks for layout analysis, field localization, and multi-modal fusion across all extraction methods.

<200ms
Processing Time

Complete Data Extraction

Extract every relevant field from cheques with confidence scoring for each element. Our system handles standard layouts, variations, and edge cases.

MICR Line: Routing number, account number, cheque serial number
Amount Fields: Numeric (courtesy) and written (legal) amounts with cross-validation
Date: Issue date with validity checking
Payee: Handwritten or printed payee name extraction
Signature: Signature region extraction for verification
Bank Information: Bank name, branch, and address details
json
{
  "extraction_id": "ext_20240214120000_abc123",
  "confidence": 0.94,
  "fields": {
    "routing_number": {
      "value": "021000021",
      "confidence": 0.99,
      "source": "micr"
    },
    "account_number": {
      "value": "1234567890",
      "confidence": 0.98,
      "source": "micr"
    },
    "amount": {
      "numeric": 1500.00,
      "written": "One thousand five hundred",
      "confidence": 0.89,
      "mismatch": false
    },
    "payee": {
      "value": "John Smith",
      "confidence": 0.87,
      "needs_review": false
    },
    "date": {
      "value": "2024-02-14",
      "confidence": 0.95,
      "valid": true
    }
  }
}

API Integration

Submit an image, get structured fields and confidence scores.

curl
curl -X POST \
  https://api.chequedb.com/v1/extract \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "image=@cheque.jpg" \
  -F "fields=all" \
  -F "confidence_threshold=0.85"

Synchronous API

For real-time processing with immediate response. Ideal for mobile cheque deposit and interactive applications. Average response time under 2 seconds.

Asynchronous API

For high-volume batch processing. Submit jobs and receive webhook notifications when extraction completes. Handles thousands of cheques per minute.

SDK Support

Native SDKs for iOS, Android, and Web with pre-built UI components. View SDK documentation.

Need the broader deposit workflow view first? Review the bank check OCR API page.

ERP Integration

Push extracted cheque fields to SAP, Odoo, QuickBooks, or any custom ERP via REST API. Idempotent posting with control totals, error handling, and full audit trail synchronization. ERP integration docs.

Advanced Features

Built for teams that need field-level accuracy, exception control, and review traceability

Confidence Scoring

Every extracted field includes a confidence score (0.0-1.0). Set thresholds for automatic acceptance or manual review routing.

Cross-Field Validation

Automatically verify that numeric and written amounts match. Validate routing number checksums and date ranges.

Fraud Detection

Integrated fraud scoring during extraction. Detects altered amounts, suspicious patterns, and duplicate cheques.

Human-in-the-Loop

Automatic routing of low-confidence extractions to review queues. Side-by-side image and data comparison interface.

Batch Processing

Process thousands of cheques in parallel. Ideal for back-office operations and end-of-day processing.

Real-time Processing

Sub-second response times for mobile and interactive applications. Webhooks for status updates.

Extraction Accuracy by Field Type

Printed Fields

MICR Line (Routing/Account)99.9%
Bank Information99.5%
Date (Printed)98.5%

Handwritten Fields

Amount (Numeric / CAR)97.8%
Amount (Written / LAR)97.1%
Payee Name96.5%

Accuracy measured across 10M+ production cheques including personal, business, and consumer items. Low-confidence handwritten fields route to human review automatically — not posted with uncertain values. How handwriting recognition works.

Common Use Cases

Mobile Cheque Deposit

Enable customers to deposit cheques via mobile apps with instant data extraction and validation. Learn more.

Business Cheque Scanning

Capture individual cheques or batches with OCR, MICR, duplicate checks, and exception review. Learn more.

Fraud Prevention

Combine extraction with fraud detection to identify altered amounts, forged signatures, and suspicious patterns. Learn more.

ERP Integration

Push extracted handwritten cheque data to SAP, Odoo, QuickBooks, or any ERP via REST API with full audit trail. Learn more.

Frequently Asked Questions

What is cheque data extraction?

Cheque data extraction is the automated process of capturing and converting information from paper cheques into structured, machine-readable formats. Using technologies like OCR and MICR, the system reads routing numbers, account numbers, amounts, dates, and payee names from cheque images. Modern solutions also use AI and deep learning to handle handwritten fields with high accuracy.

How accurate is automated check data extraction?

Chequedb achieves 99%+ accuracy for printed fields (MICR line, bank details) and 97%+ for handwritten fields including the numerical amount, legal amount in words, and payee name. The accuracy depends on image quality, handwriting legibility, and the extraction technology used. Unlike standard OCR vendors that only handle printed text, Chequedb uses field-specific ICR models trained on cheque handwriting, plus cross-validation between the numeric and written amounts to catch mismatches before posting.

What data can be extracted from a check?

Check data extraction captures: (1) MICR line data, including routing number, account number, and check serial number; (2) Amount fields, including both numeric (courtesy amount) and written (legal amount); (3) Date of issue; (4) Payee name; (5) Memo field; (6) Signature for verification; and (7) Bank name and branch information. Advanced systems also extract security feature data for fraud detection.

How does the Chequedb extraction API work?

The check processing API accepts check images via REST endpoints, processes them through our extraction pipeline, and returns structured JSON data with confidence scores. The pipeline includes image preprocessing (deskewing, denoising), field localization, OCR/ICR recognition, data validation, and fraud scoring. Results are typically returned in under 2 seconds, with webhook notifications for asynchronous processing.

What's the difference between OCR and MICR for check processing?

MICR (Magnetic Ink Character Recognition) reads the special magnetic ink used for routing and account numbers at the bottom of checks. It is highly accurate, but it only works for that specific line. OCR (Optical Character Recognition) reads printed text visually and can extract all fields. Modern systems combine both: MICR for the bottom line, OCR for printed fields, and ICR (Intelligent Character Recognition) for handwritten text.

Can check data extraction handle handwritten checks?

Yes — and this is a key differentiator. Chequedb uses field-specific ICR (Intelligent Character Recognition) models trained on cheque handwriting, achieving 97%+ accuracy on handwritten amounts, 97.1% on the legal amount in words, and 96.5% on payee names. Standard OCR vendors handle printed fields well but cannot reliably extract handwritten text. For operations that process personal cheques — where the payee, amounts, and date are all handwritten — a printed-only extraction system leaves the most important fields unautomated. Low-confidence extractions route to human review automatically rather than being posted with uncertain values.

Ready to Replace Manual Cheque Handling?

Book a live walkthrough to see extraction, exception routing, and approvals in context. Then validate your field requirements before moving to sandbox testing.