Subtitle guide
How to translate subtitles into another language
6 min read Updated June 25, 2026
You have a subtitle file in one language and you want it in another, maybe to watch a foreign film with friends, study a language, or share a video with a wider audience. The good news is that a subtitle file is just timed text, so translating it is very doable. The key idea is simple. Translate the words, never the timing. This guide walks through the practical ways to do it and the handful of pitfalls that trip people up.
How a subtitle file is structured (and why it matters)
Every cue in an SRT or VTT file has two separate parts, the timestamps (when the line appears and disappears) and the text (what is shown). Translation only ever touches the text. If you change or accidentally shift the timestamps, the whole file falls out of sync. So the golden rule is to leave every timing line exactly as it is and only rewrite the dialogue beneath it.
1
00:00:04,000 --> 00:00:06,500 ← leave this untouched
It's a beautiful day. ← translate only this line
Option 1 is translating by hand
For short clips, or when accuracy really matters, translating manually gives the best result. Open the .srt file in a plain-text editor (Notepad, TextEdit or VS Code, but not a word processor), and work down the file replacing each line of dialogue with its translation while leaving the numbers and timing lines alone. Save as UTF-8 when you are done.
Manual translation is slow but it lets you do what no machine reliably can. You keep lines short enough to read in the time available, match the tone, and handle idioms and names sensibly. If you are translating for language learners or children, this control is worth the effort.
Option 2 is machine translation
For a feature-length film, translating by hand is a lot of work, so most people start with machine translation and then tidy the result.
- Dedicated subtitle translators. A number of free websites and desktop tools take an
.srtfile and return a translated.srt, preserving the timing automatically. This is the most convenient route because you get a ready-to-use file back. - General translation services. You can paste the dialogue into a service like Google Translate or DeepL. The catch is that you must translate only the text, not the numbers and timestamps, or the file structure breaks. Some people translate the whole file and then carefully repair the timing lines. That is workable, but fiddly.
- Always proofread. Machine output is a strong first draft, not a finished translation. Read it through against the video, fixing mistranslations, awkward phrasing and lines that have become too long. Machine translation also tends to lengthen text, which causes the reading-speed problem described below.
A note on principle. Translate subtitles for content you have the right to use, meaning your own videos, public-domain films, or material whose licence permits it.
After translating, three things to check
A freshly translated file usually needs three quick checks before it is ready to watch.
1. Fix the character encoding
This is the single most common problem when translating into a language with accents or a non-Latin script. If your translated file shows café instead of café, or boxes and question marks instead of Cyrillic, Greek, Arabic or Chinese characters, it was saved in the wrong encoding. Run it through the encoding repair tool to re-decode it cleanly to UTF-8, and save translations as UTF-8 from the start to avoid it. The guide on fixing garbled subtitle characters goes deeper.
2. Re-check the sync
Translation should not move the timing, but if you assembled the file from a different source, or merged a translated track with the original, it may not line up with your video. If the whole file is uniformly early or late, shift the timing by a constant offset. If it drifts further out as it plays, that is a frame-rate mismatch for the frame-rate converter.
3. Check reading speed in the new language
Languages are not the same length. Translating English into German, Spanish or Finnish often makes lines noticeably longer, and a line that was comfortable to read in three seconds can become a wall of text in the translation. Run the file through the reading-speed checker to flag any cue that now exceeds a comfortable characters-per-second (CPS) rate. Around 17 CPS is a common ceiling. Shorten the lines it flags. There is more on this in the subtitle reading speed guide.
Making a dual-language (bilingual) subtitle
If you are learning a language, you might want both languages on screen at once, the original and your translation together. Because both tracks share the same timeline, you can merge the two subtitle files with their offsets set to zero. The merged file contains every cue from both languages, and when two cues overlap in time, players display them together, so each line appears with its translation. It is one of the most effective ways to study a film in a language you are learning. Our dual-language subtitles guide covers the whole setup, including players that show two tracks natively.
Match the format to your player
Finally, make sure the translated file is in the format your player wants. SRT is the safe universal choice for offline players and TVs, while browsers and HTML5 video need WebVTT. If yours is in the wrong one, convert between SRT, VTT and ASS in a click. The timing and your translated text carry over exactly.
The bottom line
Translating subtitles comes down to one discipline, change the text and keep the timing, plus three follow-up checks for encoding, sync and reading speed. Translate by hand when accuracy matters, lean on machine translation for long films and then proofread, and remember that a good translation reads comfortably at a sensible pace, not just accurately. Do that, and you can take a subtitle file into any language and have it play perfectly in any player.