Cursive Translator

About

About Cursive Translator

Cursive Translator is the name of this website and of the tools published on it. Nothing on this site states that a company, firm, archive or bureau stands behind that name, and nothing here should be read as such a claim.

The site publishes four tool pages and five written pages. Three of the tool pages submit an image to a machine transcription service and place whatever text comes back into an editable box. The fourth draws typed text onto a canvas in your own browser. This page describes what those pages consist of; it does not describe how well they perform, because that is not something this site measures or reports.

The four tool pages

None has an account or payment control. Three submit an image to an external service; the fourth page's drawing script sends neither typed text nor its canvas, while page-level analytics remains present.

The three upload pages are not three engines. They load the same script, post to the same endpoint /api/cursive-to-text, and that endpoint sends one request to Google Cloud Vision with DOCUMENT_TEXT_DETECTION and the language hint en. There is no per-page tuning, no per-page model and no per-page setting: the only difference between them is the wording on the page. All three accept JPG, PNG, WEBP, GIF, BMP and TIFF, reject anything over 6 MB before sending, and put the returned text into an editable <textarea> rather than a locked panel.

The text-to-handwriting page loads a different drawing script. That script sends neither the typed text nor the canvas in a request; it calls local canvas APIs on a 1240 px-wide canvas and requests fixed font stacks ending in the generic cursive keyword. The code does not inspect the resolved font, and the rendered result is browser-dependent. Page-level analytics requests remain present. The output is type set by the browser, not a reproduction of anyone's hand.

What arrives in the box, and what does not

The client reads the endpoint's text field, writes that string into the text area and reports a word count. It does not read or display confidence, highlighting, coordinates or other response fields. Nothing on the page distinguishes a word that matches the image from one that does not.

The box is a plain editable <textarea> rendered in a monospaced face. What follows from that, in the code as written:

  • You can change every character. The field is not read-only, and the Copy and Download buttons act on whatever is in the field at the moment you press them, not on what was returned.
  • Nothing is post-processed. The page does not spell-check, expand abbreviations, normalise spelling or reformat the returned string. It trims surrounding whitespace and nothing else.
  • This interface displays plain text only. The page reads one text field from the response and does not render coordinates or document layout. Rebuild any needed columns, tick boxes, table cells or marginal-note placement by comparing the box with the image.
  • You can write your own notation into it. The worksheets on this site use [unclear] and [?]; the box accepts them like any other text.

Site policy on the output: do not present it as a reading of your document until you have compared it against the image yourself, and check every name, date, figure and address against the page character by character before using it for anything.

What this site does not state

These are absences, listed so they are not mistaken for omissions.

  • No accuracy figure, anywhere. This site publishes no measurement of recognition quality and makes no claim about how any category of document will read.
  • No human step. There is no transcriber, no review queue and no certification in the request path. The request goes from your browser to a Pages Function to Google Cloud Vision and back.
  • No translation between languages. The request is sent with the single language hint en and returns text; nothing in the code translates.
  • No saved-work retrieval. The site code has no image or transcript database, does not intentionally persist either item, and provides no saved-work or history retrieval feature.
  • No availability undertaking. The endpoint has rejection branches for an unset key, configured request thresholds and upstream errors. The threshold checks are best-effort controls rather than hard platform quotas. See the terms.
  • No statement about your document. This site does not tell you whether your page can be read. Submit it and compare what returns against the image.

The five written pages

Five written pages sit alongside the tools. Four are worksheets: sequences of inspections to carry out, drill material to work through, and things to write down while the document is in front of you. The fifth is an argument summary rather than a worksheet, and is marked as such below.

Each tool page also states its own interface facts: which file types the input element accepts, the 6 MB client-side check, the request thresholds checked by the endpoint, and what each control on the page changes. Those are statements about the code on this site, not guarantees about distributed enforcement or about your document.

Where the material goes

The three upload pages and the canvas page differ in the request they make. That difference is in the code and is stated here.

The three upload pages

Pressing the read button reads the selected file as base64 in your browser and posts it to /api/cursive-to-text on this site. That endpoint is a Cloudflare Pages Function; it forwards the image to the Google Cloud Vision images:annotate endpoint and returns the text field from the response. The image leaves your device. The site code has no image or transcript database and does not intentionally persist either item. Its KV writes are request counters, operational counters and alert-throttle keys rather than copies of the submitted image or returned text.

Site policy: do not upload a page whose contents you are unwilling to send to an external processing service. A handwritten page may contain names, addresses, medical details, financial figures or information about other people. Crop or mask anything you do not need read.

The canvas page

The text to handwriting drawing script contains no request that sends the typed text or canvas. It calls canvas APIs and attempts PNG export with canvas.toDataURL on your device. Page-level analytics requests remain present and are described in the privacy statement.

This section is a summary. The privacy page carries the full statement, including the analytics tag included on every page of this site.

Corrections and questions

The address published for corrections and questions is [email protected]; the contact page states what to include. No reply time and no outcome are undertaken for anything sent there.

When writing about a fault, include the page URL, the browser and device, the steps in order, and the exact text of the status line. Do not attach the document you were trying to read.

Use of the site is governed by the terms, and data handling by the privacy statement.