How to transcribe audio and video to text on a Mac
By The Kekoso teamWe build Kekoso, a macOS app that transcribes on the machine, so treat the section about local apps as interested advice. Prices and terms quoted from other companies were read on their own pages on 19 August 2026 and are linked in the text.

You have a recording and you need the words out of it. On a Mac there are four routes, and the one that suits you depends on how long the file is, how many of them there are, and whether the contents can leave your machine.
The short answer
If the recording is already in Voice Memos and you just want to read it, macOS transcribes it for free.
If it is one file and nothing about it is sensitive, an online service will hand you a transcript in a few minutes, and the free tiers are enough to try it once.
If you have a folder of them, or the material is under an agreement you signed, use a local app so the audio never leaves the Mac.
If you are comfortable in a terminal, Whisper does the same job for nothing.
What macOS already does
Voice Memos transcribes. Apple’s documentation states that with macOS 15 or later on a Mac with Apple silicon, speech in your audio recordings can be recognised and transcribed to text in the app. Open the recording, click the Transcription button, and the text appears alongside it. You can select it and copy it out.
Apple also notes that audio transcription is not available in all countries or regions, so this is worth testing before you plan around it.
The limits are the shape of the app rather than the quality of the recognition. It transcribes recordings that are in Voice Memos, so a file sitting in Downloads means importing it first, and a video file means nothing at all. There is no subtitle export, no timestamps you can use elsewhere, and no vocabulary to teach it the names in your recording. For listening back to an interview and pulling one quote, that is fine. For turning twenty files into documents, it is the wrong tool.
Online services
Upload a file, wait, get a transcript. These are the fastest way to a result on a machine you have not set anything up on, and every one of them has a free tier that is enough to see whether the quality suits you.
The free tiers are also where the pricing model shows itself. Otter’s plans give the free account 300 transcription minutes a month with a 30 minute cap per conversation, and, more to the point for file work, “3 lifetime audio/video file imports”, which is a lifetime total rather than a monthly allowance. The Pro plan at $8.33 per user per month billed annually raises that to 1,200 minutes and 10 file imports a month. Rev gives 45 AI transcription minutes a month on the free plan, English only, and its Essentials plan is $25.49 per seat per month billed annually for 5,000 minutes. Rev also sells human transcription at $1.99 a minute, which is a different product and worth knowing about when accuracy matters more than money.
Your file also goes to a company’s servers and stays there under whatever terms you agreed to. Otter’s privacy policy lists among its purposes “training our proprietary AI technology on de-identified audio recordings and on transcriptions (which may contain Personal Information)”. That is a normal arrangement and it is stated plainly, which is more than some services manage. It is also not what most people picture when they drag a client call onto a web page.
Which means the thing to check before uploading is whether you are allowed to upload this particular recording. A podcast episode you recorded yourself, fine. A therapy session, a patient interview, a board call or anything covered by an NDA, probably not, and you agreed to that restriction long before you went looking for a transcription tool.
Transcription software that runs on your Mac
The category exists because of that last paragraph. Local transcription software runs the recognition model on your own machine, using the Neural Engine or the GPU, and the file never goes anywhere.
What you get over the built-in option is the workflow around the model. Drag in audio or video and the app pulls out the audio track itself. Timestamps come attached, so you can jump to a moment instead of scrolling. Export gives you TXT, SRT or VTT. A vocabulary list teaches it the names and jargon your recordings are full of, which is where generic models fail most visibly. And you pay once instead of by the minute, so the length of your backlog stops being a budget question.
MacWhisper is the established one for this job: €64 once including lifetime updates, with a free tier that already handles common audio and video formats and exports to SRT, VTT and TXT. Its site states that local models do the transcription, so sensitive files are processed without data ever leaving your Mac. We looked at seven others alongside it in best dictation apps for Mac, with prices and where each one recognises speech.
Ours is in that comparison too. Kekoso is $29 once, covers 3 machines, and handles audio files, video files, YouTube links and meeting recordings in the same app as live dictation, with the microphone and system audio kept on separate tracks so you get who said what without diarization. Recognition runs on the Neural Engine and the audio is discarded once the text lands. It needs macOS 14 or later on Apple silicon, which rules out every Intel Mac, and that is the main reason to choose something else.
If what you actually want is to talk instead of type, rather than to process files you already have, that is a different set of tools and we went through them in voice to text on a Mac.
Whisper from the terminal
Whisper is OpenAI’s open speech recognition model, and whisper.cpp is the port that runs well on Apple hardware. Its README describes Apple silicon as a first-class citizen, optimised through ARM NEON, the Accelerate framework, Metal and Core ML. It costs nothing and nothing leaves your machine.
Building it is three commands, plus one to fetch a model:
git clone https://github.com/ggml-org/whisper.cpp
cd whisper.cpp
sh ./models/download-ggml-model.sh base.en
cmake -B build && cmake --build build -j --config Release
The catch is the input. The command line tool reads 16-bit WAV files only, so anything else, including every video file, gets converted first. The README gives the ffmpeg line for it:
ffmpeg -i input.mp3 -ar 16000 -ac 1 -c:a pcm_s16le output.wav
Then transcribe, asking for the formats you want:
./build/bin/whisper-cli -m models/ggml-base.en.bin -f output.wav -otxt -osrt -ovtt
Those three flags come from the tool’s own argument list, alongside -olrc, -ocsv and -oj for JSON. You end up with the transcript in each format next to the WAV file.
How long it takes depends on the model size and the Mac, and anyone quoting you a number without naming both is guessing. Bigger models are more accurate and slower, and the practical way to find your own trade-off is to run one file through two model sizes and compare the output against what you know was said.
What this route does not give you is a place to put the result. You get files in a folder, without a library to search or a vocabulary to teach it your terms, and you assemble the rest of the workflow out of commands. For a folder of interviews that works nicely. For two files a month it is a strange way to spend an evening.
TXT, SRT and VTT
Every tool above offers some of these, and picking wrong means converting later.
TXT is the words and nothing else. Use it when the transcript is going to be read, quoted, edited into an article, or fed to something that only cares about the text.
SRT is a subtitle file: numbered cues, each with a start and end time and a line or two of text. It is the format to reach for when the transcript has to appear on the video.
VTT is the web version of the same idea. MDN describes WebVTT as text tracks providing cues that are time-aligned with other media, and the files start with the literal line WEBVTT. It is what HTML video expects.
If you are uploading to YouTube, either subtitle format works. YouTube’s supported formats list includes SubRip .srt among the basic formats and WebVTT among the advanced ones, with a note that styling support is limited.
The four routes side by side
| Voice Memos | Online service | Local software | Whisper by hand | |
|---|---|---|---|---|
| Price | Free | Per minute or per month | Once or monthly | Free |
| File leaves your Mac | Not stated | Yes | No, if recognition is local | No |
| Takes a file from disk | Import it first | Yes | Yes | Yes |
| Video files | No | Varies | Varies | After extracting audio |
| SRT and VTT export | No | Varies | Varies | Yes |
| Your own vocabulary | No | Varies | Varies | No |
| Setup | None | An account | Minutes | An evening, plus upkeep |
The two middle columns say “varies” a lot, and that is the answer rather than a hole in the research. Each of those categories holds products that do everything in this table and products that do one thing, so the row that decides your choice is the one to check on the vendor’s own page before paying. The Voice Memos column says “not stated” because Apple’s page documents which Macs can transcribe without saying where the audio is processed.
What decides the quality
The recording usually decides the result more than the model does.
Distance between the speaker and the microphone is the first thing to look at. A phone on the far side of a meeting table produces audio that no model recovers cleanly, and swapping to a bigger model will not fix it.
Overlapping speech is the next one. When two people talk at once through one microphone, the transcript has to guess, and it guesses badly. This is why recording each participant on their own track, when the format allows it, beats any amount of processing afterwards.
Music under speech confuses models trained mostly on speech. Background noise is survivable, but a music bed at similar volume is not.
Names, product names, acronyms and technical terms are where generic models fail on otherwise clean audio, and they fail consistently: the same wrong word every time. This is the single strongest argument for a tool with a vocabulary you can edit, because it turns a recurring correction into a one-time entry.
Accents and non-English speech vary by model rather than by category. If your material is not English, test on your own audio before committing to anything, and do not assume the model that leads English benchmarks leads yours.
Which one to use
For one recording you made yourself, use whatever is already installed. Voice Memos if it is there, an online free tier if it is not.
For a steady stream of files, count what a service will cost you over a year against a one-time licence. Long recordings hit minute limits quickly, and Otter’s three lifetime imports on the free plan tell you exactly how these products are designed to work.
For anything confidential, what matters is where recognition happens, and that is a claim worth checking on the vendor’s own pages rather than taking from a headline. Capturing audio on your Mac and recognising it on your Mac are two separate things, and only the second one means the file stays put.
If you want the local route without building anything, Kekoso transcribes audio, video and YouTube links on your Mac, with a 7-day trial and a one-time $29 licence for 3 machines. If you would rather not pay for it, whisper.cpp does the recognition part just as well, and the rest of this page is the part you would be building yourself.
Questions people ask
Can a Mac transcribe an audio file without any extra software?
Yes, if the recording lives in Voice Memos. Apple states that with macOS 15 or later on a Mac with Apple silicon, speech in your recordings can be recognised and transcribed to text there, and notes that transcription is not available in all countries or regions. You get the text on screen and can copy it out. There is no subtitle export and no way to point it at a video file.
How do I transcribe a video file to text on a Mac?
Every tool works on the audio, so the video track is extracted or ignored. Local apps take the video file directly. If you run Whisper from the terminal you extract the audio first, because whisper-cli reads 16-bit WAV, and ffmpeg converts a video to that in one command.
What is the cheapest way to transcribe a long recording on a Mac?
Running the model on your own machine, either through a local app you pay for once or through Whisper from the terminal, which is free. Online services price by the minute or by the month, so a backlog of long recordings is where their limits show up first.
Do transcription services keep my recording?
Read the terms rather than the marketing page. Otter's privacy policy, for example, lists training its AI on de-identified audio recordings and on transcriptions among the uses of your data. Other services word it differently. If the recording is confidential, the safe assumption is that anything uploaded stays uploaded.
What is the difference between TXT, SRT and VTT?
TXT is the words with no timing. SRT and VTT are subtitle files that pair each line with a start and end time, so a player can show it under the video. YouTube accepts both. Use TXT when you are going to read or edit the text, and a subtitle format when it has to sit on top of the video.
Does transcription work offline on a Mac?
It depends entirely on where recognition happens. Voice Memos, Whisper run locally, and apps that state they recognise on the device all work with the network off. Anything that uploads your file needs a connection by definition, whatever the marketing says about privacy.