Free forever · 200 OCR + 50 extraction pages/mo

The handwriting to text API for forms and field notes.

Doctor scrawls, inspection forms, customer-handwritten paperwork, whiteboard photos. Returns the same typed JSON as printed text. No separate model, no separate endpoint, no preprocessing.

Get started today for free. No credit card required.

Live demo

Try it on a real document.

Run OCR on a sample document, or drop in your own. No sign-up, no API key.

handwritten form
A handwritten form is loaded and ready
Hit Run OCR to watch OCRWell pull the text out live. No sign-up, no API key.

Or run it on your own document

Drop a document here

PDF, PNG, JPEG, TIFF, WebP, or BMP. Up to 4 MB, single page.

Or try a sample

Before and after

See a handwritten form become extracted text.

Use text mode when a document mixes printed labels and handwritten answers. OCRWell returns the words on the form in a clean text format.

Source document
A realistic handwritten patient intake form for Riverside Medical Centre
OCR result
completed-text.json
json
{
  "job": {
    "id": "019539a6-6c3d-7e5f",
    "status": "completed",
    "mode": "text",
    "page_count": 1,
    "created_at": "2026-05-14T00:18:00Z",
    "completed_at": "2026-05-14T00:18:04Z"
  },
  "result": {
    "pages": [
      {
        "page": 1,
        "text": "PATIENT INTAKE FORM\nClinic: Riverside Medical Centre\nPatient name: Sarah Thompson\nDate of birth: 14/03/1978\nVisit date: 14/05/2026\nReason for visit: Persistent cough, two weeks\nAllergies: Penicillin\nSignature: S. Thompson"
      }
    ]
  }
}
Schema-driven

Tell us the fields. We read the page.

Send a template schema describing the values you need. OCRWell reads the form, extracts the handwritten answers, and returns typed data in result.data.

Source document
A realistic handwritten patient intake form for Riverside Medical Centre
Structured input and output
request.json
json
{
  "upload_id": "019539a7-8e4f-7a6b",
  "filename": "handwritten-intake-form.webp",
  "mode": "structured",
  "schema": {
    "patient_name": "",
    "date_of_birth": "",
    "visit_date": "",
    "phone": "",
    "reason_for_visit": "",
    "symptoms": "",
    "current_medication": "",
    "allergies": "",
    "notes": "",
    "signature": ""
  }
}
completed-structured.json
json
{
  "job": {
    "id": "019539a7-8e4f-7a6b",
    "status": "completed",
    "mode": "structured",
    "page_count": 1
  },
  "result": {
    "data": {
      "patient_name": "Sarah Thompson",
      "date_of_birth": "14/03/1978",
      "visit_date": "14/05/2026",
      "phone": "0412 555 019",
      "reason_for_visit": "Persistent cough, two weeks",
      "symptoms": "Mild chest tightness, worse at night",
      "current_medication": "Salbutamol as needed",
      "allergies": "Penicillin",
      "notes": "No fever. Review if not improving.",
      "signature": "S. Thompson"
    }
  }
}
Built for the messy parts

Where handwriting OCR earns its keep.

Any style

Cursive, print, and mixed

Doctor scrawls, field-inspector block letters, customer forms where half the page is printed and half is handwritten. Same endpoint, same response shape.

Schema-driven

Form fields, not just paragraphs

Send a JSON schema and get back exactly the fields you asked for. The model reads the form layout, finds the values, and types the response. No bounding-box maths in your code.

Hallucination-guarded

LLM-verified output

Handwriting OCR is the place errors hurt most. OCRWell reconciles raw OCR against domain context before returning, catching hallucinations before they ship downstream.

Pricing

Start free. Pay only when you scale.

Free forever
200 OCR + 50 extraction pages every month
  • No credit card required.
  • Hard cap, no overage charges.
  • Paid plans from $20/mo when you grow.

Read what humans wrote, today.

Generate an API key, send your first handwritten form, and have typed JSON back in seconds. Free forever tier covers 200 OCR pages per month.

Get your API key today No credit card required. 200 OCR + 50 extraction pages / month, free forever.