Subtitle formats in one place
Subtitle files all do the same base job — show text at the right moment — but they differ in how much they can say and who reads them. The three you are most likely to meet are SRT, WebVTT (usually saved as .vtt) and ASS (and its older sibling SSA).
A format is "compatible" when a player or platform reads its structure reliably. Compatibility matters because a file that one platform plays perfectly can appear blank, out of sync or unstyled on another.
- SRT is the compatibility baseline
- VTT is the web-native format
- ASS trades simplicity for styling
SRT: the compatibility baseline
SRT combines a sequential cue number, a timestamp line and plain text, and nothing else. That near-total absence of features is exactly why it is accepted almost everywhere: YouTube, players, editors, subtitle agencies and learning platforms all read it.
Because SRT carries no styling or positioning data, it is predictable. If the text fits and the timestamps are right, it will broadly behave the same on every device that supports subtitles.
- Widely accepted as the universal exchange format
- Plain text cue structure that is easy to hand-edit
- No styling, positioning or metadata to get lost
WebVTT (VTT): the web-native format
WebVTT is engineered for the HTML5 video element, which consumes it directly through the track element. It standardizes cue timing, caption positioning and vertical text, and it requires a WEBVTT header and a strict milli-second dot separator.
Many web video platforms accept VTT natively, which is why projects published on the web reach for it. VTT can also carry cue settings that SRT has no place for, such as align and position, that a browser will honor.
Polyglot Tool’s VTT Converter prepares WebVTT files in the browser and converts between SRT and VTT while preserving timing and text; it does not translate VTT text.
- Consumed natively by HTML5 video and web platforms
- Standardizes cue settings, positioning and vertical text
- Requires the WEBVTT header and dot-decimal timing
ASS and SSA: when styling matters
ASS extends the older SSA format and is common in fan-subbing and where precise on-screen styling is the point — coloured text, fonts, outlines, karaoke effects and exact positioning. VLC and several desktop players render ASS fully.
The trade-off is real: that richness lands on few platforms. Browsers do not render ASS natively, YouTube does not accept it as a caption file, and many editors require a conversion or a plugin. ASS shines on a player that supports it and is a poor choice as a universal exchange format.
Polyglot Tool does not convert or translate ASS or SSA files, so when your source is ASS you should plan a conversion step outside the tool before you translate or publish.
- Best for styled, position-aware subtitles on desktop players
- Rich feature set with a steep editing and compatibility cost
- Not native to browsers, YouTube caption uploads or most platforms
Compatibility at a glance
The table below scores each format across the platforms and concerns that decide most subtitle workflows. Use it as a shortcut before you convert, upload or request a file from a client.
Which format your platform expects
Most compatibility problems are not about SRT versus ASS fundamentally; they are about what the specific destination accepts. YouTube accepts SRT caption uploads directly. A web page that embeds HTML5 video expects VTT for the track element. A desktop player such as VLC reads all three but styles ASS best.
The same file can fail or succeed purely on the destination. An SRT that plays perfectly in VLC is not consumed natively by the HTML5 video element, and an ASS track that looks great in a player is not accepted as a YouTube caption upload. Before you convert or upload, identify the exact player or platform that will render the subtitles, and check its documented input format instead of guessing from the file extension.
Uploading captions to YouTube
YouTube Studio accepts SRT uploads without conversion, which is why the common path is: keep SRT, translate it, re-upload SRT. You can also upload a VTT caption file, but ASS/SSA is not accepted as a native caption track.
If you download captions from YouTube Studio, you typically receive an SRT or VTT file. Translating that SRT with timestamps preserved and re-uploading it keeps the caption track attached to the video and available to viewers in the player.
Publishing captions on a web page
When captions must show inside the HTML5 video element, VTT is the format the track element is designed for. Choosing VTT for web playback avoids the extra bridge that SRT would require.
Browsers expect the WEBVTT header, dot-decimal timing and UTF-8 text. Cue settings such as align and position are honoured by browsers, which means a VTT file can place captions precisely on the screen instead of relying on the player’s default position.
Desktop players and editors
VLC and most desktop players read SRT, VTT and ASS. Editors generally favour SRT for interchange, and ASS only when the project genuinely needs its styling layer.
For long-form video projects, keeping the master in SRT and exporting to the destination format at the end is the most forgiving workflow, because SRT loses the least when moving between tools.
Learning platforms and subtitle services
Learning platforms, video hosting services and professional subtitling agencies overwhelmingly accept SRT as the exchange format. If you hand off files to a freelancer or a service, SRT is the safest common denominator.
Agencies frequently return SRT with strict timing conventions. Diff the returned file against your source timing lines before re-uploading anywhere, so you catch silent renumbering or timing changes.
A decision path for choosing a format
When you are not sure which subtitle format to use, run a short decision path instead of reasoning from the file alone. The destination decides the format; everything else is a conversion step.
- Is the destination a web page with HTML5 video? Choose VTT.
- Is the destination YouTube, a video platform, an editor or a service? Choose SRT.
- Does the destination need exact styling, positioning or karaoke effects? Use ASS, but only on a player you control that renders it.
- Is the destination unknown or shared with others? Default to SRT as the universal baseline.
Styling, simplicity and conversion
The three formats sit on a spectrum. SRT is the least expressive and the most compatible. VTT adds web-oriented structure while staying simple. ASS is the most powerful and the least portable.
When you convert, expect to lose what the target format cannot hold. Converting VTT to SRT drops the WEBVTT header, notes and STYLE/REGION blocks; converting SRT to VTT adds a header and can reuse the cue number as an identifier. Converting ASS to anything else is where most styling loss happens.
Conversion is not lossless in the metadata sense, but timing and text can survive intact when the converter is careful. The SRT to VTT direction preserves text, timing and order completely, because SRT has no elements that VTT cannot hold. The reverse direction is lossy for header, notes and style blocks, so keep the original file whenever you may need those later.
- SRT: simple and universal
- VTT: web-native with cue settings
- ASS: styled but hard to port
A quick compatibility checklist
Before you convert, upload or hand off a subtitle file, run this short checklist against the destination.
- Confirm the destination’s accepted formats instead of assuming from the extension
- Keep the original file before any conversion so nothing is lost irreversibly
- Diff the timing lines of a converted file against the source before publishing
- Re-save as UTF-8 when accented characters appear as symbols
- Check a small sample after any conversion before converting a long file
What Polyglot Tool can do today
Polyglot Tool translates SRT text in your browser while preserving numbering, timestamps and structure, and its VTT Converter converts SRT to VTT and VTT to SRT privately on your device with timing and text intact.
A practical flow for a mixed-format project: start from the SRT you own, translate it, then convert to VTT with the VTT Converter only if your destination is a web page that needs VTT. Keep the SRT as your always-accepted master copy.
- Translate SRT in the browser with timestamps intact
- Convert SRT to VTT and VTT to SRT
- No ASS/SSA conversion or translation yet
Troubleshooting subtitle compatibility
When a subtitle file looks wrong on a target platform, the cause is almost always a format feature the destination cannot read, not the file being "corrupted". Here are the common symptoms and the fix for each.
Start by re-checking the destination format, then the encoding, then the timing. That order resolves most problems without touching the subtitle text itself. If a platform still rejects an SRT, verify the file has a cue number, a comma timing separator and blank lines between cues, because some readers are strict about the two-line and three-line variants of the format.
- Blank subtitles on a web page: the page needs VTT rather than SRT; convert SRT to VTT.
- Missing styles on a broadcast or editor: ASS styling does not survive conversion; re-author styling in the editor.
- Out-of-sync captions after upload: the timestamps changed during conversion; diff the timing lines before uploading.
- ASS not accepted by a platform: convert to SRT or VTT, accepting that styling is dropped.
- Encoding look-alikes (accents as symbols): re-save the file as UTF-8.
- A rejected SRT after hand-editing: restore a cue number, comma timestamps and a blank line between cues.
| Format | YouTube | Web browsers | VLC | Editors | Styling | Simplicity | Polyglot Tool |
|---|---|---|---|---|---|---|---|
| SRT | Yes (native upload) | Not native | Yes | Yes | Minimal | High | Translate |
| VTT (WebVTT) | Accepted | Yes (native) | Yes | Many | Cue settings | Moderate | Convert SRT↔VTT |
| ASS / SSA | Not accepted | No (rare) | Yes (full) | Advanced only | Rich | Low | Not supported |
| Workflow | Recommended format | Why |
|---|---|---|
| Web page with HTML5 video | VTT | Consumed natively by the track element with cue settings |
| YouTube caption upload | SRT | Accepted directly without conversion |
| Freelancer or subtitle service | SRT | The universal exchange baseline for professionals |
| Styled fansub or karaoke | ASS | Full styling, but only where the player renders it |
| Unknown or shared destination | SRT | Broadest compatibility and easiest to hand-edit |