
Key takeaways
- CleverType for Android 8.29.0 (released Nov 5, 2026) adds a handwriting layout for every keyboard language that Google's ML Kit handwriting recognition supports.
- You write a word with your finger, see a live preview, and it goes into the text field.
- Recognition runs on your phone. Your ink is not sent to CleverType's AI servers. Each language needs a one-time download of about 20 MB.
- Find it in Settings > Languages: tick "Handwriting" on a language's card, then switch to it with the globe key.
Some languages are just slow to type on a phone keyboard. You know how to write the word by hand. Finding each of its letters on the keys is the slow part.
So we built a way to skip the keys. As of CleverType for Android 8.29.0 (Nov 5, 2026), the AI keyboard for Android gives every language whose handwriting model Google provides gets a Handwriting layout in CleverType. You write on the keyboard with your finger, and it turns your ink into typed text in whatever app you're in.
What's new
A Handwriting layout for each supported language
If Google's ML Kit Digital Ink Recognition can read a language, that language gets one extra layout, and it's always listed last on the language's card. Switch to it and a writing area takes the place of the letter rows.
The bottom row is still made of real keys: ?123, comma (which becomes @ in email fields and / in URL fields), globe, emoji, space, delete and enter. We kept the keyboard the same height as a typing layout, number row included, so switching doesn't change how much of the screen it covers.
Live preview and alternatives
While you're still writing, the strip above the keyboard shows what your ink reads as so far. It refreshes 150 ms after each stroke, or 300 ms for scripts with many strokes per character.
You don't have to wait for it. Tap the previewed word and it goes in right away. If you'd rather keep your hand moving, just pause: the top result is inserted the same way a glide-typed word is, with an automatic space before the next word. The strip also holds up to 5 alternatives, and tapping one swaps it in for the word you wrote.
Writing letters on top of each other
The pad is only a few letters wide. That's fine for "cat" and tight for anything longer, so you can write each letter right over the last one, and CleverType spreads them out side by side before recognition. Earlier letters fade, which keeps the one you're writing easy to see.
This step matters. Without it, Google's Malayalam model read a stacked "hello" as a single letter (യ). With it, you get "hello".
We only do this on strong evidence: at least 3 stacked letters, with the normal reading finding fewer than half of them. A single character whose parts happen to overlap keeps its normal reading. Chinese, Japanese and Korean skip the step entirely, because their characters are built from many overlapping strokes. Right-to-left scripts (Arabic, Hebrew, Thaana) get laid out leftwards.
English letters in any script's model
Every ML Kit model for a non-Latin script also recognises the 52 Latin letters, which turns out to be handy. Say you've set up Malayalam Handwriting and want to drop an English word into a message, a common need for multilingual keyboard users who switch languages. Write "hello" in English letters and you'll get "hello", with no second download and no English layout needed.
Two handwriting settings
There are two settings under Settings > "Glide typing & Gestures" > "Handwriting", and each has 7 steps:
- Handwriting speed: Very slow, Slow, Slightly slow, Normal, Slightly fast, Fast, Very fast.
- Stroke width: Thinnest, Thinner, Thin, Normal, Thick, Thicker, Thickest.
Both travel with keyboard settings sync.
A redesigned Languages screen and a new keyboard switcher
We used this release to redesign the Languages screen too. Each language now has one card, and the layout picker shows keyboard previews.
There's also a new "Change keyboard" dialog of our own. Long-press the space bar or the globe key and it opens with your CleverType languages at the top, each with its flag and a tick next to the active one. If a language has several layouts, the layout name shows under it. Other installed keyboards sit in a collapsed "Other keyboards" section, and if you have only one language, you'll also see "Add languages".
How it works
Recognition happens on your phone. We use Google's ML Kit Digital Ink Recognition, which runs inside the CleverType app, so your ink goes to ML Kit on the device and not to CleverType's AI servers. That fits our wider privacy-first approach to AI keyboards. Google describes the technology as working fully offline and in near real time.
The part that does touch the internet is the model. Each language needs one from Google, about 20 MB, and it isn't bundled in the app. Two layouts of the same language share one model. Adding handwriting grew the Play download on arm64 phones by about 3 MB (about 28 MB before, about 31 MB after).
Models download at app launch, as soon as you add a Handwriting layout, and whenever the keyboard is shown while a model is still missing. They come down one at a time. Remove a language's Handwriting layout and its model is deleted at the next app launch to free the space. ML Kit fetches its models through Google Play services, so on a phone without Play services, Handwriting isn't offered.
Timing is what you'll feel most while writing. Recognition starts once your finger has been up for a short pause, and all the ink you've written so far is read as one piece. At Normal speed that pause is 700 ms for Latin, Cyrillic, Greek and similar scripts. Many-stroke scripts get 1,000 ms: Chinese, Japanese, Korean, the Indic scripts, Thai, Lao, Khmer, Myanmar, Tibetan and Amharic.
ML Kit also gets a little context: the last 20 characters before your cursor. That helps it tell whether you've started a new word or are finishing one, and where spaces belong. Twenty is also the cap in ML Kit's documentation.
Then there's picking the right model. Your keyboard language maps to the most specific ML Kit model whose script matches, so Brazilian Portuguese gets the Brazilian model if there is one. We were careful with the near-misses. Hinglish never gets the Devanagari model, Hindi never gets the Roman-letter Hindi model, and Serbian Latin never gets the Cyrillic one. Hinglish also uses the shorter 700 ms pause, like English.
Google's model list covers a lot of scripts, among them Latin, Cyrillic, Arabic, Hebrew, Greek, Devanagari, Bangla, Tamil, Telugu, Kannada, Malayalam, Thai, Han, Japanese and Korean (see the base models list).
How to set it up
Setup is a few taps, but do it somewhere with a signal.
- Make sure the model can download: connect to Wi-Fi or mobile data before you use it the first time.
- Open CleverType's Settings and tap "Languages". The screen you land on is titled "Keyboard Languages".
- Tap the language's card. A picker titled "Layouts for {language}" opens, with the hint "Tick the layouts you want on your keyboard".
- Tick "Handwriting" (it has the grey line "Write with your finger" under it) and tap "Done". The picker always keeps at least one layout ticked.
- Open any text field and tap the globe key until the writing area shows up, with "Write here" in faint text.
- Write a word with your finger, then pause.
One shortcut we added: when you add a new language that has exactly one typing layout, that layout comes pre-ticked next to Handwriting, so you don't have to go back and tick it yourself.
The very first time, expect a short wait. While the model downloads, the language card shows "Downloading handwriting…" and the pad says "Getting handwriting ready…". Writing does nothing until the model arrives.
Examples
Here's what lands in the text field for a few everyday inputs.
| What you do | What you get |
|---|---|
English Handwriting: write hello, pause | hello goes in with an automatic space. The strip offers up to 5 alternatives. |
Malayalam Handwriting: write hello in English letters | hello, with no English layout needed |
| Write H, e, l, l, o, each on top of the last | hello (earlier letters fade as you write over them) |
Write H, pause, then write ello | Hello (the second piece joins the first) |
Write under, pause, then standing | understanding |
Write wow, then tap ?123 and ! before the pause ends | wow! (the word goes in first, then the !) |
| Write a word, then tap delete before it is recognised | The ink is thrown away and nothing goes in |
With Sun cat in the field, write dog, then tap the start of the field before the pause ends | Dog Sun cat (the word goes in at the new cursor and is capitalised for that spot) |
| Chinese Handwriting: write a character | It goes in with no space. Tap an alternative to replace it. |
Splitting a word across two pauses works too. Write hel, then lo, and the strip offers whole words such as hello and helio, so you can pick the one you meant.
Spacing follows the language. Chinese, Japanese, Thai, Lao, Khmer and Myanmar text goes in with no spaces, while other scripts get an automatic space between words. In terminal apps, the text goes in exactly as written.
Tips
- If words get cut in half, slow it down. Set "Handwriting speed" to Slow or Very slow. At Very slow, Latin waits 1,400 ms and many-stroke scripts wait 2,000 ms. If words go in too slowly instead, try Fast or Very fast (350 ms for Latin, 500 ms for many-stroke scripts).
- Pick a stroke width you can see. Normal (4.25 dp) is the default, and the steps run from 2 dp (Thinnest) to 7.5 dp (Thickest).
- Keep to one line. ML Kit's recogniser assumes one line of text, so don't drop down to start a second row on the pad.
- Let a word finish before you close the keyboard. Ink that hasn't been recognised yet is dropped when the keyboard hides. That's deliberate. Recognising it at that moment could insert the word twice ("hellohello").
- Check the strip before rewriting. ML Kit returns candidates in ranked order and the strip keeps that order, so when the first guess is wrong, the word you meant may already be sitting there.
- Hop away and back. Recognisers stay loaded for 30 seconds after the keyboard hides, so coming straight back is fast.
Troubleshooting
- "Getting handwriting ready…": the model (about 20 MB) is still downloading. Give it until the language card stops showing "Downloading handwriting…".
- "Handwriting will download when you're online": the download is waiting for a connection and will start by itself once you're back online.
- "Couldn't download handwriting. Will retry when online.": the download failed. The keyboard retries on its own (after 1 hour, doubling up to once a day). If you don't want to wait, remove the Handwriting layout and add it again to start a fresh download straight away.
- "Handwriting isn't available for this language": this phone has no ML Kit model for the language. Use the globe key to switch to another layout.
- No "Handwriting" option in the picker: either the language has no ML Kit model, or the phone has no usable Google Play services. In that second case no language offers it, and the handwriting settings are hidden as well.
- Letter keys instead of the pad in a password field: that's on purpose. The pad never appears in password fields, fields that ask for no personalised learning, or incognito mode. ML Kit's on-device recogniser writes what it reads to the system log, and we didn't want your passwords anywhere near that, so you type on the language's normal keys instead.
- A Handwriting layout synced through Cloud Sync shows no letter keys on a phone running an older CleverType version: press the globe key to switch layouts, or update the app.
How it compares
We didn't invent handwriting on phones. Gboard, Samsung Keyboard and the iPhone keyboard all have some version of it, and each handles it a little differently.
| Keyboard | Handwriting for finger input |
|---|---|
| CleverType (Android) | A Handwriting layout for each language ML Kit supports, switched with the globe key |
| Gboard (Android) | A Handwriting layout per language. Turn it on in Settings > Languages, then hold the globe key to pick it. Google notes it is not available in all languages. |
| Samsung Keyboard (Galaxy) | A Handwriting mode for finger or S Pen, opened from Expand toolbar > Handwriting. Options vary by carrier, software version and model. |
| Apple iPhone keyboard | Handwriting is listed only for Chinese Simplified, Chinese Traditional and Cantonese Traditional |
You'll notice our design copies Gboard's on purpose: handwriting as the last layout per language, globe-key switching, and 7-step speed and stroke width. People who've used Gboard's version shouldn't have to relearn anything. Under the hood we run on Google's public ML Kit models. We don't know whether Gboard uses the same models, and we haven't compared accuracy, so we make no claim either way.
On iPhone, VoiceOver also has a separate handwriting mode for entering characters with a finger. It's an accessibility feature, not a keyboard layout.
Limitations
- Only languages ML Kit covers. Any other language shows no Handwriting entry.
- Needs Google Play services. Phones without it get no Handwriting layouts, and a Handwriting layout synced onto one of those phones falls back to the language's normal keys.
- First use needs internet for the roughly 20 MB download per language. After that, recognition doesn't need our servers.
- Android only. This release covers CleverType for Android, not iPhone, the desktop app or the Chrome extension.
- Not in sensitive fields. The pad never appears in password fields, no-learning fields or incognito mode.
- One line at a time. Write a single line per word. Chinese, Japanese and Korean are written one character at a time in the same space, without the stacked-letter layout.
- Accuracy depends on Google's model. Recognition quality for each script comes from ML Kit, and we haven't measured it against other keyboards.
Frequently Asked Questions
Does handwriting recognition work offline?
Yes, once the language's model (about 20 MB) has downloaded. The first use of each language needs internet for that download. After that, recognition runs on your phone.
Is my handwriting sent to CleverType's servers?
No. Your ink goes to Google's ML Kit library, which runs inside the app on your phone. It isn't sent to CleverType's AI servers.
Which languages have a handwriting layout?
Every CleverType keyboard language that Google's ML Kit Digital Ink Recognition has a model for. ML Kit's model list includes Hindi, Malayalam, Tamil, Arabic, Chinese, Japanese and Korean. If a language has no model, you won't see the Handwriting option on its card.
Can I write English on a Hindi or Malayalam handwriting layout?
Yes. The ML Kit models for non-Latin scripts also recognise the 52 Latin letters, so English words come out as English text, with no second download.
Why does the pad not appear in password fields?
We turned it off in password fields, fields that ask for no personalised learning, and incognito mode. ML Kit's on-device recogniser writes what it reads to the system log, so we keep sensitive fields away from it and show the normal keys instead.
Why was my word cut in half, or recognised too early?
The keyboard recognises after a short pause. Set "Handwriting speed" to Slow or Very slow in Settings > "Glide typing & Gestures" > "Handwriting" to wait up to twice as long.