Live captions on your Mac, for whatever is playing.

Start it from the menu bar and a small window floats over your call or video, writing down what is said as it is said. It listens to system audio and the microphone at once, on Apple's on-device speech engine, and keeps the transcript as a plain text file.

Try it free for 7 days7 days free · no card

What live captions on a Mac are for

You want live captions on a Mac for one of three reasons. A call is in a language you follow better on paper than by ear. A video has no subtitles and you cannot turn the volume up where you are. Or you sat through a meeting, heard everything, and an hour later cannot remember what was agreed. The first two are about reading. The third is about having the words afterwards, which a caption strip cannot give you.

Coco's answer is a transcript window rather than a caption strip. It captures what your Mac is playing and what the microphone hears, and writes both into one scrolling list, each line marked with who it came from. You can scroll back to the start while the session is still running. When you stop, the whole thing is on disk as a text file with a time stamp on every line, and the audio beside it if you chose to keep it.

Recognition is Apple's own speech engine, the one behind dictation, run on the Mac itself whenever Apple allows that for your Mac's language. There is no server of ours, no account and no upload path in this feature. That sentence has one exception, described further down, and it is a switch you would have to turn on yourself.

What Coco's live captions actually do

System audio and the microphone, at the same time

System audio comes in through ScreenCaptureKit, the same path macOS uses for screen recording, so it covers any app. The microphone is captured separately through AVAudioEngine. Both land in one list, mic lines labelled Me and speaker lines labelled Others. If one source cannot start, the other carries on and a notice line says which is missing. With external speakers your own output can leak into the mic, so Coco drops a mic line that matches what the system channel just heard.

On-device Apple speech, in the language your Mac is set to

Recognition uses SFSpeechRecognizer, Apple's speech framework, with punctuation on. When Apple supports on-device recognition for your Mac's current language, Coco requires it, so the audio never leaves the machine and a session has no time ceiling. When it does not, the framework falls back to Apple's servers, as dictation does. The language is the one your Mac is set to in System Settings; there is no separate picker in Coco yet.

A window that stays out of the way

The transcript lives in a small glass panel that floats above other apps. Clicking it does not take focus from the call or video behind it, so you can scroll mid-meeting without your video app losing the keyboard. By default it is pinned: it stays visible over a fullscreen app and follows you across Spaces, and a header button unpins it. It can be moved and resized, and any of its text selected. Closing the window ends the session; a pause button stops new captions but not the recording.

The transcript is a file, and so is the audio

A Copy Transcript button puts the whole session on the clipboard as plain text, one line per utterance with its speaker. When you stop, Coco writes a .txt with a time stamp on every line, plus two .m4a tracks, one for the mic and one for system audio. They go to a Live Captions folder inside iCloud Drive/Coco when iCloud sync is on, and to ~/Library/Application Support/Coco otherwise. Keep Original Recordings is on by default; off, a stopped session keeps only the text.

An optional cloud engine, off by default

Coco ships with Apple's recognizer and nothing else configured. There is a hook for a cloud speech engine, switched on by adding a small configuration file with your own credentials; when that file is present and valid, both channels go to that service instead. This is the one path where audio leaves your Mac, and it only exists if you create it. It is there for people whose language the on-device engine serves poorly and who accept that trade.

Coco next to macOS Live Captions, Raycast and Alfred

macOS has its own Live Captions, in System Settings under Accessibility. Apple describes it as real-time, on-device captioning of audio from apps and FaceTime, of web content and of in-person speech through the microphone. On the current macOS Apple lists a fixed set of languages: several kinds of English, Cantonese, Mandarin, French, German, Japanese, Korean and Spanish. If your language is on that list and you only want to read along, turn it on; it is free and already there.

Coco is doing a different job with the same audio. Its window is a transcript: every line kept, marked by speaker, scrollable back to the start. The session is saved as text and audio you can open a week later, and the language is whatever Apple's speech framework supports on your Mac, a longer list than the Live Captions one. Raycast and Alfred are launchers with no captioning at all, so the real comparison is Coco against Apple.

CocomacOS Live CaptionsRaycastAlfred
Live captions at all
Captions system audio from any app
Captions the microphone too
On-device Apple speech recognition
Optional cloud engine you switch on yourself
Bundled with an app launcher

