Subtitle Generator: Create SRT and VTT Subtitles for Any Video

Use a subtitle generator to create SRT or VTT subtitles for any video: how auto-captioning works, SRT vs VTT with examples, timing rules and common fixes.

Also available in: Deutsch, Français, Polski

A subtitle generator takes a video, transcribes the speech with timestamps, and exports the result as an SRT or VTT file you can upload to YouTube, Vimeo, a course platform or a web player. With an AI transcription tool the process takes a few minutes plus a short review; with manual timing software it takes closer to the length of the video times five. This guide explains how automatic subtitle generation works, the difference between SRT and VTT with examples, timing rules that make subtitles readable, and how to fix the mistakes every generator makes.

Subtitles, captions and transcripts: the quick distinction

The words are used loosely, but the differences matter when you choose a format.

  • Transcript: the full text of the speech, with or without timestamps, meant to be read as a document.
  • Subtitles: timed text segments shown on the video, traditionally a translation or the spoken words for viewers who can hear.
  • Closed captions: subtitles that also describe relevant sound ("[door slams]", "[laughter]") for viewers who cannot hear, and that can be switched on and off. Open captions are burned into the picture.

A subtitle generator produces timed text; whether you add sound descriptions and call the result captions is up to you, and for accessibility you should.

How automatic subtitle generation works

The pipeline is the same as any speech-to-text system, described in our speech to text explainer, with one extra step: segmentation.

  1. The audio track is extracted from the video.
  2. A speech recognition model produces words with start and end times.
  3. The words are grouped into cues, short segments of one or two lines, based on pauses, punctuation and a maximum character count.
  4. Each cue gets a start and end timestamp.
  5. The cues are written out in the requested format.

Step 3 is where generators differ most. A model that is excellent at recognising words but splits sentences mid-phrase produces subtitles that are technically correct and painful to read. Good tools break on sentence and clause boundaries and keep lines short; most also let you re-split in the editor.

SRT vs VTT: formats compared

SRT (SubRip)

SRT is the oldest widely used format and the lowest common denominator. A file is a sequence of blocks: an index number, a time range, one or more lines of text, and a blank line. Times use a comma before the milliseconds.

1
00:00:01,000 --> 00:00:03,800
Welcome to the Audiotexta tutorial.

2
00:00:03,900 --> 00:00:07,200
Today we will generate subtitles
for a short product video.

3
00:00:07,400 --> 00:00:09,000
Let's start by uploading the file.

Styling is limited to a few HTML-like tags (<i>, <b>, <u>) that some players honour and others ignore. No positioning, no metadata, no comments.

VTT (WebVTT)

WebVTT is the W3C format for HTML5 <track> elements and the standard for the web. It looks like SRT with a header, a period instead of a comma before milliseconds, optional cue identifiers, and real support for styling, positioning and comments.

WEBVTT

NOTE Generated with Audiotexta, reviewed by the editor

1
00:00:01.000 --> 00:00:03.800
Welcome to the Audiotexta tutorial.

2
00:00:03.900 --> 00:00:07.200 line:85% align:center
Today we will generate subtitles
for a short product video.

3
00:00:07.400 --> 00:00:09.000
<v Presenter>Let's start by uploading the file.

The line: and align: settings position the cue; <v Presenter> labels the speaker; the NOTE block is a comment players ignore. The full specification is at https://www.w3.org/TR/webvtt1/.

Which should you use?

SRTVTT
HeaderNoneWEBVTT required
Millisecond separatorComma (00:00:01,000)Period (00:00:01.000)
StylingBasic tags, player-dependentCSS-like styling, positioning
Speaker labelsText only<v Name> voice tags
Comments / metadataNoNOTE blocks, header metadata
HTML5 <track> supportNo (must convert)Yes, native
YouTubeYesYes
Vimeo, LinkedInYesVimeo yes, LinkedIn SRT only
Video editors (Premiere, DaVinci, Final Cut)YesMostly yes
Media players (VLC, mpv)YesYes

Rule of thumb: export SRT when you upload to a platform or hand the file to someone else, and VTT when you embed the video on your own website or need positioning and styling. Converting between the two is trivial, and most generators, Audiotexta included, export both from the same transcript.

Step by step: generating subtitles with an AI tool

Open the Audiotexta app and drag in an MP4, MOV, WebM or an audio-only file; the video track is irrelevant to transcription, only the audio matters. For content already on YouTube you can paste the link instead; see YouTube video to text for details on that route.

Step 2: Set the language and keep timestamps on

Choose the spoken language explicitly if the video starts with music. Timestamps are on by default and are what turn a transcript into subtitles, so do not disable them. Speaker labels are useful for interviews and become <v> tags in VTT.

Step 3: Correct the words

Play the video in the editor. The current sentence is highlighted as it is spoken, which makes it fast to spot misheard names, numbers and product terms. Fix them here, before export; editing a subtitle file in a text editor afterwards is much slower.

Step 4: Fix the segmentation

Check that cues break on natural phrase boundaries, that no cue exceeds two lines, and that very short cues (a single word flashing for 300 ms) are merged with their neighbours. Most editors let you split and merge with a click or a keyboard shortcut.

Step 5: Export, translate, upload

Download SRT or VTT. If you need other languages, translate the corrected transcript first and export a second file; the timing is carried over. Upload to your platform, or place the VTT next to the video on your site and reference it with a <track> element.

Timing and readability rules

