Transcribe an audio or video file
By Ryleigh NewmanPublished
YapToText turns recordings into text as well as live speech. Drop an audio or video file on the Utility page, or press Transcribe file in the menu bar panel, and the speech model that handles your dictations reads the file's sound on your Mac. Voice Memos, a phone recording, a lecture or a screen recording all work.
This app is completely free. You don't have to make an account. There are no subscriptions, no difficult downloads, and nothing is locked. Made for Apple silicon Macs. Source on GitHub.
Steps
- Open the Utility page from the sidebar.
- Drop the file on the box that says Drop an audio or video file here, or press Choose File.
- Pick a mode in the menu beside Choose File, or Raw Transcription for the words exactly as heard.
- Wait while the box says Transcribing, then copy the text or insert it into your last app.
Three ways to start
All three use the same speech model and the same cleanup as a dictation. They differ in where the text goes.
- The menu bar panel. Press Transcribe file, choose the recording, and the transcript is typed at the cursor in the app you were using, the same way a dictation lands, as long as Insert text automatically is on. It is copied to the clipboard as well, so it is never lost if that app went away.
- The Utility page. Drop the file on the box, or press Choose File. The transcript stays in the card for you to read first, with Copy and Insert under it.
- The History page. The Transcribe File button at the bottom works like the menu bar one, and the result joins your History.
Use the menu bar when you know where the text should go, and the Utility page when you want to look at it first.
Pick what happens to the transcript
On the Utility page, the menu beside Choose File picks the mode. Raw Transcription gives you every word as it was heard. A mode with cleanup tidies it the way it tidies a dictation, and your dictionaries fix the names and terms you taught them, either way. From the menu bar, the mode you are in is used.
Send below passes the transcript to the next card, where Transform text can turn it into an email or notes through any mode, and the card after that runs an AI action such as Summarize or Bullet Points.
Which files work
Any file with sound in it. YapToText decodes the audio track itself, so an .m4a from Voice Memos, an .mp3, a .wav, an .mp4 or .mov video, or a clip with an odd extension all open. The file picker does not filter by type.
The language comes from the Language menu on the AI Models page, or from the mode when the mode names its own. Auto-detect language works for files too. If the file has no speech in it, the app says No speech found and names the file.
Where the transcript is kept
A file transcribed from the menu bar is saved to History like a dictation, with History on, and the file's name sits where the app name usually goes, so a search for the file name finds it. The recording itself is not copied into History: your file stays where it was.
The Utility page keeps its transcript in the card only. Copy it, or insert it, before you press Clear.

Limits
- One file at a time. A second file can start once the first one is finished.
- No speaker labels. The transcript is one block of text. It does not mark who said what.
- Speed follows the model. A long recording takes longer on a larger model. The smaller models are faster and lighter on battery.
Related
Sources
- https://github.com/ryleighnewman/YapToText (checked 2026-10-22)
Questions
Can YapToText transcribe a video file?
Yes. It reads the audio track of any video file, such as an .mp4 or .mov screen recording, and transcribes that.
Does file transcription work offline?
Yes. The speech model runs on your Mac, so once it is downloaded no internet connection is needed and the file never leaves the Mac.
How do I transcribe a Voice Memos recording?
Drag the recording out of Voice Memos or share it to a file, then drop it on the Utility page or pick it with Transcribe file in the menu bar.
Does it label speakers?
No. The transcript comes out as one block of text without speaker names.