How to download the on-device language model for transcription on iPhone
iOS does not ship a local speech model for every language on every phone the moment you set it up — it fetches one, per language, when a specific setting tells it to. Until that download finishes, on-device transcription for that language has nothing to run on, no matter which app is asking.
It is easy to assume "on-device transcription" is a capability a phone either has or does not, the way it either has a working microphone or does not. It is closer to a download that has or has not happened yet. iOS supporting a language and iOS having that language's model sitting on your phone, ready to run with no network involved, are two different facts, and the gap between them is exactly where "why did this just get sent to a server" complaints come from.
What actually has to be on the phone
On-device speech recognition works by running a trained model locally — no different in kind from any other machine learning model, just small enough to fit on a phone and run without a server behind it. That file has to be downloaded and stored before a single word can be recognised offline. A language iOS lists as supported is a language it knows how to handle in principle; it says nothing about whether that particular file has actually been fetched onto this particular phone yet.
The setting that triggers the download
The reliable way to get it: Settings → General → Keyboard, add the language as a keyboard, and make sure Dictation is switched on. That is not an obscure setting chosen at random — it is the same dictation pipeline behind the microphone key on the keyboard, and it is what tells iOS a language is actually in use on this phone rather than merely available in a list. Adding the language and leaving the phone on Wi-Fi for a while is what starts the fetch; nothing about opening a recording app for the first time does the same thing on its own.
Cellular is not a reliable substitute here. Language assets are treated the way other large system downloads are — held for Wi-Fi rather than pulled over a cellular connection, so a phone that is never on Wi-Fi with the language added can sit indefinitely without the model arriving.
There is no progress bar, so this is how you check it actually finished
iOS does not surface a percentage or a "language pack installed" confirmation anywhere obvious. The direct way to find out: open Notes, tap the microphone on the keyboard, switch to Airplane Mode first, and dictate a sentence in that language. If words appear with no network reachable, the model is on the phone and working. If nothing happens, it is not there yet, whatever the settings screen claims about the language being "supported."
That test is worth repeating per language rather than trusting one result for all of them — a phone can have the model for one language and not another, and there is no single switch that downloads everything you might ever want at once.
What can stall it
- No Wi-Fi. The most common reason a language never arrives is a phone that mostly lives on cellular with Wi-Fi added and forgotten.
- A freshly set up or freshly reset phone. Languages that were already downloaded on an old phone do not carry over automatically — a new device starts this process over.
- Very little free storage. The model has to be written somewhere, and a phone close to full can fail the download the same way it fails any other large write.
- Not enough elapsed time. iOS fetches these assets on a schedule of its own rather than the instant a language is added, so checking within the same minute you changed the setting is checking too early.
What runs instead while the model is not there yet
A request for on-device recognition in a language with no local model installed does not wait or queue — it fails or comes back empty immediately, every time, for that language, until the download completes. What happens next depends on the app: some report the failure outright, and some quietly retry the same audio with on-device recognition turned off, which sends it to Apple's speech service instead if there is a network connection. With no connection, that retry has nowhere to go and produces nothing rather than a transcript.
Why no app can speed this up or skip it
The download, the storage location, and the schedule it runs on all belong to iOS, not to whichever app happens to be requesting speech recognition. An app can ask for on-device recognition and it can react to the result, but it has no interface for telling the system "fetch this language's model now" or "here is why this one is urgent." Every app built on Apple's Speech framework is waiting on exactly the same system process, whether it is a recorder, a notes app, or the keyboard's own dictation button.
How Voice Studio fits into this
Voice Studio always attempts the on-device path first, for any of its 38 transcription languages, and only retries with on-device recognition turned off — reaching Apple's speech service — if that local pass comes back empty or throws an error. Whether the first attempt has a model to run on is entirely the iOS-level process described above; the app has no separate download of its own to manage, and no way to bypass the wait. Beyond that fallback, Voice Studio has no account, no server of its own and no analytics SDK, so recordings and transcripts stay in the app's own storage on the device regardless of which path a given transcription took.
Common questions
Does adding a language under Settings → General → Keyboard always download its speech model?
It is what triggers the download, but the fetch runs on iOS's own schedule over Wi-Fi rather than finishing instantly. Adding the language and leaving the phone on Wi-Fi for a while is what actually gets the file onto the phone.
Can an app make the download happen faster?
No. The download, where it is stored, and when it runs are all handled by iOS, not by individual apps. Every app requesting on-device speech recognition is waiting on the same system process.
How do I know for certain a language's model is actually on my phone?
Turn on Airplane Mode, open Notes, tap the keyboard's microphone, and dictate a sentence in that language. Text appearing with no network available is the only reliable confirmation — the settings screen listing a language as supported is not the same thing.
What happens if I try to transcribe a language before its model has downloaded?
The on-device attempt fails or comes back empty immediately. Depending on the app, it may then retry over the network if you are online, or simply return nothing if you are offline, since there is no local model for it to fall back on.
Try it in Voice Studio
Voice Studio records, transcribes on your iPhone, and files each note by time and place — so the thought you had in the car is still findable next month.
Free to download · iPhone and iPad · iOS 16.4 or later