YouTube SRT File Not Working? Two Rules Explain It

Sep 20, 2026

YouTube's supported-caption-files page states exactly two hard rules for a SubRip (.srt) file: "The file must be in plain UTF-8." and "No style info (markup) is recognized." Almost every "my SRT isn't working on YouTube" report is one of those two sentences playing out — either the bytes are wrong, or you expected something SRT was never carrying in the first place.

Knowing which of the two you are hitting tells you whether you have a broken file or a misplaced expectation — and those need completely different fixes.

What YouTube actually asks of an SRT file

On its supported subtitle and closed caption files page, YouTube lists SubRip under the basic file types, with this description: "Only basic versions of these files are supported. No style info (markup) is recognized. The file must be in plain UTF-8."

Three sentences, and each one matters:

  • "Only basic versions of these files are supported." SRT has accumulated a lot of unofficial extensions over the years. YouTube is telling you up front that it reads the plain variety.
  • "No style info (markup) is recognized." Not "stripped with a warning", not "partially applied" — not recognized.
  • "The file must be in plain UTF-8." This is the single file-level requirement YouTube writes down for SubRip, which makes it the first thing to check when something looks wrong.

One important boundary: that description is attached to SubRip and SubViewer (.sbv) on that page. It is not a blanket statement about every caption format YouTube accepts — the advanced formats further down the same page have their own, different rules.

YouTube also frames the format's purpose plainly: "If you're new to creating caption files, you may want to use SubRip (.srt) or SubViewer (.sbv). They only require basic timing info, and can be edited using any plain text editing software." SRT's job is timings plus text. Anything else you put into one is, from YouTube's point of view, decoration it never agreed to read.

Cause 1: the file is not plain UTF-8

This is the one that produces the classic symptom — the captions upload, they appear, and every accented letter, em dash, curly quote or non-Latin character is replaced by something that looks like line noise.

The mechanism explains why the file looks perfect on your own machine. A .srt is just a text file, and a plain text file carries no reliable, self-describing marker of how its bytes map to characters. Your editor opened it with whatever encoding it guessed or remembered, so it renders correctly for you. YouTube's documented expectation is plain UTF-8, so when the bytes are something else, the same file can be readable locally and garbled on the video.

The fix is not to retype the text. Open the file in any plain text editor — YouTube notes these files "can be edited using any plain text editing software" — then use Save As and explicitly choose UTF-8, rather than accepting your editor's default.

Worth noting what YouTube does not state on that page: there is no documented maximum file size for a caption file, no documented character limit per caption line, and no documented ceiling on timecodes. If you are chasing one of those numbers because something suggested your file is "too big" or "too long", check the official documentation rather than a third-party figure — that page simply does not cover it.

The fastest fix

Two moves cover the large majority of broken YouTube SRTs:

  1. Re-save as UTF-8. Fixes the garbled-character case outright.
  2. If the file is really a WebVTT, convert it properly instead of renaming it. YouTube lists SubRip (.srt) and WebVTT (.vtt) as two separate entries with two separate extensions and two different descriptions. Changing the letters after the dot does not turn one into the other.

Try it right here

Runs in your browser. Your file is not uploaded anywhere.

Loading tool…

This runs entirely in your browser tab — the file is read from disk, rewritten locally and handed straight back, so nothing is uploaded anywhere. The conversion drops the WEBVTT header and any STYLE, REGION or NOTE blocks, rewrites the timestamps from WebVTT's period form to SubRip's comma form, renumbers the cues in order, and discards the cue positioning settings that follow the arrow, since SRT has nowhere to put them. What you get back is a plain UTF-8 text file with timings and text — precisely the shape YouTube documents. The same tool runs the other way at SRT to VTT.

For what changes between the two formats and what you give up in each direction, see SRT vs VTT compared.

Other causes, in order of likelihood

Your SRT is a renamed VTT

The giveaway is the timestamp separator. YouTube's own SubRip example on that page begins:

1
00:00:00,599 --> 00:00:04,160
>> ALICE: Hi, my name is Alice Miller and this is John Brown

