wasi-master /wmkeyboard
A modern, privacy-first Android keyboard: offline intelligence, 600+ languages, themes, tools and an addon ecosystem.
★ 897⑂ 55👁 8⑃ 20● 1,175▤ 27◈ 45
897
stars
55
forks
8
watchers
20
prs
1,175
issues
27
releases
45
discussions
README
Private. Offline. Yours.
An open source multilingual Android keyboard with prediction, glide typing, transliteration,
emoji search and an 89-tool toolbox that all run on the phone and never phone home.
Install · Tour · Languages · Privacy · Builds · FAQ · Build · Read the docs
https://github.com/user-attachments/assets/3bd063a9-6701-4ccd-82ef-edd40a42b8e0
Why I built this
A keyboard is the one app that sees everything you write. Your messages, your passwords, your
half-typed thoughts you deleted before sending. Somewhere along the way the popular keyboards
decided that was a business model. The prediction got better, and the price for that was a
copy of your keystrokes getting sent to somebody else's server.
The keyboards that refused that deal were mostly forks of the same decade-old Android code. Good
bones, honest intentions, but no glide typing without a proprietary blob, no real toolbox, and
nothing for the language I actually type in. Bangla was an afterthought everywhere: either a
phonetic engine bolted on with no prediction, or a layout with no smart features behind it.
So I wanted a keyboard that did three things at once. Type Bangla the way Avro taught a whole
country to type it. Carry the features I reach for all day, clipboard, snippets, translate,
calculator, scanner, without leaving the text field. And keep all of that on the phone, where
it belongs. This is that keyboard. It is written from scratch in Kotlin and Jetpack Compose,
keyboard surface included, and the whole intelligence layer runs offline.
A few screenshots
It starts by understanding how you spell
Type a word the way it sounds in Latin letters, and the keyboard finds the word you meant.
Every one of these runs on the device, with no network and no delay.
| You type | You get | Engine |
|---|---|---|
| ami valo achi | আমি ভালো আছি | Avro-compatible Bangla phonetic, with a lenient index: asi, achi and achhi all reach আছি |
| namaste | नमस्ते | Hindi phonetic with a map of how people actually romanise Hindi |
| aap kaise ho | آپ کیسے ہو | Urdu phonetic, folding to the consonant skeleton the script itself spells with |
| vanakkam, nenu, 3arabi | Tamil, Telugu, Arabic script | Phonetic layouts for eleven more languages, Arabizi digits included |
| nihao | 你好 | Pinyin, including a T9 nine-key variant |
| konnichiwa | こんにちは | Romaji to kana with conversion candidates |
| xin chaof | xin chào | Vietnamese Telex |
The same prediction engine sits behind every one of them, so glide typing, autocorrect and
next-word suggestions work in Bangla exactly as they do in English.
The tour
The features the keyboard has
Typing
- Prediction that learns, locally. A trie-lattice beam decoder shared by tapping and glide,
n-gram context ranking, and on-device learning of your words, bigrams and trigrams. One tap
clears all of it.
- Autocorrect you can argue with. Corrections are gated by a likelihood ratio Top issues
#1219[BUG]: AI models don't unload properly when it fails5 comments · 2026-11-10#1217[FEAT]: ability to add custom rows4 comments · 2026-11-10#1221Do not automatically capitalize1 comments · 2026-11-10#1220[FEAT]: Do Not Wipe Clipboard History1 comments · 2026-11-10#1215[FEAT]: Harden clipboard secret handling and centralize the write path1 comments · 2026-11-10#1208[FEAT]: Per-language glide profiles: context-aware German, English list-size split, and Finnish1 comments · 2026-11-09#1193Make host JNI test prerequisites find Cargo on Windows1 comments · 2026-11-09#1167[FEAT]: (Huge One) Train and transportation guide navigation integration1 comments · 2026-11-06
Discussions
#1223Please reject us!2 comments · 2026-11-10#1186Quick question1 comments · 2026-11-08#1183google play version is behind the latest0 comments · 2026-11-08#1180We wait too long! :)3 comments · 2026-11-07#1095Is there any way to set up diacretics and alt glyphs for long press?1 comments · 2026-11-03#1039How to make Autocorrect stronger?1 comments · 2026-10-30#1009Capitalizing "i"1 comments · 2026-10-29#1037[Extra]: Give WM treatment to another insanely useful simple android utility that has been EOL6 comments · 2026-10-26
Latest release
WM Keyboard 0.6.6 v0.6.6 2026-11-10What's new in 0.6.6 Plugins now run Python instead of Lua. One-row boards come in 36 languages, Avro included, and a smart punctuation key reads the sentence and offers its mark in 58 languages. Keys can take Expressive Keyboard's materials and Keys Cafe's press splashes, a photo can be cut up across the keys, Parakeet can run on the Snapdragon NPU, and WM Keyboard can be the phone's digital assistant and its voice input. Typing and autocorrect - Hold a word on the suggestion strip and pick Correct to… to teach autocorrect what it should become: type kagay, correct it to lagay, and the nex