invisible layer / installed voices
experiment 30 · speech synthesis api · no permissions
your voice list
is a profile.
Your operating system ships with a set of text-to-speech voices. Every language pack you install adds more. The resulting list is specific to your OS version, region, and configuration — all visible to any website without asking.
Your text-to-speech voice list reveals your operating system, every language pack installed, your region, and whether IT issued this device. No permission asked. The Speech Synthesis API is on by default in every major browser.
total voices
languages
inferred OS
SpeechSynthesis is unavailable in this browser. This API is supported in Chrome, Edge, Firefox, and Safari. Some server-rendered or headless environments disable it. Your voice list is still being read — try on a device with speakers.
installed language packs
▶ what does your voice list reveal?

The SpeechSynthesis.getVoices() method returns every text-to-speech engine installed on your device. On macOS, this exposes every language pack in System Preferences > Language & Region. On Windows, each language you've installed for Cortana or Narrator adds voices. Corporate devices managed by IT often have a standardized set that differs from consumer installs.

The pattern of voice names is OS-specific: macOS voices use names like "Samantha", "Daniel", "Karen"; Windows voices use "Microsoft Zira", "Microsoft David"; Android uses "Google US English"; iOS voices are identifiable by locale strings. The combination of OS-specific voice names, languages, and local vs. remote voice flags narrows your device to a very small population.

This signal is stable across VPNs, private windows, and cookie clears. It changes only when you change your OS language settings — an infrequent operation. When combined with canvas or audio fingerprints, it forms part of a cross-device tracking vector used by ad networks to re-identify users after cookie deletion.