Fix an empty voice list: no voices available in your browser
The voice dropdown is empty and nothing reads aloud. Here is how to tell whether the fault is the site, the browser, or your operating system, and how to fix each one.
2026-06-16 · 6 min read
You open a text-to-speech tool, the voice dropdown is empty, and pressing Listen does nothing. This is one of the most common problems with browser speech, and the frustrating part is that the fix depends entirely on which layer is broken. There are three layers: the website, the browser, and the operating system. Before you change any settings, it is worth spending thirty seconds figuring out which one is at fault, because fixing the wrong layer wastes your afternoon.
Start with the fastest test. Open a second, unrelated speech tool in the same browser and see whether it lists any voices. If the second tool works and the first does not, the problem is the first site's code, not your machine. The reason is a well-known timing bug. When a page asks the browser for its voice list, the list is often empty for the first fraction of a second and gets populated a moment later. The browser fires a 'voiceschanged' event when the real list is ready. A site that reads the list once on load, without waiting for that event, will show you nothing. There is nothing you can do about another site's mistake except reload the page and hope you win the race, or use a tool that waits for the event properly. If every site you try shows an empty list, the problem is below the browser, and the rest of this applies.
On Windows, the operating system should always expose the older built-in voices, so a completely empty list usually means something is wrong at the OS level rather than a missing language. If the voices you expect for a particular language are missing, Windows may not have that language's speech data installed. Look in Settings under the time and language section for language and speech options, add the language you want, and make sure its optional speech component is included. After installing, restart the browser fully so it re-reads the system list. Managed or work laptops are a special case: if your machine is administered by an employer, a policy can disable the speech engine entirely, and no amount of clicking will bring the voices back until that policy changes.
Linux desktop is the platform where an empty list is expected rather than surprising. Unlike Windows and macOS, a Linux desktop ships with no speech voices at all by default. The browser does not generate speech itself; it hands the request to a system service called speech-dispatcher, which in turn drives a separate synthesis engine such as espeak-ng or festival. If none of that is installed, the browser has nothing to offer and the list is blank. The fix is to install speech-dispatcher together with an engine, most commonly espeak-ng, through your distribution's package manager, then restart the browser. The voices you get this way are robotic rather than lifelike, but they are real voices and the dropdown will finally populate.
On macOS the situation is the opposite: the system always has voices, so an empty list there is unusual and almost always points back to the site's timing bug rather than a missing install. If you genuinely have no voices on a Mac, it is worth opening the system's spoken content or accessibility settings to confirm at least one voice is present and, if needed, downloading additional ones from there. In practice, though, a Mac user staring at an empty dropdown is usually looking at a site that failed to wait for the voice list, so try the second-tool test above before you go digging through system preferences.
Phones and Chromebooks work differently again because they route speech through a separate app. On Android and ChromeOS the browser relies on a text-to-speech engine installed at the system level, usually Google Text-to-Speech, and it has to be both present and enabled. If your list is empty, look in the system settings for the text-to-speech or accessibility section, confirm an engine is selected as the preferred one, and check that its voice data has actually finished downloading. A freshly reset device, or one that cleared the engine's data, can leave you with an installed engine that has no voices until you let it download them. Once the engine is set and its data is present, the browser will see the voices.
There is one more culprit that spans every platform: extensions and privacy settings. Some privacy-focused extensions, script blockers, or hardened browser configurations treat the speech engine as a fingerprinting surface and block it, which produces exactly the same empty list as a missing OS voice. If your voices vanished after you installed a new extension or tightened your settings, test the same page in a private or guest window with extensions disabled. If the voices reappear there, you have found your answer, and you can either whitelist the sites you trust or accept that speech will not work under that configuration.
To pull it together, the diagnosis follows a simple order. If one site fails but another works, it is the site's bug and you cannot fix it from your end. If every site fails, check the operating system: install a language pack on Windows, install speech-dispatcher and an engine on Linux, enable and download an engine on Android or ChromeOS, and confirm voices exist in system settings on Mac. If voices only disappeared recently, suspect an extension or a policy on a managed machine. A tool built correctly, like Wordcast, waits for the voice list before it gives up, so once the underlying voices exist on your device, they will show up where you expect them.