← Back to Blog

SRT, VTT, ASS, and Beyond: Subtitle File Formats Explained for Video Creators

Every video platform and player has preferred subtitle formats, and choosing the wrong one means your carefully crafted translations will not display correctly. Here is what each format does, where it works, and when to use it.

Understanding the Basics

Subtitle file formats are one of those technical details that creators only think about when something goes wrong — subtitles that will not upload, formatting that disappears, or timing that shifts when converting between formats. Understanding the major formats, their capabilities, and their compatibility saves hours of troubleshooting and ensures your translated subtitles display correctly across every platform.SRT (SubRip Text)SRT is the most widely used subtitle format and the one most creators encounter first. It is simple, human-readable, and supported by virtually every video player and platform.StructureAn SRT file is a plain text file containing numbered subtitle entries, each with a timing line and one or more lines of text:100:00:01,000 --> 00:00:04,000This is the first subtitle line.200:00:05,000 --> 00:00:08,500This is the second subtitle,with a second line.FeaturesTiming precision: Millisecond precision (hours:minutes:seconds,milliseconds)Basic formatting: Supports bold, italic, and underline via HTML-like tagsPositioning: No native positioning support — subtitles display in the player's default positionStyling: No font, colour, or size controlCompatibilitySRT is supported by YouTube, Vimeo, Facebook, LinkedIn, most video editing software, VLC, and virtually every media player. It is the safest choice when you are unsure what format a platform accepts.LimitationsSRT's simplicity is also its limitation. No positioning means you cannot move subtitles to avoid obscuring on-screen content. No styling means you cannot use colour-coding for speaker identification.

Key Strategies and Approaches

No metadata means you cannot embed language information or accessibility descriptors. For basic subtitle delivery, SRT is sufficient. For anything more sophisticated, you need a more capable format.WebVTT (Web Video Text Tracks)WebVTT is the web standard for video subtitles, designed specifically for HTML5 video. It is SRT's more capable successor and the native format for web-based video playback.StructureWebVTT files begin with the header 'WEBVTT' followed by subtitle cues:WEBVTT100:00:01.000 --> 00:00:04.000This is the first subtitle line.200:00:05.000 --> 00:00:08.500 position:10% align:startThis subtitle is positioned left.FeaturesPositioning: Cues can be positioned anywhere on the screen using percentage-based coordinatesStyling: CSS-based styling for font, colour, size, background, and opacitySpeaker identification: Voice tags identify speakers for accessibilityRegions: Defined screen areas where subtitles can appearMetadata: Can include notes and non-displayed metadataCompatibilityWebVTT is supported by all modern web browsers, YouTube, Vimeo, and most streaming platforms. It is the preferred format for web video and the standard for HTML5 video elements. Mobile browsers also support it natively.When to Use VTT over SRTUse WebVTT when you need positioning control (subtitles that move to avoid on-screen content), speaker identification for accessibility, styled subtitles (colour-coded speakers, sized text), or when delivering content through web-based players.ASS/SSA (Advanced SubStation Alpha)ASS and its predecessor SSA are the format of choice for the anime fansubbing community and for anyone who needs granular control over subtitle appearance and animation.FeaturesComplete styling control: Font, size, colour (primary, secondary, outline, shadow), border, margin — everything is configurable per style and per linePositioning: Pixel-precise positioning anywhere on screenAnimation: Subtitle text can move, fade, rotate, scale, and transformDrawing commands: Can render shapes and graphics using subtitle commandsKaraoke: Syllable-level timing for music/karaoke applicationsMultiple styles: Define unlimited named styles and apply them to individual linesCompatibilityASS is natively supported by VLC, MPV, and most standalone media players.

Implementation Guide

