Question · Voice and AI
Does Home Assistant voice control work offline?
Yes, the local setup is designed to run without sending speech to outside servers: Speech-to-Phrase or Whisper handles speech to text, Piper speaks the reply, and Assist does the matching on your own Home Assistant system. It stops being offline if you choose Home Assistant Cloud, a cloud language model such as OpenAI, or a cloud speech engine for a language the local models do not support.
Updated October 17, 20264 min read8 cited facts, each traced to its source
Yes. Home Assistant voice control can run fully on your own hardware. The project's local setup uses a speech-to-text engine that runs on your system, Piper for the spoken reply and Assist for the commands, and it says no data is sent to external servers for processing 1. Two things break that promise: choosing a cloud speech service, and choosing a cloud language model. Both are optional, and both are easy to avoid.
This answer follows the project's local setup guide and its cloud and language model pages, checked on 17 October 2026.
The local pipeline keeps speech on your network
The local pipeline has three parts, and each one can run on your own machine. Speech-to-Phrase or Whisper turns your voice into text. Assist matches the text to a built-in command or a sentence you added. Piper speaks the reply. The project says that the local pipeline needs the Home Assistant Operating System running, because that is what runs the whole setup together 2.
Speech-to-Phrase is the fast local choice for fixed home commands. Whisper handles open speech on slower hardware. Both stay local, but the local speech-to-text models do not support every language 3. Check your language before you commit to one. Our question on whether Whisper runs offline covers the same question for Whisper outside Home Assistant.
Cloud options send your voice to a service
The project offers Home Assistant Cloud as an alternative to running speech locally. It is an optional subscription that supplies the speech engines used by Assist, and Home Assistant works fully without it 4. If you use it, your speech processing runs on Microsoft Azure. The project says that Azure's enterprise services run under commercial terms, and that Home Assistant Cloud itself keeps no record of your voice, data or commands 5. Those are the project's statements. We did not read Microsoft's terms for this guide, so read them yourself if you need to rely on them.
The cloud speech route is also the option for some languages that the local models do not support. The project says that for some languages it believes Home Assistant Cloud provides the best experience, because the local speech-to-text models do not support them 3. So a language gap pushes you toward the cloud, and the offline setup may simply not exist for your language.
Language models decide the rest
A language model only handles the requests that Assist's built-in matcher does not understand. Home Assistant says Assist handles commands first by default 6, which means a light switch or a timer can stay local even when a language model is connected. The trouble starts with questions and open requests, which are the ones that reach the model.
The OpenAI integration is a cloud service. Home Assistant says it requires an API key and is a paid service, so you should watch your costs in the OpenAI portal 7. A request sent to it leaves your network. A local model is different. Ollama can run on your own server. Home Assistant recommends exposing fewer than 25 entities to a local language model when you experiment with Ollama 8. That advice comes from the project's guidance, not from a test of one model.
What to do if you need it to work with no connection
Use this checklist to decide what you need:
- Choose Speech-to-Phrase if you only need fixed commands for lights, locks, timers and scenes. Choose Whisper if you need open speech, and check that your hardware can run it.
- Set the assistant's conversation agent to Home Assistant, not a cloud model, if you want commands to stay local.
- Do not select Home Assistant Cloud for speech to text or text to speech. The project lists it as a separate choice from the local engines.
- Test the setup with your internet connection off before you rely on it. The project's pages describe the pipeline as local, but they do not report a test of an internet outage, so you need to confirm the behavior on your own system.
Offline also differs from private. Local speech engines keep audio on your network, but a language model you choose decides where its requests go, so check that choice separately. Our question on how to set up voice commands in Home Assistant walks through the local setup, and the question on whether Home Assistant can use an LLM for voice covers the language model choice in more detail.
For the full pipeline, read our guide to Home Assistant voice. For the wider difference between on-device and cloud recognition, see our guide to on-device speech recognition. The glossary entry for voice assistant defines the category.
Evidence
Every number on this page, with where it comes from. Open a fact to see the exact words in its source.
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
Go deeper
Related questions
- Can Home Assistant use ChatGPT or a local LLM for voice?
- Can you control Home Assistant with Alexa or Google Assistant voice commands?
- How do you set up voice commands in Home Assistant?
- How do you use Whisper for speech to text in Home Assistant?
- What is the best speech to text for Home Assistant?
- What is the Home Assistant Voice Preview Edition?
- What voice commands does Home Assistant understand?
- Are AI summaries of voice recordings accurate?