Handwriting OCR
Site: https://www.handwritingocr.com/
Aucun plan tarifaire detaille n'est encore disponible pour cet outil.
Skip to main content The #1 Handwriting to Text Converter Finally, OCR That Actually Works on Handwritten Documents Get 95%+ accuracy on messy, cursive, and challenging handwriting. Upload your documents and receive clean digital text in seconds. Fast, secure, and scalable for any volume. Try now or Create an account Free trial - no credit card required 100% secure Always private Rated 4.5/5 on G2 Trusted by 30000+ users worldwide Digitizing inspection report Complete Accurate Results from Any Handwriting You’ve tried OCR before — Adobe, Google, scanner apps. Great for printed text, awful for handwriting. Retyping by hand takes hours, leaving your notes, forms, and letters untouched — impossible to search, share, or use. HandwritingOCR is different. Our AI is purpose-built to read handwriting the way you do, turning even the messiest notes and scribbles into clean digital text, ready to use right away. Better accuracy than I could have done by hand. It worked beautifully — I love it! Simone B. Built for Real-World Documents Precise. Quick. Efficient. Our advanced AI captures even the toughest handwriting and preserves the original formatting. Spend less time editing and more time putting your data to use. Your results: ✅ ✅ ✅ Ready to export → Unparalleled accuracy With word error rates of less than 1%, you can trust Handwriting OCR to give the most accurate results. Privacy first Bank-grade encryption protects your documents at every step. We never train our models on your content or share it with third parties - your sensitive information remains exclusively yours. 🇺🇸 🇰🇷 🇪🇸 🇫🇷 🇬🇧 🇸🇪 🇺🇦 🇹🇷 🇻🇳 🇷🇺 🇳🇱 🇵🇪 🇫🇷 🇯🇵 🇮🇳 🇲🇩 🇨🇦 🇨🇿 Multi-lingual Handwriting OCR supports more than 300 languages - including yours. Easy exports Send transcripts to Microsoft Word. Export table data to Excel. All in one click. Try now → Trusted by Thousands See why users choose HandwritingOCR “Brilliant!” Brilliant! I'm stunned at the accuracy - the OCR made fewer errors than a human transcriber would. John M. Family Historian “Easy API” I have chicken scratch handwriting so I compared different OCR services. Found yours by far the most accurate while also having the easiest API to use. Matt H. Developer “Recognized everything” I work with challenging legal documents daily. Your software correctly recognized everything - both printed text and handwriting. I'm satisfied and will definitely use it for my professional work. Adele D. Court Translator “Game-changer for our business” We use Handwriting OCR for processing old lease documents. It's been a complete game-changer for our business - it works incredibly well and saves us so much time. Nick L. Property Manager “Best AI for handwriting” Super impressed! Literally the only AI that could transcribe my handwriting without major mistakes. Tested 5-6 other AIs - yours is definitely the best. 100% accuracy, not a single error, even in Portuguese! Priscila C. Bullet Journaler “So easy I cried” After waiting 3 years to process 70 pages of legal documents and failing with Adobe Acrobat, Handwriting OCR processed everything in just one minute. I literally cried when I realized how easy it was. Maria B. Lawyer For Teachers and Professors Grade papers and assignments faster by converting handwritten work into digital format. Grade from anywhere on any device Capture work exactly as submitted Compare submissions easily For Historical Researchers Transform historical documents into searchable records, whether you're a professional researcher, genealogist, or preserving your own family's history. Perfect for census records, old letters, diaries, and documents in any language. Convert old handwriting and cursive accurately Support for multiple languages and scripts Preserve original document structure For Personal Writing & Journaling Transform your personal writings into searchable digital text while keeping the authentic feel of your handwritten work. Perfect for diaries, letters, journals, and notebooks. Preserve the layout and character of your original writing Access your personal archives from any device Import from paper or note-taking apps For Business Operations Transform paper documents into efficient digital workflows. Process handwritten forms, timesheets, invoices, and customer records with enterprise-grade accuracy and security. Process thousands of documents in seconds Extract data directly into your systems Save hours on manual data entry Simple, Transparent Pricing Affordable plans for every project Monthly Annual Get 2 months free Pay as You Go Save $15 / 100 pages Paid as $15 annually Loading... Try free now → What's included 100 credits. $0.15 per page. No commitment. Valid for 1 year. AI-enhanced formatting. Export to Markdown (plain text). Export to Microsoft Word. API access. Starter Plan Save 49% $19 / month Paid as $19 annually Loading... Try free now → What's included 250 credits / month. Then $0.08 per page Renews monthly. Cancel any time. AI-enhanced formatting. Export to Markdown (plain text). Export to Microsoft Word. API access. Pro Plan Save 60% $59 / month Paid as $59 annually Loading... Try free now → What's included 1000 credits / month. Then $0.06 per page Renews monthly. Cancel any time. AI-enhanced formatting. Export to Markdown (plain text). Export to Microsoft Word. API access. Export tables to Microsoft Excel. Custom extractors. Business Plan Save 66% $499 / month Paid as $499 annually Loading... Try free now → What's included 10000 credits / month. Then $0.05 per page Renews monthly. Cancel any time. AI-enhanced formatting. Export to Markdown (plain text). Export to Microsoft Word. API access. Export tables to Microsoft Excel. Custom extractors. Up to 5 team members. For higher volumes, options for offline deployment, or any other custom requirements, please contact us. Frequently asked questions Any other questions? Get in touch and we'll answer right away. What is Handwriting OCR? Handwriting OCR is a document automation service that specialises in digitizing documents containing handwriting. It uses a form of Optical Character Recognition (OCR) developed especially for reading handwriting. What file formats do you support? We support PDF, JPG, PNG, GIF, HEIC, and TIFF. For multi-page documents, PDF is recommended. Multi-page TIFFs are also supported. How does your pricing work? Each page or image costs one credit. Subscriptions and higher-volume plans offer significant savings. Do you use AI in the handwriting recognition process? Yes. Our handwriting models use machine learning to improve accuracy on difficult, messy, or varied handwriting. Do you train your AI models on my data? No. Your documents are never used to train or improve our models. We use pre-trained datasets, and your files remain private. Is my data private and secure? Yes. Files are encrypted in transit and at rest. Documents auto-delete after a short retention window you control. Data is never used to train our models. Read our privacy policy for more details. Do you offer an API? Yes - all users can access our API. Ideal for automating bulk workflows or integrating OCR into your own software. Our API is fully documented here. Can I process documents in languages other than English? Yes. We handle a wide range of languages and writing systems, including all major European languages, Cyrillic, Arabic, and many Asian scripts. Can I get help with large projects or custom requirements? Yes. We offer bulk pricing, enterprise plans, and custom integrations. For large projects, we provide full managed processing, where our team handles the entire workflow from start to finish and tailors the process to your exact document type - often delivering higher-quality results than standard processing. --- Skip to main content API documentation Last updatedSeptember 23, 2024 Key Features Handwriting recognition and text extraction Table structure detection and data extraction Support for PDF and common image formats (JPG, PNG, TIFF, etc.) Multiple export formats (TXT, DOCX, JSON, CSV, XLSX) Basic Process Upload Document Start by uploading your document with a specified action: transcribe: Extract all text from the document tables: Extract data from tables extractor: Extract structured data using a Custom Extractor. Check Status After upload, your document enters the processing queue. Check its status using the document ID returned in step 1. Download Results Once processing is complete, download the results in your preferred format: Transcription: TXT, DOCX, or JSON Tables: XLSX or JSON Extractor: XLSX, CSV, or JSON. Getting Started Create an account at handwritingocr.com Generate an API token in the dashboard For Custom Extractors, create and test an Extractor first. Test the API with a sample document Monitor results in the dashboard AuthenticationThe API uses token-based authentication. Each request must include a valid API token in the Authorization header. API tokens provide full access to the document management API for a specific user account. Tokens are generated through the web interface at https://www.handwritingocr.com/settings/api Tokens never expire but can be revoked or replaced at any time. Multiple active tokens are not supported Token permissions cannot be customized - each token has full access to all API endpoints Authentication HeaderInclude your API token in all requests using the Bearer authentication scheme:Authorization: Bearer your-api-token WebhooksWebhooks provide a more efficient and real-time alternative by automatically delivering the processed result in JSON format to a specified URL as soon as the document is ready, saving you bandwidth and reducing latency. You can set your webhook URL through the user dashboard, or for each request in the Upload Document endpoint documented above.All webhooks are protected by HMAC-SHA256 signature verification. Each webhook request includes an X-Signature header containing a cryptographic signature that proves the request came from our servers and hasn't been modified.Go to the user dashboard to generate your webhook secret, or set a global webhook URL. Rate LimitsTo ensure fair usage, protect our services from abuse, and maintain high availability for all users, our API enforces rate limits. Familiarizing yourself with these limits will help you build robust and efficient integrations.Standard Rate Limit Limit: We enforce a global rate limit of 2 requests per second (RPS). Scope: This limit is applied at the account level and is shared across all API endpoints. It is not a per-endpoint limit. Detecting Rate LimitsWhen your application exceeds the rate limit, the API will respond with an: HTTP Status Code: 429 Too Many Requests Rate Limit HeadersTo help you manage your request volume and anticipate when limits might be reached, the API includes the following headers in its responses: X-RateLimit-Limit: The maximum number of requests allowed within the current time window. X-RateLimit-Remaining: The number of requests remaining in the current time window. Retry-After: Sent with a 429 Too Many Requests response, this header indicates the number of seconds your application should wait before attempting another request. It is crucial to respect this header to allow your connection to recover. Best Practices for Managing Rate LimitsTo operate efficiently within these limits, especially when processing multiple documents, we recommend the following best practices: Use the document list endpoint: For tasks like checking the status of multiple documents, utilize batch or list endpoints (such as a document list endpoint if available). This allows you to retrieve the status of many items in a single API call instead of polling each one individually. Process sequentially based on status: Only attempt to retrieve full results for a document (e.g., download) once its status has changed to "processed" (or your equivalent terminal status). Implement exponential backoff: When you receive a 429 status code, use the Retry-After header value to pause before retrying. If Retry-After is not present, or as a general error handling strategy, implement an exponential backoff mechanism for retries. This helps reduce pressure on the API during busy periods. Cache responses: Cache responses from the API where appropriate to avoid requesting the same data repeatedly. Utilize Webhooks: By setting up a webhook, our service will proactively send your results to your specified URL as soon as they are ready. This eliminates the need for you to poll for status updates or use the API to download your results, significantly reducing your API call volume. You can set a webhook in your user dashboard's settings page. Increasing Rate LimitsFor users with consistently higher throughput requirements, we offer increased rate limits for Enterprise subscribers. These limits are determined on a case-by-case basis by negotiation.If you anticipate needing a higher rate limit than the standard offering, please contact our support team to discuss your specific needs. SupportFor technical support or questions, contact support@handwritingocr.com List documents Retrieves a paginated list of documents belonging to the authenticated user. Documents are sorted by creation date in descending order. Endpoint GET https://www.handwritingocr.com/api/v3/documents Headers Key Value Required Notes Authorization Bearer your-api-token Yes Accept application/json Yes Request Parameters Name Type Required Notes per_page integer No Number of items per page. Default is 50. Maximum 200. page integer No The page number for pagination. Defaults to 1. Response Codes Code Explanation 200 Success - Returns list of documents. 401 Unauthorized - Invalid or missing API token. 422 Validation Error - Invalid parameters. Request cURL Python 1curl -X GET "https://www.handwritingocr.com/api/v3/documents?page=1&per_page=100" \ 2 -H "Authorization: Bearer your-api-token" \ 3 -H "Accept: application/json" Response Success 1{ 2 "documents": [ 3 { 4 "id": "k2D9ZRz9Ob", 5 "file_name": "My-Document.pdf", 6 "action": "transcribe", 7 "page_count": 24, 8 "status": "processed", 9 "automatically_deleted_at": "2026-03-12T14:49:19.000000Z", 10 "created_at": "2026-03-05T14:49:19.000000Z", 11 "updated_at": "2026-03-05T14:49:19.000000Z" 12 }, 13 { 14 "id": "ql78YGv4dE", 15 "file_name": "Test_Doc_2.pdf", 16 "action": "transcribe", 17 "page_count": 36, 18 "status": "processed", 19 "automatically_deleted_at": "2026-02-24T14:09:00.000000Z", 20 "created_at": "2026-02-18T18:37:03.000000Z", 21 "updated_at": "2026-02-20T00:50:30.000000Z" 22 } 23 ], 24 "current_page": 1, 25 "from": 1, 26 "to": 2, 27 "total": 63, 28 "per_page": 2, 29 "last_page": 63, 30 "next_page_url": "https://www.handwritingocr.com/api/v3/documents?page=2", 31 "prev_page_url": null 32} Upload document Upload a new document for processing. Supports PDF files and various image formats. The API will automatically check the page count of the submitted document against your credit balance before queueing for processing. Endpoint POST https://www.handwritingocr.com/api/v3/documents Headers Key Value Required Notes Authorization Bearer your-api-token Yes Accept application/json Yes Content-Type multipart/form-data Yes Request Parameters Name Type Required Notes action string Yes Filter results by action. Options are transcribe, tables, extractor. file file Yes The document to process. Valid file types are PDF, JPG, PNG, TIFF, HEIC, GIF. Maximum file size is 20MB. delete_after integer No Seconds until auto-deletion. Overrides the auto-deletion period set in your user settings. Minimum is 300 seconds. Maximum is 1209600 seconds (14 days). extractor_id string No A 10-character alphanumeric string e.g. Ks08XVPyMd. Create and test an extractor in the dashboard to get the extractor ID. Required when action is extractor. webhook_url string No A webhook URL to send the results for this request. Overrides your global webhook URL. Response Codes Code Explanation 201 Success - Document created and queued for processing 400 Bad Request - Missing required fields. 401 Unauthorized - Invalid or missing API token. 403 Forbidden - Insufficient page credits. 415 Unsupported Media Type. 422 Validation Error - Invalid parameters. 429 Too many requests - Rate limited. 500 Server Error - File storage or processing failed. Request cURL Python 1curl -X POST "https://www.handwritingocr.com/api/v3/documents" \ 2 -H "Authorization: Bearer your-api-token" \ 3 -H "Accept: application/json" \ 4 -F "file=@/path/to/document.pdf" \ 5 -F "action=transcribe" \ 6 -F "delete_after=604800" Response Success 1{ 2 "id": "abc123", 3 "status": "queued" 4} Download result Retrieve the status of a document or download the processed results. The format extension is optional - if not provided, returns a JSON response. If the format extension is provided, downloads the processed document in the specified format. Image thumbnail URLs are provided for each page. These images must be authenticated with your API token to download. Webhooks We strongly encourage using a webhook instead of polling this endpoint repeatedly. See above for more details about webhooks and how to use them with the Handwriting OCR API. Endpoint GET https://www.handwritingocr.com/api/v3/documents/{id}[.{format}] Headers Key Value Required Notes Authorization Bearer your-api-token Yes Accept application/json Yes Path Parameters Name Type Required Notes id string Yes The document's unique identifier, example abcde12345. format string No Output format. Varies by action: valid values are txt, docx, xlsx, csv, and json. Response Codes Code Explanation 200 Success - Returns list of documents. 202 Accepted - Document is still being processed. 400 Bad Request - Invalid format for action type. 401 Unauthorized - Invalid or missing API token. 403 Forbidden - No permission to access document. 404 Not found - Document not found. 429 Too many requests - Rate limited. 500 Server Error - Error preparing file for download. Request cURL Python 1curl -X GET "https://www.handwritingocr.com/api/v3/documents/abc123.txt" \ 2 -H "Authorization: Bearer your-api-token" \ 3 -H "Accept: application/json" \ 4 --output document.txt Response Success (Transcribe) Success (Tables) Success (Extractor) 1{ 2 "id": "3486EvMD9p", 3 "file_name": "page-1.jpg", 4 "action": "transcribe", 5 "page_count": 2, 6 "status": "processed", 7 "results": [ 8 { 9 "page_number": 1, 10 "transcript": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." 11 }, 12 { 13 "page_number": 2, 14 "transcript": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat." 15 } 16 ], 17 "thumbnails": [ 18 { 19 "page_number": 1, 20 "url": "https://www.handwritingocr.com/api/v3/document/3486EvMD9p/image-1.jpg" 21 }, 22 { 23 "page_number": 2, 24 "url": "https://www.handwritingocr.com/api/v3/document/3486EvMD9p/image-2.jpg" 25 } 26 ], 27 "automatically_deleted_at": "2025-03-05 19:47:44", 28 "created_at": "2025-02-19T19:47:44.000000Z", 29 "updated_at": "2025-02-21T03:05:42.000000Z" 30} Delete document Permanently delete a document and its associated files. This action cannot be undone. Endpoint DELETE https://www.handwritingocr.com/api/v3/documents/{id} Headers Key Value Required Notes Authorization Bearer your-api-token Yes Accept application/json Yes Path Parameters Name Type Required Notes id string Yes The document's unique identifier. Response Codes Code Explanation 204 Success - Document deleted. 401 Unauthorized - Invalid or missing API token. 403 Forbidden - No permission to delete document. 404 Not Found - Document not found. 500 Server Error - Error deleting document. Request cURL Python 1curl -X DELETE "https://www.handwritingocr.com/api/v3/documents/abc123" \ 2 -H "Authorization: Bearer your-api-token" \ 3 -H "Accept: application/json" Get user information Returns the authenticated user's account details, including core user fields such as name, email, and account tier, alongside the current credit balance. Authentication is required via your API key passed in the request header. Endpoint GET https://www.handwritingocr.com/api/v3/users/me Headers Key Value Required Notes Authorization Bearer your-api-token Yes Accept application/json Yes Response Codes Code Explanation 200 Success - Returns user object 401 Unauthorized - Invalid or missing API token. Request cURL Python 1curl -X GET "https://www.handwritingocr.com/api/v3/users/me" \ 2 -H "Authorization: Bearer your-api-token" \ 3 -H "Accept: application/json" Response Success 1{ 2 "id": "rjq89y8DRY", 3 "name": "Test User", 4 "email": "tester@email.com", 5 "verified": true, 6 "type": "medium-monthly", 7 "balance": 11020, 8 "token": "1|GS8ouqzNOCbSEzXCiFlWEBve7PisNL4Yg33cfpoB6cde17b2", 9 "updated_at": "2026-03-09T10:16:25.000000Z" 10} Purchase additional credits Triggers an immediate credit top-up for the authenticated user using their saved payment method. Works independently of auto top-up settings. Rate-limited to one successful purchase per 5-minute window. Endpoint POST https://www.handwritingocr.com/api/v3/credits/topup Headers Key Value Required Notes Authorization Bearer your-api-token Yes Accept application/json Yes Request Parameters Name Type Required Notes amount integer Yes Number of credits to purchase. Must be a multiple of 100. Response Codes Code Explanation 200 Purchase succeeded. Returns the number of credits added, the user's updated balance, and the formatted charge amount. 402 The payment requires 3DS/bank authentication before it can complete. Follow authentication_url to complete verification, then retry. 403 Invalid API token, or the user does not have an active subscription. A subscription is required to purchase credits. 422 amount_not_multiple_of_100: The requested amount is not a valid denomination. Use multiples of 100, or the exact plan minimum. 422 amount_below_minimum: The requested amount is less than the minimum allowed for the user's subscription tier. Check min_amount for the correct floor. 422 no_payment_method: No saved payment method on file. The user must add one via the billing page before purchasing. 422 payment_failed: The charge was declined. Check decline_code for the reason (e.g. insufficient_funds, card_declined). 429 A successful purchase was already made within the last 5 minutes. Check retry_after (ISO 8601) for when the next purchase is permitted. Request cURL 1curl -X POST "https://www.handwritingocr.com/api/v3/credits/topup" \ 2 -H "Authorization: Bearer your-api-token" \ 3 -H "Accept: application/json" \ 4 -F "amount=500" Response Success Error 1{ 2 "success": true, 3 "credits_purchased": 500, 4 "new_balance": 1250, 5 "amount_charged": "$4.99" 6 } --- Skip to main content Privacy Policy How we handle your data with transparency, security, and respect for your privacy. Last updatedMay 24, 2025 We want you to feel secure and confident when using HandwritingOCR.com. Your privacy is our top priority, and we're committed to being transparent about how we handle your information. Our Commitment to You Your Data, Your Ownership: Any data you provide to us remains yours. We only use it to deliver our Optical Character Recognition (OCR) services. Limited Use: We do not use your data to train our AI models or for any purpose beyond providing you with our service. No Data Sharing: We will never sell, share, or distribute your data to third parties. Limited Access: Your privacy is paramount. Our team will never access your documents unless you explicitly request our assistance for support reasons. Data We CollectTo provide our service, we collect the following: Account information: This includes your name and email address. Billing information: This is securely processed by our trusted payment provider. Documents you upload: These are used specifically for OCR processing. Data Security and StorageWe take the security of your data seriously: We use industry-standard encryption for data. If you're an EU customer, your data is stored exclusively within the EU. For non-EU customers, your data is stored in the US. We implement rigorous access controls and security protocols to protect your information. Your Control Over Your DataYou have complete control over your data: You can delete your data at any time through your account settings. By default, we automatically delete processed documents after 7 days, but you can adjust this period in your settings. Once deleted, your data is immediately and permanently removed from our systems. We retain your data only as long as necessary to provide our services. Support and Document AccessOur support team is here to help, but we will only access your documents if you explicitly request assistance and grant us permission. We will never view your documents without your consent. Updates to This PolicyWe may update this policy to reflect changes in our practices or legal requirements. We'll always notify you of any significant changes. Questions or Concerns?We're here to help! Please contact us at privacy@handwritingocr.com with any questions about this policy or your data.By using HandwritingOCR.com, you agree to this privacy policy. If you don't agree, please do not use our service.We're committed to protecting your privacy and earning your trust. Thank you for choosing HandwritingOCR.com. Convert handwritten notes to Word, Google Docs and Markdown with the #1 handwriting to text converter. Try for free now → --- Skip to main content Skip to content Log in to your account Enter your email and password below to log in. Don't have an account? Create an account here. Remember me Forgot password? Loading... Log in Or Sign in with Google