It is not supported by most web-based platforms — YouTube, Vimeo, and streaming platforms do not accept ASS files. Video editing software support varies; some applications import ASS, others do not.When to Use ASSASS is the right choice for complex subtitle presentations — typesetting that matches on-screen text, animated titles, colour-coded multi-speaker dialogue with specific positioning, or any subtitle work that requires visual sophistication. It is commonly used for anime localisation, film festival screenings with demanding subtitle requirements, and any context where subtitles are rendered by a local player rather than a web platform.TTML (Timed Text Markup Language)TTML is an XML-based standard developed by the W3C. It is the enterprise and broadcast standard, used by Netflix, Amazon, BBC, and other major media organisations.FeaturesXML structure: Fully structured with schemas for validationRich styling: Comprehensive styling through embedded or referenced style definitionsRegion support: Define screen regions where subtitles appearProfiles: Different profiles for different use cases (broadcast, web, streaming)Metadata: Extensive metadata support for content management systemsTTML ProfilesTTML has several important profiles:IMSC (Internet Media Subtitles and Captions): The profile used by Netflix and most streaming platforms. Simplified TTML optimised for internet delivery.EBU-TT: The European Broadcasting Union's profile for broadcast subtitlesSMPTE-TT: The profile used by US broadcastersCompatibilityTTML/IMSC is required by Netflix, Amazon Prime Video, Apple TV+, and most broadcast distribution systems. If you are delivering content to streaming platforms or broadcasters, you will likely need TTML or one of its profiles.When to Use TTMLUse TTML when delivering to streaming platforms that require it, when working within broadcast workflows, or when you need structured subtitle files that integrate with content management and quality assurance systems.

For general creator use, TTML is overkill — use SRT or VTT

For general creator use, TTML is overkill — use SRT or VTT.SCC (Scenarist Closed Caption)SCC is a legacy format used primarily in US broadcast television for closed captioning.FeaturesCEA-608 compliance: Encodes captions according to the US broadcast caption standardPop-on, roll-up, and paint-on modes: Different caption display behaviours for different content typesLimited formatting: Basic colour and positioning within the 608 gridCompatibilityRequired for US broadcast delivery. Supported by professional video editing and captioning software (Premiere Pro, Avid, CaptionMaker). Not supported by web platforms or consumer media players.When to Use SCCOnly when delivering to US broadcast or when a US platform specifically requires CEA-608 compliance. For all other purposes, more modern formats are preferable.Choosing the Right FormatThe format decision usually comes down to where the content will be displayed:YouTube, Vimeo, social media: SRT or VTTWeb-based players: VTT (preferred) or SRTNetflix, Amazon, Apple TV+: TTML/IMSC (check each platform's specific requirements)Broadcast television: SCC (US), EBU-TT (Europe), or platform-specific formatsLocal playback (VLC, MPV): Any format; ASS for complex stylingAnime and fan communities: ASSMaximum compatibility: SRTFormat ConversionYou will frequently need to convert between formats. Key considerations:What Survives ConversionTiming and text survive conversion between all formats. Basic formatting (bold, italic) survives most conversions.

Tips for Success

Positioning survives between formats that support it (VTT, ASS, TTML) but is lost when converting to SRT. Advanced styling and animation survive only within ASS; they are lost in conversion to any other format.Tools for ConversionSubtitle Edit: Free, open-source, supports conversion between nearly all formatsAegisub: Primarily an ASS editor but exports to SRT and other formatsFFmpeg: Command-line conversion between SRT, VTT, ASS, and othersOnline converters: Numerous web-based tools for simple SRT/VTT conversionProfessional tools: EZTitles, Swift, WinCaps for broadcast-grade conversionConversion PitfallsTiming format differences: SRT uses commas for millisecond separators; VTT uses periods. A format mismatch causes timing failures.Character encoding: Ensure UTF-8 encoding for all subtitle files, especially when handling non-Latin scriptsLine break handling: Different formats handle line breaks differently; verify after conversionFormatting tag differences: SRT uses HTML-like tags; VTT uses CSS; ASS uses override tags. Formatting may not convert cleanly.Best Practices Across FormatsAlways use UTF-8 encoding to support all languages and special charactersValidate files after creation or conversion using format-specific validatorsTest subtitle display on the actual target platform before deliveryMaintain master files in the most capable format you need and convert to simpler formats for distributionInclude language metadata where the format supports itKeep backup copies of subtitle files alongside the video files they belong toSubtitle formats are a means to an end — getting your translated text displayed correctly for every viewer on every platform. Understanding the capabilities and limitations of each format prevents technical issues from undermining the quality of your translation work.