Start with the microphone permission
The most common cause, and the easiest to miss because nothing announces it.
A keyboard needs permission to use the microphone, and that permission can be denied at install time, revoked later, or removed automatically by Android if you have not used the app for a while. What you see is usually a microphone button that does nothing, or one that appears and immediately gives up.
Check it in Android's app settings under the keyboard's permissions. If it was switched off, granting it fixes the problem immediately and no restart is needed.
Something else has the microphone
Android generally gives the microphone to one app at a time.
If a call is connected, a voice memo is recording, a fitness app is listening, or a video call is open in the background, dictation may get nothing at all. This is a particularly confusing failure because everything looks correct and the app simply hears silence.
Close whatever else might be listening and try again. If you are wearing a Bluetooth headset, suspect that too: which microphone the system hands over depends on the headset and the profile it is using, and it does not always pick the one you expected. Testing with the headset disconnected tells you quickly whether that was the cause.
The microphone button is not there at all
Different problem, different fix.
Some keyboards hide the microphone when there is nothing to dictate with. For apps that use an on-device speech model, that usually means the model has not been downloaded yet, or the download did not finish, so there is nothing to run.
There is also a deliberate case. In password fields, a carefully built keyboard removes voice input on purpose so that a password cannot be dictated by accident. If the button disappears only in login screens, the design is working as intended and nothing is broken.
No signal, if your dictation is cloud based
This one separates the two kinds of voice typing.
If the recognition happens on a server, then a weak connection produces exactly the symptoms people describe as "it stopped working": it waits, it spins, it times out, or it silently discards the sentence you just delivered. Trains, lifts, basements, aeroplanes, foreign SIM cards and hotel Wi-Fi all produce it.
The tell is that the same app works perfectly at home and fails on the move. If that matches your experience, nothing is broken. The design simply needs a network, and you were somewhere without one.
Dictation that runs on the device does not have this failure mode. Once the model is on the phone, no part of the process asks for the network, so airplane mode behaves exactly like full signal. You can confirm which kind you have in about ten seconds: turn off mobile data and Wi-Fi and try to dictate.
It works but gets the words wrong
Not a fault, usually. Recognition quality moves with things you can influence.
Background noise mixes into the same signal as your voice and cannot be separated afterwards, so a café or a car is genuinely harder than a quiet room. Distance matters for the same reason. Speaking in complete sentences helps more than people expect, because the system uses the surrounding words to choose between options that sound alike, and a single word said alone gives it nothing to work with.
Names and jargon are the other reliable failure. A model trained on general speech has not met your colleague's surname, so it substitutes something ordinary. If your keyboard lets you add words, that is the fix, and it is permanent.
If everything is misheard, and not just the occasional word, check which language the dictation is set to. A mismatch between the language you are speaking and the one it expects produces confident nonsense and never an error message.
Slow is not broken
Speed depends on your phone and, for on-device recognition, on the size of the model you chose.
Larger models are more accurate and take longer, and on an older handset the difference is substantial. If dictation has become sluggish, moving down a size is the first thing to try and it usually makes more difference than anything else. LocalType ships three, at 60, 190 and 539 MB, and keeps one on the device at a time, so switching swaps the file out and does not add a second one. On a test phone with 4 GB of memory the middle size turned 6.9 seconds of speech into text in 4.1 seconds, while the largest takes roughly twice as long as you spent speaking.
A phone that is very short of free storage or memory will also struggle, since the model has to be loaded to run at all.
The one that catches people after an update
This failure is invisible and produces a very specific complaint: dictation worked yesterday and does not today, with nothing obviously changed.
Android occasionally resets permissions for apps you have not opened in a while, even though you use the keyboard constantly, because using a keyboard is not the same as opening its app. A system update can do the same. Neither announces itself, and the app cannot tell you what it was not given.
The other version of this involves the default keyboard quietly changing back after an update or a restore, so you are dictating into a different keyboard than you think. Open a text field, bring up the keyboard selector, and confirm which one is actually active before assuming anything is broken.
If none of that fixed it
Work through the list in order and change only one thing at a time. It will usually be one of the first three.
For LocalType specifically, the help pages cover the app's own error codes and the setup steps for enabling and selecting the keyboard, and the app can export a technical report describing your device and settings. That report contains no audio, no dictated text, no clipboard contents and no passwords, and nothing is sent in the background: you decide whether to share it.
Why LocalType has fewer of these failures
Not all of them. Permissions can still be revoked, another app can still hold the microphone, and a noisy room is still a noisy room.
But the whole category of connection failures does not exist, because the speech model is a file on your phone and the recognition happens there. There is no server to be unreachable, no timeout, and no sentence lost to a tunnel. Internet access is requested for exactly one purpose, fetching the model you chose, and never again after that.
The app also has no account to be signed out of, and no subscription check that can fail on a bad connection. That quietly removes yet another common reason for dictation to stop working one morning with no visible cause at all.