Lightweight character recognition in the browser.

Reaction widgets your visitors draw instead of click, and a character recognizer for your own page — from 10 KB, 98% right on capital letters.

Character recognition

draw a capital letter
Capital letters A–Z

Every option reads the same strokes.

optionaccuracyms/charzip sizetop 2time
accurate ↓98.5%0.24 ms41 KB
fast ↓97.8%0.10 ms49 KB
small ↓96.4%0.9 ms11 KB
templates ↓…

The neural options read capital letters; templates is the stroke matcher, and the only option for the other sets.

How to embed · Build one for your own symbols

Reactions

Draw a heart, a check or a star. Counted once per visitor.

Make your own embed →

Ratings

Draw your stars side by side, or tap the row.

Make your own embed →

Handwriting input

One box: write each letter over the last and get words out. One script tag, your own word list.

Try it →

Games

Ten games — hangman, crosswords, sudoku, quizzes, a wordle — every letter and digit written by hand.

Play on digitizer.fun → · How they use millirec →

Embed reactions and ratings

1. Make a widget

On Widgets, choose reactions, ratings or both and pick the symbols. You get a widget id and an edit token — keep the token, it is how you change the widget later.

2. Paste it into your page

The script once per page, then a placeholder wherever a widget should appear:

<script async src="https://millirec.com/embed/millirec-widget.js"></script>
<div data-millirec="reactions" data-widget="YOUR-ID" data-target="this-page"></div>
<div data-millirec="ratings" data-widget="YOUR-ID" data-target="this-page"></div>

3. Show the totals

data-target names what is being rated, so one widget serves many pages. Totals without a drawing pad:

<div data-millirec="reactions-count" data-widget="YOUR-ID" data-target="this-page"></div>
<div data-millirec="rating-average" data-widget="YOUR-ID" data-target="this-page"></div>

Or a badge with no script, for READMEs and emails:

<img src="https://millirec.com/badge/YOUR-ID/this-page.svg?type=rating" alt="rating">

The drawing is recognized on the visitor's device; only the vote reaches the server, once per visitor, with no account. More in Help →