Note the comma before the milliseconds. That is the shape YouTube documents for SubRip. A file using periods is written in WebVTT's timestamp style, and if it also opens with a WEBVTT line, it is a VTT no matter what the extension says. Run it through the converter above, or upload it as a .vtt — WebVTT is on YouTube's supported list in its own right.

You expected styling and it disappeared

If the captions display correctly but your bold, colours, fonts or {\an8} positioning are gone, nothing failed. "No style info (markup) is recognized" is the documented behaviour. Plenty of tools will export an SRT with styling tags inside it; what YouTube documents is that it does not recognize them.

If styling or positioning genuinely matters, YouTube points you at a different tier of formats: "Use these file formats if you want to have more control over the styling (markup) or positioning of your captions." From that list:

FormatWhat YouTube says
WebVTT (.vtt)"In initial implementation. Positioning is supported, but styling is limited to <b>, <i>, <u> since CSS class names are not yet standardized."
TTML (.ttml)"Styling and positioning are supported."
SAMI (.smi / .sami)Simple markup only; "Positioning is not supported."
Scenarist Closed Caption (.scc)"Scenarist Closed Caption (.scc file extension) files are our preferred file format."

The practical read: moving from SRT to VTT buys you positioning plus three basic tags, not full CSS styling — YouTube attributes that limit to CSS class names not yet being standardized. If you want real control, TTML is the documented option; SCC is the preferred one for broadcast-style CEA-608 captions.

If what you actually want is captions permanently baked into the picture, that is a different job entirely — see burning subtitles into an MP4.

You chose the wrong option in the upload dialog

YouTube's add-subtitles flow asks you to "Choose between With timing or Without timing, then select Continue." An SRT carries its own timings, so With timing is the path that matches it.

The other path is for a plain transcript, which YouTube auto-syncs to the audio — and the official description attaches real conditions: "The transcript must be in a language supported by our speech recognition technology. The transcript must also be in the same language that's spoken in the video. Transcripts are not recommended for videos that are over an hour long or have poor audio quality."

You are uploading in the wrong place

The documented route is: sign in to YouTube Studio, select Subtitles from the left menu, select the video, click ADD LANGUAGE and pick your language, then under "Subtitles" click ADD, then Upload file. YouTube adds that "You can also add subtitles and captions during the upload process."

How to tell it worked

Play the video back and jump to a line containing an accented character, a curly quote or non-Latin text. If those render correctly, the encoding problem is solved — that is the symptom UTF-8 fixes, and it is visible immediately.

Do not expect styling to reappear. It will not, and that is documented behaviour rather than a failure on your end.

FAQ

Why is my SRT file showing weird characters on YouTube? Because the file is not in the encoding YouTube documents. Its supported-files page states "The file must be in plain UTF-8." Re-open the file in a plain text editor and explicitly Save As UTF-8.

Does YouTube support SRT files? Yes. SubRip (.srt) is listed among the basic caption file types YouTube recommends for people new to creating caption files, alongside SubViewer (.sbv).

Can I just rename my .vtt file to .srt? No. YouTube lists SubRip and WebVTT as separate formats with separate extensions and separate descriptions, and their timestamps are written differently — YouTube's SubRip example uses 00:00:00,599. Convert the file instead; both formats are supported, so you can also upload the VTT as-is.

What is the maximum SRT file size YouTube accepts? YouTube's supported subtitle and closed caption files page does not state one, and neither does it state a per-line character limit. Check the official documentation rather than relying on a third-party number.

Why did my subtitle colours and positioning disappear? "No style info (markup) is recognized" is YouTube's documented behaviour for SubRip files. For positioning, WebVTT is supported; for styling and positioning together, TTML is the documented option.


More subtitle and upload fixes live in the fix guides, and every converter mentioned here — along with the rest — is listed on the Clapr tools page. If your problem is the video file rather than the captions, start with YouTube video too large to upload.

Caption format requirements quoted from YouTube's supported subtitle and closed caption files and add subtitles & captions help pages, checked 20 September 2026. Verify against the official pages before relying on them.

Clapr team

Clapr team

YouTube SRT File Not Working? Two Rules Explain It | Clapr Blog