Skip to content
WM KeyboardWM Keyboard
Accessibility

Downloads & mobile data

What a language downloads, when it downloads, and which downloads ask before spending your mobile data.

Adding a language can pull files down. Most of them are tiny, one of them is 42 MB, and none of them check whether you’re on Wi-Fi first. This page lists exactly what gets fetched, when, and what it costs, so nothing on your bill is a surprise.

Screenshot pending
Download language data? The prompt shown as you add a language, with the rough size on it.

Two kinds of file, both small, both behind switches that ship on:

  • Emoji keyword packs, so emoji search answers in the language you’re typing rather than only in English. 125 languages have one. They’re gzipped JSON, mostly 70 to 100 KB, and the largest in the whole set is 112 KB.
  • Word-pair data, the bigrams and trigrams predictions rank with, so the keyboard knows which word tends to follow which. Three languages have a pack today: English (about 1.1 MB), Bangla (about 1.8 MB) and Banglish (about 315 KB). More get added as the data repository grows them.

Both are gated on Download data automatically (WM KeyboardLanguagesLanguage dataDownload data automatically, default on). Emoji packs have a narrower switch of their own on top of that, Download automatically under WM KeyboardEmojiEmoji keywords (also default on), and both have to be on for a pack to arrive by itself.

The check runs from the keyboard rather than the settings app, and it runs off your enabled-language list rather than once at install. Add Tamil today and its pack is fetched the next time you type on the keyboard. Anything already on disk is skipped, and a download that fails is left alone until the keyboard’s process next starts, so a dead connection doesn’t turn into a retry loop.

Word lists are never in this set, whatever the switches say. They’re the big ones, and they stay a deliberate tap.

DownloadWhereRough size
Word list, per size tierLanguages → (a language) → DictionaryPrinted on the row. That figure is the whole remote file, from a few KB to about 40 MB; a size tier stops the transfer well short of it
Download language data? prompt (word list, emoji keywords and word-pair data in one go)Shown as you add a languageNamed on the dialog
Download all dataLanguages → (a language) → Language dataNamed on the button
Pinyin tableLanguages → Chinese → Chinese optionsAbout 2.5 MB
Stroke tableLanguages → Chinese → Chinese optionsAbout 450 KB
Cangjie tableLanguages → Chinese → Chinese optionsAbout 350 KB
Jyutping tableLanguages → Cantonese → Cantonese optionsAbout 3.4 MB
Kana to kanji tableLanguages → Japanese → Japanese optionsAbout 42 MB

Every one of these shows you the size before you commit, and pressing the button is the consent, so there’s no second confirmation once you have. The add-language prompt is the only one with a way out: Download fetches the set, Not now adds the language with nothing, Cancel backs out of the language too. Word-list tiers and how downloaded and imported lists combine are covered on Downloadable dictionaries; the CJK tables and what each one is for are on Chinese, Japanese & Korean.

Here’s the part worth knowing. No language download checks whether the connection is metered. The automatic emoji and word-pair packs start on whatever is up, the prompts quote a size but never mention Wi-Fi, and the 42 MB Japanese table goes over mobile data exactly as it would over broadband.

For the automatic pair that’s a few hundred kilobytes a language, which is why it’s allowed to be quiet. For the manual ones it’s your call, and if your plan is tight there are three ways to keep it that way:

  • Turn Download data automatically off. Nothing is fetched until you ask for it on a language’s own screen.
  • Answer Not now to the add-language prompt, then come back to Download all data when you’re on Wi-Fi.
  • Leave the CJK tables, the Japanese one above all, for a Wi-Fi moment. Nothing else about a language comes close to it except a word list taken at the Everything tier.

Nothing here downloads in the background when the keyboard isn’t running, and nothing resumes on a schedule: there’s no job queue waiting for a better connection, which is the flip side of there being no metered check. See Network policy for the full accounting of what this keyboard contacts and when.

Three downloads elsewhere in the app do treat a metered connection differently, so the difference is a line drawn at size rather than an oversight:

DownloadWhen it asksWhat you get
Whisper voice models Full edition onlyMetered connection and the model is over 150 MBA “Use mobile data?” dialog naming the model and its size, with Download anyway and Wait for Wi-Fi
On-device AI models Full edition onlyMetered connection and the model is over 500 MBThe same dialog
Rotating photo backgroundsNever asks. It’s a setting instead: Use mobile data, off by default, in a theme’s Online photos groupA rotation waits for Wi-Fi rather than prompting

Models under those thresholds go through without a word: the smallest Whisper model is about 42 MB and the smallest on-device AI model about 143 MB, so both download on mobile data with no dialog. Full detail on those two is on Offline voice (Whisper) and AI writing tools.

WM KeyboardLanguagesLanguage data
SettingWhereDefault
Download data automaticallyLanguages → Language dataOn
Download automatically (emoji keywords)Emoji → Emoji keywordsOn
Download all dataLanguages → (a language) → Language dataA button (no stored value)
Dictionary size tier (per download)Languages → (a language) → DictionaryLarge (up to 300,000 words)
Use mobile data (photo backgrounds)Appearance → Keyboard themes → (edit a theme) → Board → Rotating background → Online photosOff
  • “Automatically” means the keyboard, not the app. The automatic pass lives in the keyboard service and runs when your settings change while it’s up. Sitting in the settings app after adding a language doesn’t fetch anything; opening a text field does.
  • Nothing downloads before the first unlock. The automatic pass is skipped entirely until the phone has been unlocked once after a restart, because the files it writes live in storage that isn’t readable before then. Type on a still-locked device and the packs simply arrive later.
  • A failed automatic download is not retried in that session. The language is remembered as given up on for the life of the keyboard’s process, so a bad connection costs one attempt, not a stream of them. Restarting the keyboard (or the phone) clears the mark.
  • Deleting a language’s emoji keywords tells the automatic pass to leave it alone. That’s how deleting the pack sticks instead of it quietly reappearing on your next connection.
  • Everything comes from one place. Word lists, emoji keywords, word-pair data and the CJK tables all download from the same public data repository over plain HTTPS. No analytics, no per-download reporting, nothing else contacted.
  • Sizes shown are the compressed transfer, not what lands on disk. For word lists they’re also an upper bound: the transfer stops early at words that occur only once in the source, so a finished download is often smaller than the number promised.