MainspringGuides › say command
macOS Guide

The say Command: Make Your Mac Talk From Terminal

Updated July 2026 · 3 min read

Every Mac ships with a text-to-speech engine wired straight into Terminal. The say command reads any text aloud — a sentence, a file, or the output of another command — and can save the result as an audio file. It works the same on macOS 13 Ventura, 14 Sonoma, and 15 Sequoia, and needs no setup at all.

Speak your first sentence

Open Terminal and try any of these:

# The simplest possible use
say "Hello from the Terminal"

# Read a whole text file aloud
say -f ~/Documents/notes.txt

# Pipe another command's output into it
date | say

No sudo, no permissions prompt. say uses the system voice configured in Spoken Content settings and speaks through whatever your current sound output device is — switch to headphones or a Bluetooth speaker and it follows. If a sentence is longer than you expected, press Control–C to cut it off mid-word.

Beyond the novelty, it earns its keep in small ways: it's the fastest possible check that sound output is working at all, and hearing a paragraph read back catches typos and clumsy phrasing your eyes skim straight past. Speech is generated entirely on-device, so everything here works identically with no internet connection.

Pick a voice and change the speed

macOS ships with dozens of voices, and say can use any installed one via the -v flag. The -r flag sets the speaking rate in words per minute:

# List every installed voice, each with a sample sentence
say -v '?'

# Use a specific voice
say -v Samantha "This is Samantha speaking"

# Slow down or speed up (words per minute)
say -r 90 "Reading very deliberately"
say -r 280 "Racing through this sentence"

Most voices default to roughly 175 words per minute, and each voice has its own natural range — pushing an old novelty voice to 280 sounds very different from pushing a modern one. If the voice list looks short, download more in System Settings → Accessibility → Spoken Content → System Voice → Manage Voices… — anything you add there becomes available to say immediately, including the enhanced and premium versions of many voices.

Two things worth knowing about that voice manager: the list covers every language macOS supports, so you can install a French or Japanese voice and have say pronounce text in that language properly, and the premium voices are large downloads — some run to hundreds of megabytes — but once installed they work fully offline like everything else here.

Save the speech to an audio file

With -o, say writes audio to disk instead of speaking:

# Render text to an AIFF file instead of the speakers
say -o ~/Desktop/reminder.aiff "Stand-up meeting in five minutes"

# Play it back later
afplay ~/Desktop/reminder.aiff

AIFF is the default output format and plays anywhere on the Mac — QuickTime, Music, or the afplay command shown above. This is a quick way to produce a custom alert sound or a spoken reminder you can trigger from a script.

The genuinely useful part: a long-task alarm

The best everyday use of say is getting a spoken ping when a slow command finishes, so you can switch away without babysitting the window:

# Announce success when a slow command completes
make build && say "build finished"

# Announce failure instead
make build || say "the build failed"

# Announce either way
brew upgrade; say "brew is done"

&& only speaks on success, || only on failure, and ; speaks regardless of the outcome. It works after any command — long downloads, video exports, test suites — and unlike a notification, you'll hear it from across the room.

Skip the Terminal for the rest

say is one of dozens of capabilities macOS keeps behind the command line. Mainspring turns 90+ hidden macOS settings into labelled, reversible toggles — no commands to memorize, and every change has an off switch.

Try Mainspring free →

Signed & notarized by Apple · 1-day free trial · $29 once

Where the default voice lives

say without -v uses the voice set in System Settings → Accessibility → Spoken Content → System Voice. The same pane controls the speaking rate macOS uses everywhere else — see our guide to making your Mac read text aloud for the system-wide version of what say does in Terminal.