Fastest method for YouTube: Go to VidText AI, get the transcript, then paste it into DeepL or Google Translate. For SRT file translation, see the tools below.
Why Translate Subtitles?
Translating your video subtitles unlocks a global audience:
- A Spanish-language subtitle track makes your content accessible to 500M+ Spanish speakers
- Multi-language subtitles can 2–5× your international watch time
- YouTube supports up to 40 subtitle languages per video
- Translated subtitle tracks also improve your video's SEO in other-language searches
Method 1: Translate a YouTube Transcript (Free, Any Language)
For YouTube videos, get the English transcript first and then translate:
Step 1: Get the transcript
Go to vidtextai.com/tools/transcript → paste YouTube URL → copy transcript text.
Step 2: Translate the text
Paste into DeepL (best quality) or Google Translate → select target language → copy the translated text.
Step 3: Upload as a subtitle track to YouTube
1. Go to YouTube Studio → Subtitles → your video
2. Click Add Language → select the target language
3. Click Upload file → Without timing (paste the translated text)
4. YouTube auto-syncs the timing from your existing English track
5. Review and publish
Method 2: Translate an SRT File Directly
If you have an .SRT file and want to translate it while preserving timestamps:
Option A: Subtitle Edit (Free Desktop App)
Subtitle Edit is the best free desktop tool for subtitle translation:
1. Download and open Subtitle Edit (Windows, free)
2. File → Open → load your .SRT file
3. Go to Auto-translate → select Google Translate or DeepL
4. Choose target language → click Translate
5. File → Save as → save as new .SRT file
Subtitle Edit preserves all timestamps and formatting during translation.
Option B: Python + DeepL API (Automated, High Volume)
For translating many SRT files programmatically:
`python
import deepl
import re
def translate_srt(input_file, output_file, target_lang):
translator = deepl.Translator("YOUR_DEEPL_API_KEY")
with open(input_file, 'r', encoding='utf-8') as f:
content = f.read()
# Split into subtitle blocks
blocks = content.strip().split('\n\n')
translated_blocks = []
for block in blocks:
lines = block.split('\n')
if len(lines) >= 3:
index = lines[0]
timestamp = lines[1]
text = '\n'.join(lines[2:])
# Translate only the text, preserve index and timestamp
result = translator.translate_text(text, target_lang=target_lang)
translated_blocks.append(f"{index}\n{timestamp}\n{result.text}")
with open(output_file, 'w', encoding='utf-8') as f:
f.write('\n\n'.join(translated_blocks))
translate_srt('english.srt', 'spanish.srt', 'ES')
`
DeepL API free tier: 500,000 characters/month (enough for ~200 hours of subtitles).
Option C: Translate.subtitles.net (Online, No Install)
1. Go to translate.subtitles.net
2. Upload your .SRT file
3. Select source and target languages
4. Click Translate — download the translated .SRT
Free for small files. No account required.
Best Free Subtitle Translation Tools Compared
| Tool | Cost | Quality | Supports SRT | Languages |
|---|---|---|---|---|
| **DeepL** (paste text) | Free (limited) | Best | Via copy-paste | 31 |
| **Google Translate** (paste text) | Free | Good | Via copy-paste | 133 |
| **Subtitle Edit** | Free | DeepL/Google | ✅ Native SRT | 31 / 133 |
| **translate.subtitles.net** | Free (small files) | ✅ Native SRT | 100+ | |
| **DeepL API** (Python) | Free 500K chars | Best | ✅ Automated | 31 |
How to Add Translated Subtitles to YouTube
1. Go to YouTube Studio
2. Select your video → Subtitles
3. Click Add Language → choose the target language
4. Select Upload file → With timing (if uploading a translated .SRT)
5. Review the auto-synced timing and publish
You can add up to 40 subtitle tracks per YouTube video.
YouTube's Auto-Translation Feature
YouTube has a built-in auto-translation for subtitles — but it only applies to the viewer's side, not to subtitle tracks you upload. Here's how viewers can use it:
1. Click CC to turn on captions
2. Click the Settings (⚙) icon → Subtitles/CC → Auto-Translate
3. Select any available language
This is different from uploading a translated subtitle track — auto-translate is machine translation applied in real-time and isn't stored as a separate track on your video.
Which Languages Should You Prioritize?
For most English-language content creators, the highest-ROI subtitle translations are:
| Language | Native Speakers | YouTube Market Size |
|---|---|---|
| Spanish | 500M+ | Huge (Latin America + Spain) |
| Portuguese | 260M+ | Large (Brazil) |
| French | 280M+ | Growing |
| Hindi | 600M+ | Fastest-growing YouTube market |
| Indonesian | 270M+ | Very large YouTube audience |
| Japanese | 125M | High engagement, monetization |