skillfed

pyttsx3

Text to Speech (TTS) library for Python 3. Works without internet connection or delay. Supports multiple TTS engines, including Sapi5, nsss, and espeak.

pyttsx3 v2.99 906.2K downloads/30d#4,760 on PyPI2,529
Copyleft license MPL-2.0 Active released

What it is and what it does

pyttsx3 is a Python library that performs text-to-speech conversion entirely offline, without requiring internet access or external API calls. It wraps platform-native TTS engines: SAPI5 on Windows, AVSpeech and NSSpeechSynthesizer on macOS, and eSpeak on Linux. You initialize an engine, configure voice, rate, and volume properties, then call methods to speak text aloud or save it as an audio file.

The library is designed for developers and end users who need reliable, low-latency speech synthesis without cloud dependencies. It supports multiple voices where available on the system and exposes a simple API for both quick one-liners and detailed engine configuration. Platform-specific runtime dependencies (Windows COM bindings, macOS Objective-C bridge, Linux eSpeak) are pulled in automatically, though Linux users must install espeak-ng and libespeak1 system packages separately.

Use it for:

  • Build accessibility features into desktop or CLI applications that read text aloud for visually impaired users.
  • Create voice-based notifications or alerts in automation scripts without relying on external APIs.
  • Generate audio files from text for offline use in educational or training materials.
  • Add voice output to chatbots or interactive command-line tools running on local machines.
  • Prototype voice-enabled features in applications where cloud TTS latency or cost is prohibitive.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

pyttsx3 converts text to speech offline using your system's native TTS engines, with control over voice, speed, volume, and the ability to save audio to files.

Yes, if you need offline text-to-speech. The library is actively maintained, has no known vulnerabilities, and installs with low friction. The MPL-2.0 copyleft license is permissive for most use cases. Main caveat: platform-specific system dependencies (especially on Linux) and the need to manage multiple OS-level TTS engines mean setup varies by OS. Suitable for developers building accessibility, automation, or voice features into local applications.

Install

pyttsx3 on PyPI

pip

pip install pyttsx3

uv

uv add pyttsx3

poetry

poetry add pyttsx3

Installing pyttsx3

Before you install

Low friction install with a pure-Python wheel. Maintenance is active with recent commits and a healthy GitHub presence. Runtime dependencies are platform-specific OS bindings (comtypes, pyobjc, pypiwin32, pywin32) that may require system-level TTS libraries on Linux.

License in practice

Licensed under MPL-2.0 (copyleft). You may use and modify the library freely, but any modifications must be shared under the same license, and the license applies to the library code itself, not your application.

Quickstart

import pyttsx3
engine = pyttsx3.init()
engine.say("I will speak this text")
engine.runAndWait()

On Linux, espeak-ng and libespeak1 must be installed; on macOS, pyobjc>=9.0.1 may be required; Windows uses SAPI5 (built-in).

Verify before relying

  • Whether all four runtime dependencies (comtypes, pyobjc, pypiwin32, pywin32) are required on all platforms or only on specific OS.
  • Exact Python version floor (requires_python is unspecified in the fact sheet).

Package facts

License MPL-2.0 (copyleft)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 4 — comtypes, pyobjc, pypiwin32, pywin32
Maintenance actively maintained — 402 days since the last release
Last repo commit
First released
Downloads 906,177/month — #4,760 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pyttsx3-2.99-py3-none-any.whl

Keywords: gtts, ivona, offline text to speech, offline tts, pyttsx, pyttsx for python3, pyttsx3, speech, speech synthesis, text to speech, text to speech for python, tts, TTS for python3

Intended Audience :: DevelopersIntended Audience :: End Users/DesktopIntended Audience :: Information TechnologyIntended Audience :: System AdministratorsOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIXProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9

Tags

offline text to speechtts without internetpython speech synthesistext to speech libraryoffline tts enginevoice generation pythonspeech audio file export
offline-firstaccessibilityspeech-synthesis

More Linguistic packages