Capture your mic and the call’s system audio together, with no bot joining the meeting. Transcribe on your Mac by default, then get a summary and action items when you want them.
Your mic plus everything you hear, transcribed when you stop.
Ready0:00
Start RecordingUpload File…
Today at 10:30 AMConversation12:48·GPT-4o Transcribe Diarize
Maya: Beta feedback is in. Most of it is about onboarding, not the editor.
Dev: Then the empty state goes first. I can have a draft by Thursday.
Maya: Good. Sam, can you get the churn numbers before the review?
Sam: Yes, I’ll send them Wednesday.
Maya: And I’ll share the beta notes with design.
Summary · just now
The team went through the beta feedback and agreed to fix onboarding before more editor work.
Onboarding
Most beta feedback is about the first-run experience.
Dev is drafting a new empty state first.
Before the review
Sam sends the churn numbers; Maya shares the beta notes with design.
3 action items · 1 done
“Rewrite this as meeting minutes”
Product sync
Attendees: Maya, Dev, Sam
Decision: onboarding comes before further editor work.
Actions
Dev — empty-state draft, by Thursday
Sam — churn numbers, Wednesday
Maya — beta notes to design
An example recording in the Conversations pane. Switch tabs to see the summary, the action items and a custom result.
How it captures the call
Both sides of the conversation, without a bot in the meeting.
Many meeting tools join your call as a participant. VoiceToText doesn’t. It records from macOS itself: your microphone plus the system audio coming out of your Mac, mixed into one recording.
Start a recording from the Conversations pane, the menu bar, or your own shortcut, then carry on. The audio streams to disk while you record, so an hour-long call isn’t held in memory, and it is transcribed when you stop. It works with whatever is making sound, including Zoom, Google Meet, Microsoft Teams and FaceTime, and keeps running in the background while you work. Every recording lands in a searchable history on your Mac:
Zoom
Google Meet
Microsoft Teams
FaceTime
Webex
Slack huddles
Discord
Any audio
Conversations — Today at 3:42 PM
Maya: Let’s kick off the weekly sync.
Leo: Design is signed off, and the team is on the last endpoint.
Maya: Any blockers before Friday?
Leo: None. I’ll send the notes right after this call.
Optional speaker-separated transcript. GPT-4o Transcribe Diarize sends audio directly to OpenAI under your API key; rename the detected speakers in History.
Speaker diarization
Separate speakers, then give the labels real names.
Local Parakeet and Whisper models produce one continuous transcript. When you need to tell speakers apart, the optional GPT-4o Transcribe Diarize model adds labeled turns that you can rename.
Choose the diarizing model
In Conversations, set Transcription model to GPT-4o Transcribe Diarize and add your OpenAI API key in Cloud, or regenerate a saved recording with it. The audio is sent to OpenAI, at a list price of $0.36 per hour billed to your key.
See who said what
The transcript comes back as turns labeled Speaker 1, Speaker 2, and so on, instead of one uninterrupted block of meeting text. Turns carry no timestamps. Recordings over 12 minutes are sent in parts, and only the first four speakers are carried from part to part, so anyone else may get a new number in a later part. Give both labels the same name to merge them.
Replace labels with names
Open Name speakers on the recording and type a name for each label. Giving two labels the same name merges their turns. Names appear when you copy the transcript, in summaries and action items, and in search.
After the call
After the call: summary, action items, your own format.
Open the sparkles menu on any recording and choose Generate summary, Generate action items, or Custom prompt. Conversation rows also show Summary, Action items, and Custom buttons until the first result exists. Results sit in tabs beside the transcript and are saved with the recording.
Summary
A short overview, then each topic in the order it came up, with any open questions at the end. It is written in the meeting’s language, and the model is told not to add names, numbers, or decisions nobody mentioned.
Action Items
A checklist of what people agreed to do. Each item is a task, with an owner and a due date only when someone actually said them; the model is told never to fill them in. Tick items off as you go, and copy the list as a Markdown checklist: - [ ] Finish the last endpoint — Leo (before Friday)
Your own format
Custom prompt opens Format with AI. Ask for meeting minutes, a follow-up email, or a translation, and the result gets its own tab, named for what it is. Each recording holds up to 3 custom tabs, and your recent prompts are remembered.
Today at 3:42 PMConversation32:10
TranscriptSummaryAction Items 3Minutes
Send the meeting notesLeoafter this call
Finish the last endpointLeobefore Friday
Share the design sign-offMaya
3 action items · 1 doneCopy
A saved conversation with its Action Items tab open. Maya’s task has no due date because nobody gave one.
Optional, and clear about what leaves your Mac
Nothing runs until you ask. Summaries, action items, and custom prompts need your own OpenAI API key, added in Cloud.
They run on OpenAI’s gpt-5.5 and send the transcript text, with speaker names, to OpenAI. The audio is not sent. OpenAI bills your key.
Transcription can still stay local. The summary step only ever sees the text.
Long transcripts are handled in parts and combined, so a two-hour meeting gets one summary and one list.
If you regenerate the transcript, your summary and action items are kept and marked as out of date, with a button to run them again.
Results are searchable from History and can be copied. There is no file export, calendar, or task-app integration.
Conversations has its own Transcription model setting. The default, “Same as dictation”, uses your dictation model, which is on-device Parakeet on a fresh install. Pick GPT-4o Transcribe Diarize when you want speaker labels. You set this once.
02
Start recording
Start whichever way is closest:
Start Recording in the Conversations pane.
Start Conversation Recording from the menu bar, which then shows a running clock.
Your Conversation shortcut, from any app. It has no default key; set one in Settings → Shortcut.
While it records, a floating Recording HUDat the top of the screen shows the running clock, a level meter and a Stop & Transcribe button, and you can drag it out of the way. It’s Small by default; make it Medium or Large, or turn it Off, in Settings → Conversations.
The first time, macOS asks for Screen Recording; Microphone was already granted when you first opened the app. Enable VoiceToText in System Settings → Privacy & Security → Screen Recording, then start the recording again. Screen Recording is how an app gets system audio; VoiceToText records only the audio, never the screen.
03
Stop & Transcribe
Carry on with the call while the audio streams to disk. When it ends, press Stop & Transcribe on the HUD or in Conversations (or your shortcut again). The transcript is made after you stop, so there is no live transcript during the call. Long calls are transcribed in parts, with progress shown.
04
Find it in History
The recording lands in Conversations and History with its audio and transcript. Play it back, copy the transcript, name the speakers if you used GPT-4o Transcribe Diarize, or generate a summary and action items from the sparkles menu.
Not sure which model to pick? Parakeet covers English and 24 other European languages on your Mac. For other languages, choose a local Whisper model (99 languages) or an OpenAI model. Compare Whisper and Parakeet on Mac.
What you get
A full meeting recorder, built into your dictation app.
No second subscription and no plugin in the call. Keep transcription on your Mac with a local model, or choose a cloud model when you want one of its features. Here is how VoiceToText compares with other Mac apps.
Mic + system audio
Your microphone and everything playing on the Mac are captured together through ScreenCaptureKit and mixed into one recording, so the whole call is there, not just your side.
On-device by default
Out of the box, conversations are transcribed by the local Parakeet model and the audio stays on your Mac. It leaves only if you choose a cloud model for the transcription.
Search every transcript
Type in History’s Search transcripts field to find a word across transcripts, summaries, action items, and speaker names. Play recordings back, copy them, star favorites, and undo a delete within 5 seconds.
Regenerate and compare
Re-run any recording with any of the 15 models and keep both transcripts side by side, so you can pick the better one and remove the other.
Import a file
Click Upload File… or drag one audio or video file onto Conversations. MP3, M4A, WAV, AIFF, FLAC, MP4, and MOV work; MKV, WebM, and AVI don’t. The audio is extracted and transcribed like a live recording.
Crash-safe capture
Audio is written to disk as you record. After a crash, force quit, or power loss, the recording is repaired and filed in History on the next launch. It arrives without a transcript: choose Regenerate to transcribe it.
Long calls, in parts
Recordings over 12 minutes are transcribed in parts of about 10 minutes, each cut at the quietest nearby moment to avoid splitting a word. With a local model, memory use stays flat however long the call ran.
No bot, no subscription
Nothing joins your call, and VoiceToText never charges by the minute. Local transcription has no fee; cloud models and AI summaries are billed by the provider to your own API key.
Permissions & privacy
Local transcription keeps your meetings on your Mac.
Recording a conversation is sensitive, so the default setup keeps it local. Here is exactly what VoiceToText needs, where your audio goes, and how long it is kept.
Microphone records your voice. Screen Recording is how macOS exposes system audio through ScreenCaptureKit; VoiceToText never records the screen, only the audio. Accessibility is used only by dictation, not by meeting recording.
With a local model (Parakeet, the default, or Whisper), the recording is transcribed on your Mac and the audio never leaves it.
Audio goes to a provider only when a cloud model transcribes it: an OpenAI model you choose in Conversations, or a cloud dictation model while the setting is “Same as dictation”. It goes directly to that provider under your own API key. VoiceToText has no server in that path.
Summaries, action items, and custom prompts send the transcript text, never the audio, to OpenAI, and only when you generate one.
Recordings and transcripts live in ~/Library/Application Support/VoiceToText/History. Delete any of them from History, with a 5-second undo if you slip.
History keeps your newest 200 dictations, deleting older ones with their audio. Conversations, favorites, and recordings with a summary or action items are never removed automatically.
Compare and keep going
See the alternatives, or use the same app beyond meetings.
Use the global shortcut for prompts and implementation notes in AI and development tools.
FAQ
Recording meetings on Mac: common questions.
Can I record and transcribe meetings on my Mac for free?
Yes. VoiceToText is free, with source available on GitHub and no subscription, account, or per-minute fee. Transcribing with a local model costs nothing. Optional cloud models, speaker labels, and AI summaries are billed by the provider to your own API key. The same app also does hotkey dictation into any text field.
Does it record the other participants, or just my microphone?
Both. VoiceToText captures your microphone and your Mac's system audio at the same time and mixes them into one recording, so the people on a Zoom, Google Meet, Microsoft Teams, FaceTime, Webex, or Discord call are recorded along with you. System audio comes through Apple's ScreenCaptureKit, so it works with any app that plays sound. There is no plugin, and no bot joins the call.
Can VoiceToText identify and label different speakers?
Yes, with the optional cloud model GPT-4o Transcribe Diarize. Choose it as the Transcription model in Conversations, or regenerate an existing recording with it, and add your OpenAI API key. The transcript comes back as turns labeled Speaker 1, Speaker 2, and so on. Use Name speakers to replace the labels with real names; giving two labels the same name merges their turns. The audio is sent to OpenAI at a list price of $0.36 per hour, billed to your key. Local Parakeet and Whisper models do not separate speakers.
Is meeting recording private? Does my audio stay on my Mac?
With a local model, yes. Conversations use the “Same as dictation” transcription model by default, which is the on-device Parakeet model unless you changed it, so the recording is transcribed on your Mac and the audio stays there. Audio goes to a provider only when a cloud model does the transcription: an OpenAI model you pick for Conversations, or a cloud dictation model while the setting is “Same as dictation”. AI summaries, action items, and custom prompts send the transcript text, not the audio, to OpenAI, and only when you ask for one.
Which permissions does meeting recording need?
Two: Microphone, to record your voice, and Screen Recording, which is how macOS lets an app capture system audio through ScreenCaptureKit. VoiceToText never records the screen, only the audio. Accessibility is used only by dictation (the dictation shortcut, Esc to cancel, and pasting at the cursor), so recording a meeting doesn't need it. You can revoke either permission in System Settings → Privacy & Security.
What happens with long meetings, or if the app crashes mid-recording?
Recordings longer than 12 minutes are transcribed in parts of about 10 minutes, each cut at the quietest nearby moment to avoid splitting words, with progress shown as it goes. The audio streams to disk while you record. If the app crashes, is force-quit, or the Mac loses power, the audio is repaired and filed into History on the next launch without a transcript; choose Regenerate on that recording to transcribe it. If transcription fails, the audio is still saved so you can try again. One exception: if macOS itself stops the audio capture during a recording, VoiceToText shows “Recording stopped” and that recording's audio is discarded.
Can I transcribe an existing audio or video file?
Yes. In Conversations, click Upload File… or drag one audio or video file onto the pane. Files macOS can read work, such as MP3, M4A, WAV, AIFF, FLAC, MP4, and MOV; MKV, WebM, and AVI do not. VoiceToText extracts the audio and transcribes it with your Conversations transcription model, which is on-device by default, then saves it to History. History keeps the extracted audio, not the original video, and your original file is left untouched.
Can I re-transcribe a recording with a more accurate model?
Yes. Every recording keeps its audio, so you can regenerate the transcript with any of the 15 models, for example switching from on-device Parakeet to OpenAI GPT Transcribe for a difficult recording. The new transcript becomes current and the earlier one is kept beside it, so you can compare them and remove the one you don't want. Existing summaries and action items are kept and marked as out of date, with a button to regenerate them.
Can it summarize meetings and pull out action items?
Yes, once you add an OpenAI API key. From the sparkles menu on any recording you can generate a Summary, an Action Items checklist, or up to three results from your own prompt, such as meeting minutes or a follow-up email; conversation rows also show Summary, Action items, and Custom buttons. Each action item is a task with an owner and a due date only when someone actually said them. You can tick items off and copy the list as a Markdown checklist. These run on OpenAI's gpt-5.5 with your key and send the transcript text, including speaker names, to OpenAI. Transcription itself can still happen on your Mac.
Can I start recording from any app?
Yes. Set a Conversation shortcut in Settings → Shortcut (there is no default key), then press it in any app to start recording and press it again to stop and transcribe. You can also choose Start Conversation Recording from the menu bar, which shows a running clock, or click Start Recording in Conversations. VoiceToText doesn't detect meetings or start recording by itself. There is no pause: Stop & Transcribe ends the recording, and Cancel deletes it without a transcript. Your voice is recorded from the Mac's default input, which you choose in System Settings → Sound.
Can I search old transcripts?
Yes. The History pane has a Search transcripts field. It matches words in transcripts and their earlier versions, summaries, action items and owners, custom results, speaker names, model names, and dates, ignoring case and accents. History keeps your newest 200 dictations, deleting older ones with their audio. Conversations, favorites, and recordings with a summary or action items are never removed automatically.
Ready to record
Start recording your meetings, free.
One DMG, drag to Applications, grant Microphone and Screen Recording. Then record any call and get a transcript made on your Mac.