Prepare subtitles for YouTube upload
TL;DR — Learn how to prepare subtitles for YouTube upload. Clean formatting, fix timing, and ensure UTF-8 encoding. Free tools and complete checklist included.
Related tool
Subtitle Cleaner Online
YouTube caption uploads are forgiving in some ways and strict in others. A clean, well-timed SRT file is almost always the right delivery format. The work is in the preparation, not the upload itself. This guide walks you through the complete preparation workflow to ensure your subtitles upload successfully and display correctly.
Quick answer
Upload an SRT file with:
- ✅ Correct timing aligned to the published video cut
- ✅ No styling tags or formatting markup
- ✅ Timestamps in
HH:MM:SS,mmmformat (commas, not dots) - ✅ Consistent spacing and line breaks
- ✅ UTF-8 encoding
If you start from VTT or ASS, convert to SRT before uploading.
Why preparation matters
YouTube accepts subtitle uploads, but poorly prepared files cause problems:
- Timing drift: Subtitles appear too early or too late
- Rejected uploads: Malformed files are rejected with cryptic error messages
- Garbled text: Wrong encoding corrupts non-English characters
- Styling issues: Leftover tags display as text instead of formatting
- Out-of-order cues: YouTube rejects files with timestamp conflicts
Proper preparation prevents these issues and ensures a smooth upload experience.
Step-by-step workflow
1. Confirm the source format
YouTube accepts several subtitle formats (SRT, VTT, SBV), but SRT is the most reliable. If your file is in another format:
For VTT → SRT:
- Use the VTT to SRT Converter
- The converter changes dots to commas in timestamps and removes the
WEBVTTheader
For ASS → SRT:
- Use the ASS to SRT Converter
- Follow How to convert ASS to SRT for YouTube uploads
- Advanced styling (colors, fonts, positioning) will be removed
2. Match the subtitle timing to the published video
Subtitles must be aligned to the final video cut. If the video was edited after the subtitle file was generated, timing will drift.
Check three points to confirm:
- The first spoken line: Does the first subtitle appear at the right moment?
- A line in the middle of the video: Jump to the middle and verify timing
- A line near the end: Check the final subtitle for drift
If timing is off:
- Constant offset (all subtitles are X seconds early/late): If the offset is consistent throughout the video, use the Subtitle Time Shifter. Use the Subtitle Time Shifter to shift all timestamps by a fixed amount
- Growing drift (subtitles get progressively more out of sync): The subtitle file was created for a different video cut. You may need to re-sync manually or find a subtitle file that matches your video cut
See How to fix subtitle delay for constant offset fixes.
3. Clean up formatting
YouTube ignores most subtitle styling. Files that contain leftover HTML tags, ASS styling, or inconsistent spacing import inconsistently.
Run the file through the Clean SRT File tool to:
- Remove HTML tags (
<i>,<b>,<font>, etc.) - Remove ASS override tags (
{\an8},{\c&HFF0000&}, etc.) - Fix inconsistent spacing and line breaks
- Remove empty cue blocks
- Renumber cues sequentially
- Normalize line endings (CRLF → LF)
- Remove BOM (Byte Order Mark) if present
Before cleanup:
1
00:00:01,000 --> 00:00:03,500
<font color="red">Welcome</font> to the tutorial.
2
00:00:03,500 --> 00:00:06,000
In this video, we'll cover the basics.
4
00:00:06,000 --> 00:00:09,000
Let's get started.
After cleanup:
1
00:00:01,000 --> 00:00:03,500
Welcome to the tutorial.
2
00:00:03,500 --> 00:00:06,000
In this video, we'll cover the basics.
3
00:00:06,000 --> 00:00:09,000
Let's get started.
See How to clean subtitle formatting before upload for detailed cleanup instructions.
4. Verify cue order
Each cue should appear in increasing time order. YouTube rejects files with out-of-order timestamps.
Check for:
- Cues with overlapping timestamps
- Cues with start time > end time
- Cues that appear before the previous cue
Example of out-of-order cues:
1
00:00:01,000 --> 00:00:03,000
First line.
2
00:00:05,000 --> 00:00:07,000
Third line.
3
00:00:03,000 --> 00:00:05,000
Second line (out of order!)
Fix: Manually reorder cues or use a subtitle editor (Aegisub, Subtitle Edit) to sort by timestamp.
5. Check encoding
YouTube expects UTF-8 encoding. Files with other encodings (Windows-1252, ISO-8859-1, Shift-JIS) may display garbled text for non-English characters.
Check encoding:
- Open the SRT file in a text editor (VS Code, Notepad++, Sublime Text)
- Look at the encoding indicator (usually in the bottom-right corner)
- If it’s not UTF-8, re-save as UTF-8
Or use the Subtitle Encoding Fixer to automatically convert to UTF-8.
6. Final check before upload
Open the cleaned .srt file in a text editor and confirm:
- ✅ No styling or HTML tags remain: Search for
<or{characters - ✅ Timestamps use commas, not dots:
00:00:01,000(not00:00:01.000) - ✅ No empty cue blocks: Every cue has text
- ✅ Cue numbers are sequential: 1, 2, 3, 4, … (no gaps or duplicates)
- ✅ File ends cleanly: Last cue has a blank line after it
- ✅ UTF-8 encoding: Non-English characters display correctly
7. Upload through YouTube Studio
- Go to YouTube Studio → Content
- Select your video
- Click Subtitles in the left menu
- Click Add language → Select language
- Click Upload file → With timing
- Select your cleaned
.srtfile - Click Upload
- Preview the captions in the YouTube player before publishing
- Click Publish when ready
Test playback:
- Watch the first 30 seconds to verify timing
- Jump to the middle and check a few lines
- Jump to the end and verify the last subtitle
Common mistakes
Uploading a styled ASS file directly
Even if YouTube accepts the upload, styling is dropped and some characters may import incorrectly. Convert to SRT first.
Fix: Use the ASS to SRT Converter before uploading.
Trusting auto-generated captions without review
Auto-captions are a starting point, not a final caption file. Always review timing and spelling before treating them as the published subtitle.
Fix: Download auto-generated captions, edit them in a subtitle editor, then re-upload the corrected version.
Skipping the cleanup step
Even subtitles that look clean often contain invisible inconsistencies — non-breaking spaces, mixed line endings, leftover BOM markers. The cleanup step removes these without changing the visible content.
Fix: Always run the file through the Clean SRT File tool before uploading.
Using the wrong timestamp format
VTT uses dots (00:00:01.000), while SRT uses commas (00:00:01,000). Mixing these breaks the file.
Fix: Convert VTT to SRT using the VTT to SRT Converter before uploading.
Forgetting to test on mobile
Subtitles that look fine on desktop may have readability issues on mobile (lines too long, text too small).
Fix: Keep lines under 42 characters for better mobile readability. Use the Clean SRT File tool to automatically split long lines.
Uploading subtitles for the wrong video cut
If you edited the video after creating subtitles (added intro, removed sections, changed pacing), the subtitle timing will be wrong.
Fix: Re-sync subtitles to match the final video cut, or create new subtitles from scratch.
Troubleshooting scenarios
Scenario 1: YouTube rejects the subtitle file
Possible causes:
- File is not in SRT, VTT, or SBV format
- File has malformed timestamps or cue structure
- File encoding is not UTF-8
- File is too large (over 10 MB)
Fix:
- Validate the file with the SRT Validator. See how to validate SRT files for a detailed walkthrough.
- Fix any reported errors
- Re-save as UTF-8
- Try uploading again
Scenario 2: Subtitles appear but text is garbled
Cause: Wrong text encoding (e.g., Windows-1252 instead of UTF-8).
Fix: Use the Subtitle Encoding Fixer to convert to UTF-8, then re-upload.
Scenario 3: Subtitles are out of sync
Cause: The subtitle file was created for a different video cut, or timestamps are wrong.
Fix: Use the Subtitle Time Shifter to adjust timing, then re-upload.
Scenario 4: Styling tags appear as text
Cause: The file contains HTML or ASS tags that YouTube doesn’t strip automatically.
Fix: Use the Clean SRT File tool to remove all styling tags, then re-upload.
Scenario 5: YouTube says “No subtitles uploaded” after upload
Cause: The upload succeeded but captions are not published, or the file was empty.
Fix:
- Go to YouTube Studio → Content → Select video → Subtitles
- Verify the subtitle track is listed
- Click “Publish” if it’s in draft mode
- If the track is missing, try uploading again
Frequently asked questions
What subtitle format does YouTube accept?
YouTube accepts SRT, VTT, and SBV formats. SRT is the most widely used and recommended.
Can I upload ASS subtitles to YouTube?
No. YouTube doesn’t support ASS format. Convert to SRT first using the ASS to SRT Converter.
What subtitle styling does YouTube preserve?
YouTube preserves basic formatting:
<i>Italics</i>→ Italics<b>Bold</b>→ Bold<u>Underline</u>→ Underline
Advanced styling (colors, fonts, positioning) is not supported.
How do I add multiple subtitle languages?
Upload multiple SRT files, one for each language. YouTube automatically detects all tracks and displays them in the captions menu.
What’s the maximum file size for YouTube subtitles?
YouTube accepts subtitle files up to 10 MB. If your file is larger, split it into multiple files or compress it.
Can I auto-generate subtitles on YouTube?
Yes. YouTube can auto-generate subtitles using speech recognition. Go to YouTube Studio → Content → Select video → Subtitles → “Auto-generate”. You can then edit the auto-generated subtitles for accuracy.
How do I edit subtitles after uploading to YouTube?
Go to YouTube Studio → Content → Select video → Subtitles → Click the subtitle track → “Edit”. You can edit the text and timing directly in YouTube’s subtitle editor.
What’s the best line length for YouTube subtitles?
Keep lines under 42 characters for better readability on mobile devices. Use the Clean SRT File tool to automatically split long lines.
How long does it take for subtitles to appear after upload?
Subtitles appear immediately after publishing. If they don’t, refresh the video page or clear your browser cache.
Related guides
- Best subtitle format for YouTube
- How to convert ASS to SRT for YouTube uploads
- How to clean subtitle formatting before upload
- How to fix subtitle delay
- How to remove subtitle line numbers
- Best SRT settings for YouTube upload
Related tools
Use the Subtitle Cleaner Online
Clean subtitle files online by removing HTML tags, fixing spacing, and keeping SRT, VTT, or ASS timing intact. No signup, no upload, and everything runs locally in the browser.
Open Cleaner