Turning on live captions on your Mac with Coco

  1. Start it from the menu bar icon

    Click Coco's icon in the menu bar, open the Live Transcription submenu and choose Start. The window appears and starts listening. Show brings it back if you hid it; Stop ends the session and saves the files. Typing cap into the launcher panel opens this feature's settings, not a session.

  2. Allow the three permissions macOS asks for

    System audio needs Screen Recording, because that is where macOS keeps it. The microphone needs Microphone, and recognition needs Speech Recognition. macOS prompts for each the first time. If you refused one earlier, switch it on under Privacy & Security and relaunch Coco; the screen-recording grant does not take effect until you do.

  3. Decide whether to keep the audio

    Settings, then Live Transcription. Keep Original Recordings is on by default, so each session leaves a transcript and two audio tracks; turn it off and only the text stays. The same pane sets the file name prefix and has a Clear All button that deletes every stored session at once.

  4. Find the transcript afterwards

    Choose Recordings from the same submenu to browse past sessions, read each transcript and copy it whole. The files sit in Live Captions/Recordings inside iCloud Drive/Coco, or inside ~/Library/Application Support/Coco with iCloud sync off.

Questions people ask about live captions on a Mac

Does macOS have live captions built in?
Yes. macOS includes Live Captions under System Settings, then Accessibility. Apple describes it as real-time captioning, generated on the device, for audio from apps and FaceTime, for web content and for speech near the Mac. It supports a fixed list of languages; on the current release Apple lists several kinds of English, Cantonese, Mandarin, French, German, Japanese, Korean and Spanish. Coco exists for what that window does not aim to do. It keeps every line as a transcript you can scroll back through, marks which side said it, saves the session as text and audio, and covers whatever language Apple's speech framework supports on your Mac.
Can Coco caption system audio, like a video call or a video?
Yes, and that is the main case. Coco captures system audio through ScreenCaptureKit, so it hears whatever any app is playing: a Zoom or Teams or Meet call, a YouTube tab, a lecture recording, a podcast. It needs no plugin inside the meeting app. At the same time it captures the microphone, so in a call the transcript shows the other side as Others and you as Me. The one requirement is the Screen Recording permission, which macOS asks for the first time and which needs a relaunch of Coco to take effect.
Does it work offline?
For most languages, yes. Coco uses Apple's speech framework and asks for on-device recognition whenever Apple supports it for your Mac's current language. In that mode the audio is processed on the machine, and nothing is sent anywhere. For a language where Apple has no on-device model, the framework falls back to Apple's servers, as dictation does, and needs a connection. Coco itself has no server, no account and no telemetry in this feature. The only way audio leaves your Mac by Coco's doing is the optional cloud engine, which stays off unless you create its configuration file yourself.
Which languages does it support?
Whatever Apple's speech recognizer supports on your Mac, in the language your Mac is currently set to. Coco reads the system language and hands it to the recognizer; if Apple has no recognizer for that language, the window says so. There is no separate language picker inside Coco yet, so captioning a French call on an English Mac means switching the Mac's language first. That is a real limitation and we would rather say so. Apple ships on-device models for some languages and not others; Coco uses the on-device one whenever it exists.
Does it translate?
No. Coco's live captions transcribe; they do not translate the transcript into another language. The code has a place for a translation step, and the transcript format already has room for a translated line under each original, but nothing is wired to it in the shipping app and no setting turns it on. Translation is on the roadmap, and it is the request we hear most from Japanese, Korean and Chinese users. Until it ships, the honest workflow is to copy the transcript with the Copy Transcript button and paste it into whatever translator you already use.
Where does the transcript go, and who can see it?
Each session becomes a text file with a time stamp and a speaker label on every line, plus two .m4a audio tracks if Keep Original Recordings is on, which is the default. They live in Live Captions/Recordings inside iCloud Drive/Coco when iCloud sync is on, and inside ~/Library/Application Support/Coco when it is off. Nobody but you can see them: there is no Coco server, no account and no upload in this feature. Coco does not encrypt the files beyond what protects your home folder. A Clear All button in settings deletes every stored session.
Let your AI do this
Let your AI do this

Copy the prompt, or send it straight to the AI you already use — it drives Coco through the same commands you would type yourself.

Install the Coco skill (npx skills add butterflydream-ai/Coco --skill coco -g -y), then use coco to help me with Live captions on your Mac, for whatever is playing..
How this works →
Try it free for 7 days7 days free · no card