Subtitles are read, not just displayed, and readers have limits. The guidelines below are close to what broadcasters, Netflix's style guides and the BBC subtitle guidelines recommend; they are not laws, but following them makes a visible difference.

  • Line length: about 42 characters per line for Latin scripts, fewer for CJK; two lines maximum per cue.
  • Duration: at least one second on screen, at most about six or seven; shorter and viewers miss it, longer and it looks frozen.
  • Reading speed: roughly 15 to 20 characters per second for adults; slower for children's content and for language learners.
  • Gaps: leave a small gap (around 80 to 120 ms) between consecutive cues so the change is perceptible.
  • Sync: a cue should appear within a couple of hundred milliseconds of the speech starting; late subtitles are more annoying than early ones.
  • Breaks: split at clause boundaries, never between an article and its noun or a name and its surname.
  • Sound descriptions for captions: in square brackets, lower case, brief: [applause], [phone rings].
  • Speaker changes when faces are off-screen: a dash at the start of the line or a <v> tag in VTT.

A quick pre-upload checklist:

  1. Every cue is one or two lines.
  2. No cue shorter than one second or longer than seven.
  3. Names, numbers and brand terms are spelled correctly and consistently.
  4. Sentences are not split mid-phrase.
  5. The file opens in VLC or the target platform without errors.

Common problems and how to fix them

Subtitles drift out of sync over time. Usually the video was re-encoded at a slightly different frame rate after the subtitles were made, or the generator was given a trimmed version. Regenerate from the final cut, or use a subtitle editor's "stretch" function to realign start and end.

Cues are too long. The generator respected sentence boundaries but the speaker talks in paragraphs. Split long cues at commas and conjunctions.

Music and noise produce nonsense text. End-to-end models sometimes "hallucinate" words during music. Delete those cues or replace them with a sound description.

The file is rejected by the platform. Check the extension matches the content (a VTT file renamed to .srt will fail), that the VTT starts with WEBVTT, that timestamps use the right separator, and that the file is saved as UTF-8 without unusual characters in the header.

Translated subtitles are too long. German and French routinely need 20 to 30% more characters than English. Shorten the translation rather than speeding up the display; condensed subtitles are standard practice in professional subtitling.

Two speakers in one cue. Split the cue at the speaker change and add a dash or voice tag.

Free and paid subtitle generators

Honest overview of the main options:

  • YouTube Studio: free automatic captions for your uploads, editable line by line, downloadable as SRT or VTT. Good baseline, no speaker labels, limited languages for auto-generation.
  • Subtitle Edit, Aegisub: free desktop tools for manual timing and editing; the best way to polish a file, slow for creating one from scratch, though Subtitle Edit can call Whisper locally.
  • Whisper locally: free, private, produces SRT and VTT directly; segmentation is rough and there is no editor synced to playback.
  • Video editors: Premiere, DaVinci Resolve and CapCut have built-in auto-captioning, convenient when you are already editing the video.
  • Transcription services such as Audiotexta, Descript, Otter and TurboScribe: upload, correct in an editor with playback, export SRT/VTT, translate. Free tiers with minute limits; see the subtitles feature page and pricing for Audiotexta's.

For a one-off video, YouTube Studio or a free tier is enough. For regular publishing, the time saved by an editor that highlights the spoken sentence and exports clean files pays for itself quickly.

Subtitles beyond video platforms

The same files serve more than YouTube. A VTT file next to a lecture recording makes it searchable and accessible on a university platform. SRT exports from a podcast transcript feed video versions of the show. Course platforms such as Moodle and Teachable accept both formats. And if you ever need the plain text back, every subtitle file is just a transcript with timestamps, so stripping the timing gives you the document; the reverse direction is described in how to transcribe audio to text.

How to generate SRT or VTT subtitles for a video

  1. Upload the video. Drag an MP4, MOV, WebM or audio file into Audiotexta, or paste a YouTube link, and select the spoken language.
  2. Transcribe with timestamps. Keep timestamps enabled; the transcript is produced with start and end times for each segment.
  3. Correct the text. Play the video in the editor and fix names, numbers and any sentence that was misheard while it is highlighted.
  4. Adjust segment length. Split long lines so that each subtitle is at most two lines of about 42 characters and stays on screen for one to six seconds.
  5. Export SRT or VTT. Download the subtitle file in the format your player or platform needs, and optionally translate it into other languages first.

Frequently asked questions

What is the difference between SRT and VTT?

Both are plain-text subtitle formats with numbered cues and timestamps. SRT is older, uses a comma before milliseconds and is accepted almost everywhere. VTT (WebVTT) is the web standard for HTML5 video, uses a period before milliseconds, starts with a WEBVTT header and supports styling and positioning.

Can I generate subtitles for free?

Yes. YouTube creates automatic captions for uploads, free tools like Subtitle Edit let you time text by hand, and transcription services such as Audiotexta include a free plan with SRT and VTT export. Paid plans mainly add minutes, speaker labels and translation.

How accurate are automatically generated subtitles?

On clear speech the words are mostly right and the timing is close enough to use after a short review. Names, jargon, music and overlapping speakers still need manual correction, which is why an editor synced to playback matters.

Which subtitle format do YouTube, Vimeo and social networks accept?

YouTube accepts SRT, VTT and several others; Vimeo and LinkedIn accept SRT; HTML5 video players use VTT. Instagram and TikTok support uploaded SRT files in some regions, otherwise captions are burned into the video.

Can I translate subtitles into other languages?

Yes. Once you have a corrected transcript, a translation step produces a second subtitle file with the same timing. Review the translation for length, because some languages need more characters than fit comfortably on screen.

Try Audiotexta free

Upload a file or paste a link and get a transcript in minutes.

Start transcribing

Related articles