Offline dictation means the speech model lives on your phone — so the honest requirement isn't an Android version, it's memory. OpenWispr reads how much your phone has before it downloads anything, and picks a model that fits.
Every on-device dictation app has the same shape: download a speech model once, then run it locally. The download is the part people are warned about. The part that actually decides whether the app works for you is what happens next — that model has to be loaded into memory to transcribe anything, alongside whatever else your phone is running.
A large speech model is roughly 600MB of weights. Add a cleanup model to turn "um so can you send me the doc by thursday" into "Can you send me the doc by Thursday?", and you are asking a phone for around a gigabyte of resident memory in an app that is not the foreground game. On a recent flagship that is unremarkable. On a 3GB budget phone, Android will kill it, and what the user sees is a dictation that never returns.
The failure mode this creates is worth naming precisely, because it is the single worst thing an on-device app can do: it happens during setup. The download succeeds, the progress bar fills, everything looks fine — and then the first dictation fails on a phone that never had the memory for it. The user has spent 600MB of data and ten minutes to arrive at an error. This is not hypothetical; it is what a competitor's one-star reviews describe, in the words "needs more free memory right now", after restarting the phone twice.
On first run, before any download starts, OpenWispr reads two numbers from Android: total device memory (and Android's own low-memory-device flag, which manufacturers set on Go-edition and budget builds), and free storage in the app's own directory. Those two decide which pair of models gets downloaded.
Roughly 6GB of RAM and up gets the large pair: the Parakeet speech model plus OpenWispr's fine-tuned cleanup model, about 1GB together. Around 4GB gets a lighter pair, Whisper base plus a 270M-parameter cleanup model — about 383MB. Below that, or on any phone Android itself flags as low-memory, the smallest pair: Whisper tiny plus the same small cleanup model, about 316MB in total. Free storage can push you down a tier but never up: a phone with plenty of RAM and 400MB free gets the smaller pair, because the larger one cannot land.
Every tier is a real, fully on-device pair. A smaller tier is a smaller model, not a cloud fallback and not a stripped-down mode — the smallest configuration still transcribes and still cleans up, entirely on the phone, with no account and no network. The tradeoff is accuracy on long, fast, or noisy speech, which is a genuine cost and one we would rather state than hide.
If the phone is genuinely short on space for even the smallest pair, OpenWispr says how many megabytes short, on the setup screen, before starting a download that was going to stop partway. And none of this is a lock: Settings lists every speech model with its size, marks the one recommended for your device, and lets you pick a different one in either direction.
A recent flagship (8GB+): the full pair, and the fastest, most accurate setup OpenWispr has. Nothing to think about.
A mid-range phone (4-6GB): the lighter pair. Dictation works, offline, in every app; you'll notice the difference most on long unbroken passages and in noisy places. Storage cost is about a third of the full download.
A budget or older phone (3GB or less, or Android Go): the smallest pair, around 316MB. Best with short, clear dictation — a message, a reply, a note — which is most phone dictation anyway.
Very old Android: the app requires Android 7.0 or newer. Below that it won't install.
The thing worth taking away, whichever app you end up using: an on-device dictation app that offers you one model regardless of your phone has made a decision about which phones it serves, whether or not it says so on the listing.
Open source and entirely on your device. Android from Google Play, macOS from GitHub — no account, no sign-up, just a download.