How to Create SRT Subtitles from an Audio File on Mac

Create SRT or VTT subtitles from an audio file on a Mac: what a subtitle file needs, how to get one in a few clicks, and how to fix timing and line length.

You can turn any audio file on a Mac into a timed SRT or VTT subtitle file in a few clicks: import it into a transcription app, check the text, and export subtitles. This guide explains what a subtitle file actually needs, walks through the steps in ThinkScribe, and shows how to fix timing and line length when the first result is not quite right.

By the end you will have a subtitle file you can load into a video editor, a media player or a web page. If your source is a video rather than an audio file, the process is the same: see transcribe a video to text, or the overview on video transcription and captions.

What an SRT file actually is

SRT is plain text. Each subtitle is a block: a sequence number, a start and end time, one or two lines of text, and a blank line.

1
00:00:01,200 --> 00:00:04,000
Welcome back, and thanks for joining us today.

2
00:00:04,200 --> 00:00:07,500
Let's start with the numbers from last quarter.

VTT (WebVTT) is nearly the same format with a WEBVTT header and full stops instead of commas in the timestamps. Browsers use VTT for the HTML <track> element; most desktop players and video editors accept both. Because both are plain text, you can open them in any text editor and fix a word or a timestamp by hand.

What it takes to make one

A subtitle file needs three things to be right: the words, the timing of each block against the audio, and blocks short enough to read on screen. Getting there by hand means listening, typing and timing every line, which takes several times the length of the recording.

Speech recognition does the listening and the timing for you: a speech model turns the audio into text with a start and end time for each segment, and those segments become subtitle blocks. You can assemble that yourself from open-source command-line tools, but it means installing developer tools, converting every file to the exact audio format the model expects, and keeping the setup working as tools and models change. An app does the same work behind one import and one export.

How to create SRT subtitles from audio in ThinkScribe

  1. Open ThinkScribe on your Mac and press ⌘I (Transcription > Import File...), or drag the audio file onto the window. MP3, M4A, WAV, AIFF, FLAC, OGG, Opus, AAC, WMA, AMR and video files, including MKV, AVI and WebM, all work.
  2. Make sure the spoken language is set, then let the file transcribe. Transcription runs on your Mac and works offline.
  3. Open the transcript and check it. Click a line to hear it, and correct names, product terms and numbers before you export.
  4. If several people speak, rename "Speaker 1" and "Speaker 2" so the transcript reads properly.
  5. Export SRT Subtitles or VTT Subtitles. The same menu also gives you Plain Text, Markdown, PDF, Word Document, CSV and JSON.
  6. Load the file in a player that supports external subtitles alongside the original audio or video, and watch the first minute and a random minute in the middle.

On iPhone and iPad the same export is under the transcript's ... menu > Export ("Export as SRT" or "Export as VTT"). For a folder of files, a Mac batch import with Auto-Export After Transcription writes each file as it finishes; see the export guide.

Fixing timing and line length

The first output is usually close but rarely perfect. These are the fixes that cover most cases.

Subtitles are consistently early or late

If every subtitle is off by the same amount, the audio you transcribed does not start at the same moment as the video you are pairing it with (a trimmed intro, for example). The cleanest fix is to transcribe the same file you will caption, before trimming. Otherwise, most subtitle editors, video editors and many media players can shift an entire file by a fixed amount. For a short file, editing by hand also works: the timestamps are plain text.

Lines are too long

Speech segments often follow full sentences, which can run to 15 words or more. Something in the region of 42 characters per line, and no more than two lines per block, is a common subtitling convention. Most video editors let you split or restyle caption blocks after import, without retyping the text.

A few words are wrong

Fix them in the transcript before you export, not in the subtitle file afterwards: the transcript lets you hear each line as you check it. Names and jargon are the usual culprits, and noisy audio or several people talking at once make them more likely. If a term keeps coming up, add it once to the custom vocabulary (Mac: Settings > Vocabulary).

Subtitles drift over a long video

If the offset grows over time rather than staying fixed, the video probably has a variable frame rate and plays slightly faster or slower than the audio. Export the video again at a constant frame rate from your editor, then transcribe that file.

Burning the subtitles into a video

Some platforms do not accept a separate subtitle file. In that case your video editor can render the captions into the picture when you export the video.

Keep the SRT as a separate file as well. Burned-in captions cannot be switched off, edited or translated later, whereas the SRT can. For why captions matter to your audience, see live captions and transcripts as an accessibility tool. A recorded talk with a single voice is the easiest material there is, and transcribing a sermon works one through from recording to subtitles. If you produce subtitles every week, you probably have a show: podcast transcription and show notes covers the rest of that workflow.

Frequently asked questions

Can I create subtitles from an MP3 without converting it first?

Yes. ThinkScribe imports MP3, M4A, WAV, FLAC, OGG and other common formats as they are, including the audio track of MP4 and MOV videos. Import the file, check the transcript, and export SRT or VTT.

What is the difference between SRT and VTT?

Both are plain-text subtitle formats with the same idea: numbered blocks with a start time, an end time and the text. VTT starts with a WEBVTT header, uses full stops in timestamps instead of commas, and supports some styling and positioning that SRT does not. Use VTT for web video and SRT for desktop players and editors.

Why are my subtitles out of sync?

The usual causes are a fixed offset (the audio and video start at different points) or a variable-frame-rate video that plays slightly faster or slower than the audio. A fixed offset is fixed by shifting the whole file in a subtitle or video editor. Drift is fixed by exporting the video at a constant frame rate and transcribing that file.