The ad factoryComparison

SRT vs WebVTT for video ad captions

By the Turntake teamPublished 6 min read

Short answer

SRT and WebVTT both store timed text, but they have different syntax and delivery contexts. Choose the format your destination accepts, export from one canonical cue map and test the imported result. Keep external caption files separate from burned captions. Converting an extension alone does not preserve timestamps, encoding, styling or compatibility.

Choose the destination before choosing the extension

A subtitle delivery starts with a question about the destination: does it expect a sidecar file, a browser text track, an editor import or captions already drawn into the video? Those are different delivery decisions. Choose the format from that requirement, preserve the approved cue map and check how the destination handles the imported result.

The Library of Congress describes SRT as numbered timed-text blocks. The W3C WebVTT specification defines WebVTT syntax and cue behavior. ai ugc ads workflow gives the production context. This comparison focuses on moving accurate cues between systems without treating either file extension as a complete caption design.

A hypothetical product-name caption needs to reach both an editor and a browser-based review. Keep its approved text and timing in one cue map, then serialize the format each receiver accepts. The deliveries still need separate import checks because syntax, supported settings and rendering differ. Changing the extension would not perform that conversion. If the cue needs a wording revision, update the canonical record before regenerating either delivery file.

SRT commonly uses a numeric cue counter, a timing line, text and a blank line between blocks. Its fractional timestamp separator is a comma. WebVTT starts with a WEBVTT header and uses periods for fractional timestamps. A valid file must follow the format’s structure, not merely contain recognizable words and times.

For a hypothetical cue beginning at one second and ending at two and a half seconds, the SRT timing is 00:00:01,000 --> 00:00:02,500; the WebVTT form can be 00:00:01.000 --> 00:00:02.500. This small example concerns syntax only. It does not establish that the cue’s wording or timing is correct for the associated audio.

CheckSuggested action
DestinationConfirm accepted format and caption mode
SourceExport from one canonical cue map
SyntaxCheck timestamps and encoding
PlaybackInspect actual imported captions

Source: Turntake editorial checklist (proposed), October 2026.

Keep one canonical cue map

Store text, start, end and a stable cue ID in one internal representation. Export SRT and WebVTT from that map rather than correcting them independently. Otherwise a spelling fix can appear in one file while the other retains the old word.

Three consecutive caption strips from one crochet ad, stacked on top of each other
Three consecutive cues from one ad. One cue map can be exported to either format. From one of our own ads.

In our production in October 2026, word timing follows the voice and display text keeps the script’s standard spelling. A cue map can preserve that relationship across output formats. Keep the audio asset ID beside it. If the voice changes, both exports may need retiming even when the caption text remains identical. Fix caption drift from the first word to the last covers diagnosing drift. A format conversion cannot repair cues timed against the wrong voice version.

  1. 01Identify destinationChoose delivery mode
  2. 02Export canonical cuesUse correct syntax and encoding
  3. 03Parse exported fileCompare text and times
  4. 04Test destination playbackCheck layout and sync
Export one cue map, parse the result and test actual destination playback.

Separate external captions from burned text

An external caption file supplies timed text to a compatible player or editor. Burned captions are pixels in the rendered image. Sending an SRT file does not remove or replace text already burned into a video.

The same frame from a clay ad twice, a shed with solar panels and a cow by a street: once with the burned-in caption Shops, workshops, offices and farms, of any size, once clean
Burned-in captions cannot be switched off or replaced. External caption files belong with the clean version. From one of our own ads.

Choose the intended presentation before delivery. If a destination adds its own caption track over burned captions, the viewer may see duplicate text. If only a sidecar is supplied to a destination that does not use it, the video may display no captions. Record the selected mode in the handoff. Keep a clean video reference where the workflow calls for one, and identify which export already contains the designed caption treatment.

Treat styling as destination-dependent

WebVTT supports cue settings and a styling model; SRT reader behavior can vary, particularly for formatting. These capabilities do not mean every destination preserves every authored style. Test the actual import path before relying on alignment, color or multiple text positions.

For a tightly designed ad, the house caption style may be rendered into the video while a plain text sidecar remains available for another use. Keep the two purposes explicit. Vertical video safe zones: review the final crop covers layout and safe areas. A sidecar cue that is readable in one player can overlap interface elements in another. Do not assume that timing accuracy alone establishes an acceptable layout.

  • SRTNumbered text blocksWebVTTWEBVTT header and cues
  • SRTComma fractionsWebVTTPeriod fractions
  • SRTReader-dependent formattingWebVTTDefined cue settings
  • SRTImport path needs testingWebVTTBrowser or player support needs testing
