Skip to content
Back to blog
Guide8 min read

Transcription with Timestamps: How to Get Word-Level and Sentence-Level Timing from Audio

Learn how AI transcription generates timestamps at word, phrase, and sentence level — what the output looks like in VTT, SRT, and JSON formats, when to use each granularity, and how to get timed transcripts from any audio or video file.

CT
Written by The Captain
Published on

What Does "Transcription with Timestamps" Mean?

When an AI transcription tool processes your audio or video file, it does not just return a plain text document — it also records exactly when in the recording each piece of text was spoken. This is transcription with timestamps: a structured output that pairs every segment of text with a start time and an end time measured in hours, minutes, seconds, and milliseconds.

Timestamps in transcription exist at three levels of granularity, each suited to different use cases:

  • Sentence-level (cue-level) timestamps — Each full sentence or natural phrase gets a single start–end range. This is the standard for VTT and SRT subtitle files used in YouTube, Vimeo, HTML5 video, and e-learning platforms.
  • Short-phrase timestamps — Two to five words per timestamp range, used in social media video formats (TikTok, Instagram Reels) where captions update rapidly to match speech.
  • Word-level timestamps — Each individual word receives its own start and end time. Used in karaoke-style captions, interactive transcripts where clicking a word jumps to that moment in the audio, and developer applications that need to highlight text as it is spoken.

The output format you need determines which granularity to request. For most captioning and subtitle workflows, sentence-level timestamps in VTT or SRT format are the right choice. For applications where the text must respond dynamically to the audio — search-within-audio, lyric display, accessibility tools — word-level timestamps are necessary.

How AI Tools Generate Timestamps

Modern AI transcription models generate timestamps through a process called forced alignment. During transcription, the acoustic model assigns probabilities to audio frames, identifying which sounds are present at each millisecond of the recording. After the text has been decoded, an alignment pass maps each word or phrase back to the specific audio frames where it occurred.

The result is a transcript where every token — word, punctuation cluster, or sentence boundary — is anchored to a precise position in the original timeline. This is why timestamps stay accurate even when there are pauses, background noise, or changes in speaking pace: the alignment is done at the acoustic signal level, not by estimating based on average speaking rates.

Captain Transcribe uses this forced alignment to produce timestamps across all three granularity levels, controlled by the subtitle style you choose at upload time:

  • Standard style — Sentences and natural pauses determine cue boundaries. Each cue spans a complete thought. Best for traditional video captions.
  • Short style — The output is segmented into short bursts of two to four words. The timestamps are word-aligned but grouped into small cues. Best for fast-paced social video.
  • Karaoke style — Each word receives its own timestamp within the cue. The VTT output uses WebVTT karaoke timing tags to highlight each word individually as it is spoken.

What Timestamped Transcription Output Looks Like

Here is the same 15-second audio segment transcribed at each granularity level using Captain Transcribe, exported as VTT:

Sentence-Level (Standard Style)

WEBVTT

1
00:00:00.320 --> 00:00:04.880
In this guide, we will cover how AI transcription
generates timestamps at different levels of detail.

2
00:00:05.200 --> 00:00:09.640
Sentence-level timestamps are the standard for
captions on YouTube, Vimeo, and HTML5 video.

3
00:00:09.960 --> 00:00:14.320
Word-level timestamps are used when text must
highlight in sync with audio, word by word.

Short-Phrase Style

WEBVTT

1
00:00:00.320 --> 00:00:01.680
In this guide,

2
00:00:01.680 --> 00:00:03.200
we will cover how

3
00:00:03.200 --> 00:00:04.880
AI transcription generates

Word-Level (Karaoke Style)

WEBVTT

1
00:00:00.320 --> 00:00:04.880
<00:00:00.320>In <00:00:00.520>this <00:00:00.760>guide, <00:00:01.120>we <00:00:01.360>will <00:00:01.680>cover <00:00:02.040>how <00:00:02.320>AI <00:00:02.720>transcription <00:00:03.280>generates

All three outputs are valid WebVTT files — the difference is how the cue boundaries are placed and whether word-level timing tags are present inside each cue.

Note the key formatting rules enforced in all three: the file begins with exactly WEBVTT on line one, timestamps use periods as the millisecond separator (not commas, which belong to SRT), and each cue block is separated by a blank line.

How to Get Timestamped Transcription with Captain Transcribe

Getting a timestamped transcript from any audio or video file takes four steps:

  1. Upload your file — Go to captaintranscribe.com and upload your audio or video. Supported formats include MP3, AAC, FLAC, WAV, M4A, MP4, MOV, and MKV. For video files, the audio is extracted automatically — no pre-processing needed.
  2. Select the spoken language — Choose the correct language from the list. This is the most critical setting for timestamp accuracy: the wrong language degrades both the transcription quality and the alignment precision.
  3. Choose a subtitle style — Select Standard for sentence-level timestamps, Short for phrase-level, or Karaoke for word-level. The choice determines how the cue boundaries are placed in the output file.
  4. Download your format — Click the VTT or SRT download button. Both files include synchronized timestamps. The plain text download omits timestamps entirely — use it when you only need the words, not the timing.

From a single transcription job, you can download VTT, SRT, and plain text simultaneously without re-processing the audio. If you need all three formats for different platforms, one upload covers them all.

Timestamp Formats: VTT vs SRT vs JSON

Timed transcription output comes in several formats depending on the tool and intended use. Here is how they compare:

Format Timestamp Syntax Best For Word-Level?
VTT (WebVTT) 00:00:01.500 (periods) HTML5, Vimeo, e-learning, web players Yes (karaoke tags)
SRT (SubRip) 00:00:01,500 (commas) YouTube, video editors, TikTok No
JSON (API output) Millisecond integers Developer integrations, search indexing Yes (most APIs)
TSV (Tab-separated) Start/end columns Spreadsheet workflows, data analysis Yes (Whisper)
Plain text None Blog posts, documents, summaries No

The critical syntax difference between VTT and SRT is the millisecond separator: VTT uses a period (00:00:01.500) while SRT uses a comma (00:00:01,500). This single character difference is the most common source of VTT parsing failures when timestamps are edited manually or converted between formats. For a full breakdown of both formats, see our guide on SRT vs VTT subtitle formats.

When to Use Each Timestamp Granularity

Use Case Granularity Recommended Format
YouTube and Vimeo captions Sentence-level VTT or SRT
HTML5 web video accessibility Sentence-level VTT (required by the <track> element)
TikTok, Instagram Reels Short-phrase (2–4 words) VTT or SRT
Music video lyrics / karaoke Word-level VTT with karaoke tags
Interactive podcast transcript Sentence-level VTT or JSON
Search-within-audio (click to play) Word-level JSON (from API) or VTT with karaoke tags
Video editor (Premiere, DaVinci) Sentence-level SRT (widest editor compatibility)
E-learning / WCAG accessibility Sentence-level VTT (Moodle, Canvas, Coursera)

Timestamp Accuracy: What Affects It

Timestamp quality is directly tied to transcription quality. The more accurately the AI identifies what was said, the more precisely it can pin where in the audio it was said. Several factors influence timestamp accuracy:

  • Audio clarity — Clean recordings with low background noise produce tightly aligned timestamps. Noisy or echoey recordings force the acoustic model to estimate, which can shift timestamps by 200–500 milliseconds around transitions.
  • Speaking pace — Very fast speech compresses the acoustic signal; very slow speech with long pauses creates large gaps between cues. Both are handled correctly, but the output reflects the actual speech timing rather than a normalized version.
  • Silence and non-speech audio — Long stretches of music, applause, or background noise before spoken content will create gaps in the timestamp sequence. This is accurate behavior: the AI is not trying to transcribe non-speech audio.
  • Language model confidence — When the model is uncertain about a word, forced alignment may produce slightly imprecise per-word timestamps in karaoke mode. Sentence-level timestamps are generally more stable than word-level timestamps for the same audio.

For most captioning and accessibility use cases, sentence-level timestamp accuracy from a modern AI transcription tool is within 50–100 milliseconds of the true speech boundary — accurate enough that viewers will not notice any synchronization delay.

Using Timestamps for Web Accessibility

Timestamps are not just a convenience feature — they are required for web accessibility compliance. WCAG 2.1 Success Criterion 1.2.2 (Captions, Pre-recorded) requires synchronized captions for all pre-recorded audio content in video. The key word is "synchronized": a plain text transcript does not satisfy this criterion because it is not timed. A VTT or SRT file with accurate timestamps does.

For the HTML5 <video> element, VTT is the only caption format natively supported by browsers via the <track> element:

<video controls>
  <source src="interview.mp4" type="video/mp4">
  <track src="interview.vtt" kind="captions" srclang="en" label="English" default>
</video>

Setting kind="captions" rather than kind="subtitles" signals to screen readers and accessibility tools that the track includes not just speech text but also relevant non-speech audio information (speaker labels, sound effects). For content aimed at deaf or hard-of-hearing viewers, use captions; for translated subtitle tracks use subtitles.

Troubleshooting Timestamp Problems

Problem Likely Cause Fix
Captions appear too early or too late Consistent offset across all cues Add a global offset in your video player's caption settings, or shift all timestamps by the offset amount using a subtitle editor
Captions drift over time (sync worsens) Variable frame rate in the source video Re-encode the video to a constant frame rate before re-transcribing; or use VFR-aware subtitle editor
Timestamps use commas — captions not loading SRT syntax in a file with .vtt extension Replace all timestamp commas with periods using Find & Replace; check the WEBVTT header is on line 1
Overlapping cue times Manual edit created a cue whose end time exceeds the next cue's start time Open the file in a subtitle editor (Subtitle Edit, Aegisub) and use the automatic overlap detection tool
Word-level karaoke timing looks wrong Low-confidence alignment on fast speech or noisy audio Use sentence-level Standard style for noisy audio; karaoke timing works best on clear, single-speaker recordings

Key Takeaways

  • Transcription with timestamps pairs each spoken segment with a start and end time — the output is a structured subtitle file, not just a text document.
  • Three levels of granularity exist: sentence-level (standard for captions), short-phrase (social video), and word-level (karaoke, interactive transcripts).
  • AI tools use forced alignment to generate timestamps — the model maps decoded text back to the specific audio frames where it was spoken, producing millisecond-accurate timing.
  • VTT is the correct format for HTML5 web video timestamps; SRT works in video editors and on YouTube; JSON from APIs is the best choice for developer integrations.
  • The period/comma distinction matters: VTT timestamps use periods (00:00:01.500), SRT uses commas (00:00:01,500). Using the wrong separator causes browsers to silently ignore the file.
  • Synchronized captions are required for WCAG compliance — a plain text transcript does not substitute for a timed VTT or SRT file.
  • Caption Transcribe generates all three granularity levels — choose Standard, Short, or Karaoke at upload time and download VTT and SRT from the same job.

Related Articles

Related articles

This article was drafted with AI assistance and reviewed by The Captain before publication.

© 2026 Captain Transcribe. All rights reserved.