SRT and WebVTT differ in syntax; both still need delivery-path testing.

Export encoding deliberately

Use an explicit encoding and test names, punctuation and language-specific characters in the destination. WebVTT uses UTF-8. For SRT delivery, choose the encoding supported by the target workflow rather than relying on an editor’s undocumented default.

A hypothetical export containing an accented product name should be checked after import, not only in the source text editor. A file can look correct locally and display replacement characters elsewhere. Keep the original cue map unchanged when testing an export so an encoding experiment does not damage the canonical text. Record the output format and encoding in the delivery manifest, alongside the video and audio reference IDs.

Validate timestamps and reading intervals

Check that each cue starts before it ends, times use the declared unit and cue order matches the intended sequence. Inspect overlaps deliberately rather than assuming every overlap is either valid or a defect. A speaker change or layered information may need a defined treatment.

Then listen against the actual audio and inspect the first, middle and last cues. A syntactically valid file can be uniformly late or gradually drift. Loudness for social video: measure the finished mix covers final audio loudness as a separate task; that check does not validate caption timing. Keep each output check tied to the property it actually measures.

For a proposed conversion check, parse both exports back into normalized cue records and compare text and times with the canonical map. That exposes a lost cue, changed timestamp or accidental punctuation rewrite. It still does not prove the player’s styling behavior, which needs a playback check in the destination.

Drawn Turntake captions panel with sample content: five short caption lines in order, three of them with one word highlighted in red
A drawn captions panel with sample content: one cue per line, in order. Both formats are exports of a list like this. Turntake illustration with sample content.

Deliver the format the receiver can use

Provide the requested format, associated video ID, language, encoding and whether the video already has burned captions. Include a short compatibility note describing the tested import path. Do not describe a file as universally compatible merely because another application accepted it.

Turntake’s production approach describes Turntake’s production approach. The format choice is an interoperability decision inside the workflow, not an automatic upgrade in caption quality.

For a hypothetical editor handoff, send the canonical cue map, the requested sidecar and a reference render showing intended grouping. The editor can then distinguish content and timing from appearance. If the destination loses positioning, the reference explains the intended result without pretending those settings survived the conversion. Keep the original export as history and create a new revision for any compatibility adjustment.

Test a small compatibility sample

Before exporting a whole series, prepare a hypothetical sample with a short cue, a longer cue, a product name containing an accented character and a deliberately positioned line. Export both requested formats from the same map. Import each into the actual receiver and inspect text, timing and appearance.

If a positioned line becomes a default bottom caption, record that behavior as an import limitation. Do not “repair” the canonical cue text by inserting spaces or extra line breaks that exist only to imitate a layout in one player. Keep a destination-specific export treatment where necessary.

The test should also include the final cue near the media ending. Some compatibility failures become visible only when the video stops while text remains scheduled. Confirm that the delivered video duration and cue map refer to the same revision. This proposed sample is a practical acceptance check; it is not evidence that every player or editor supports the same styling and timing behavior.

Who wrote this We made the ads first, for SmartSolar in Denmark, Sweden and Ireland. Then we built Turntake. Where Turntake comes from

FAQ

Should I choose SRT or WebVTT captions?

SRT and WebVTT both store timed text, but they have different syntax and delivery contexts. Choose the format your destination accepts, export from one canonical cue map and test the imported result. Keep external caption files separate from burned captions. Converting an extension alone does not preserve timestamps, encoding, styling or compatibility.

How do I compare the basic syntax?

SRT commonly uses a numeric cue counter, a timing line, text and a blank line between blocks. Its fractional timestamp separator is a comma. WebVTT starts with a WEBVTT header and uses periods for fractional timestamps. A valid file must follow the format’s structure, not merely contain recognizable words and times.

How do I keep one canonical cue map?

Store text, start, end and a stable cue ID in one internal representation. Export SRT and WebVTT from that map rather than correcting them independently. Otherwise a spelling fix can appear in one file while the other retains the old word.

How do I separate external captions from burned text?

An external caption file supplies timed text to a compatible player or editor. Burned captions are pixels in the rendered image. Sending an SRT file does not remove or replace text already burned into a video.

Sources

  1. Library of Congress: SubRip format checked 11 October 2026
  2. W3C: WebVTT specification checked 11 October 2026
  3. MDN: WebVTT format checked 11 October 2026

Facts from the sources below were checked on the date shown. Pages change, so read the source again before you rely on it.

Early access

Your turn. Next take.

Leave your email, and we’ll write when it’s your turn.

Early access we set it up with you. Coming we’re building it.