Skip to article
All field notes

How to Translate SRT Files to Any Language: Complete Guide

Everything you need to know about translating SRT subtitle files, from choosing the right tool to preserving timecodes and handling special characters.

Written by SubWiz TeamAugust 15, 2026

How to Translate SRT Files to Any Language

SRT files are the most common subtitle format in the world. They are also the format I get the most questions about. People email me asking why their translated SRT file has broken timing, why the accents in their French subtitles show up as question marks, or why their video player refuses to load the file at all.

This guide covers the full process of translating an SRT file, from understanding the format to handling the problems that show up along the way. I will use SubWiz for the step-by-step walkthrough because it is the tool we built and it handles the common problems automatically, but most of what I cover applies regardless of which tool you use.

What Is an SRT File

SRT stands for SubRip Subtitle. It is a plain text file with a specific structure. Each subtitle entry has a number, a timecode line, and one or more lines of text. Here is what a single entry looks like.

1
00:00:01,000 --> 00:00:04,000
Hello, and welcome to the video.

The first line is the cue number. The second line is the timecode, showing when the subtitle appears and disappears. The time format is hours, minutes, seconds, and milliseconds, separated by colons and commas. After that comes the subtitle text, followed by a blank line that separates this entry from the next one.

An SRT file is just a sequence of these entries. A 10-minute video might have 150 of them. A two-hour film might have 1,200. The file has no styling information, no metadata, no fonts. It is just timing and text. That simplicity is why SRT works everywhere. VLC, YouTube, Premiere Pro, Plex, Jellyfin, OBS. They all read SRT.

The file extension is .srt. It is plain text, which means you can open it in any text editor. Notepad, TextEdit, VS Code. You do not need special software just to look at one.

Why SRT Translation Is Tricky

Translating an SRT file is not the same as translating a document. Three things make it harder.

Timing constraints

Every subtitle cue has a fixed start and end time. When you translate the text, the translation can be longer or shorter than the original. A German subtitle might have 30 percent more characters than the English version. A Chinese subtitle might have 50 percent fewer. If the translation is too long for the time slot, the viewer cannot read it before it disappears. If you shift the timing to accommodate, the subtitle drifts out of sync with the audio.

The general rule for readable subtitles is 17 characters per second or fewer. Some sources say 15. For fast readers you can push to 20. Beyond that, the subtitle flashes by too fast to read. A translation tool that ignores this constraint produces files that are technically correct but unwatchable.

Context loss

SRT files are translated line by line by most tools. The problem is that subtitles do not work like independent sentences. A line might be a continuation of the previous one. A character might be referenced by a pronoun that only makes sense if you read the earlier cue. Slang, idioms, and cultural references need surrounding context to translate well.

When a tool translates each cue in isolation, it picks the most literal translation of each line. Sometimes that is fine. Often it produces awkward or wrong output. The Spanish word "ahora" means "now," but in context it might mean "right then" depending on the tense of the surrounding dialogue. A line-by-line translator picks one and sticks with it regardless of context.

Character limits and line breaks

SRT files typically display two lines of text on screen at once. Each line should not exceed roughly 42 characters. When a translation comes back longer than the original, it might overflow these limits. The text gets cut off on the screen or wraps to a third line that the player does not support.

Line breaks matter for readability. You want to break at natural points, between phrases, not in the middle of a word or between an adjective and its noun. Manual line breaking is tedious. An SRT file for a feature film has thousands of line break decisions. Doing this by hand for every translated cue is not practical.

Step-by-Step: Translating an SRT File with SubWiz

Here is the actual process I use when I translate an SRT file with SubWiz. It takes about 30 seconds for a typical video.

Step 1: Prepare your SRT file

Start with a clean SRT file. If you extracted it from a video using a tool like FFmpeg, make sure it opens correctly in a text editor first. Check for obvious problems like missing blank lines between entries or timecodes that overlap.

If your file has encoding issues, which I will cover below, fix those before uploading. SubWiz handles UTF-8 and common legacy encodings, but a file with mixed or corrupted encoding will cause problems in any tool.

Step 2: Upload to SubWiz

Go to subwiz.ai and upload your SRT file. You can drag and drop it or browse for it. The file stays on the server only for processing. Nothing is stored permanently.

Step 3: Pick your target language

SubWiz supports over 100 languages. Select the one you need from the dropdown. If you want multiple languages, you can queue them up. Each language is billed separately at $0.10 per subtitle hour.

One thing to keep in mind. Language selection matters for dialect. Brazilian Portuguese and European Portuguese are different enough that picking the wrong one produces subtitles that feel off to native speakers. Same for Simplified versus Traditional Chinese. Pick the specific variant your audience uses.

Step 4: Download the translated file

The translation runs in a few seconds for most files. You get back an SRT file with the same timing as the original, with the text translated and line breaks adjusted. Download it and open it in a text editor to spot-check.

Here is what the same entry from earlier looks like after translation to Spanish.

1
00:00:01,000 --> 00:00:04,000
Hola y bienvenidos al vídeo.

The timing is identical. The text is translated. The line fits within the time slot at a readable speed.

Step 5: Review and fix

No automated translation is perfect. Watch the video with the translated subtitles and check for problems. The most common issues I see are proper nouns translated when they should not be, numbers formatted differently than the target language expects, and questions that should use different politeness levels in languages like Japanese or Korean.

For most content, a 10-minute review pass catches everything that needs fixing. For professional work, have a native speaker review the file. This is still dramatically faster than translating from scratch.

Common Problems and How to Fix Them

Encoding issues

The most common SRT problem I see is encoding. SRT files are plain text, but plain text can be encoded in different ways. UTF-8 is the modern standard. Older files might be in Windows-1252, ISO-8859-1, or other legacy encodings. When a player tries to read a file with the wrong encoding, accented characters show up as garbled text or question marks.

If your translated file has broken characters, the cause is almost always encoding mismatch. Open the file in a text editor that shows encoding, like VS Code or Sublime Text. Check what encoding it is using. Convert it to UTF-8 if it is something else. In VS Code, you can do this by clicking the encoding indicator in the bottom bar and selecting "Save with Encoding."

SubWiz outputs UTF-8 by default. If you are working with a file from another source and the encoding is unknown, try opening it as UTF-8 first. If that produces garbage, try Windows-1252. Nine times out of 10, one of those two works.

Line breaks in the wrong place

Automated translation can produce line breaks that split words or break phrases awkwardly. A line that reads "The quick brown fox" might come back as "The quick" on line one and "brown fox" on line two, which is fine, or it might split as "The quick brown" and "fox," which looks odd on screen.

SubWiz handles line breaking automatically by breaking at natural phrase boundaries. If you are using another tool, you may need to fix line breaks manually. The rule I follow is to break at punctuation first, then at conjunctions, then at spaces. Never break between an adjective and its noun if you can avoid it.

Reading speed violations

When a translation is significantly longer than the original, it may exceed readable speed. A line that takes 2 seconds in English might need 3 seconds in German to be readable. If the cue is only 2 seconds long, the viewer cannot finish reading.

SubWiz flags and adjusts these automatically by condensing the translation where possible. If condensation is not enough, it splits the cue into two entries with adjusted timing. Not all tools do this. In Subtitle Edit, you can see reading speed warnings and adjust manually. In Google Translate output, you are on your own.

If you are fixing this manually, your options are to shorten the translation, split the cue, or extend the end time. Extending the end time only works if there is a gap before the next cue. If the next cue starts immediately, you cannot extend without overlapping, which most players handle poorly.

Overlapping timecodes

Overlapping timecodes happen when one subtitle ends after the next one begins. Some video players handle overlaps by showing both subtitles at once. Others drop the earlier one. Either way, it looks bad.

This usually happens when someone manually adjusts timing without checking adjacent cues. SubWiz does not produce overlaps because it preserves original timing. If you are editing timing manually, check each change against the neighboring cues.

Special characters and formatting

SRT does not support rich formatting. You cannot do bold, italic, or colors in standard SRT. Some players support basic HTML-like tags like <i> for italics, but support is inconsistent. If your original file uses these tags, make sure your translation tool preserves them. SubWiz preserves formatting tags in the translation.

Special characters like emojis, arrows, and currency symbols can cause problems in some players. If your subtitles use these, test them in the target player before publishing. When in doubt, stick to standard Unicode characters that every player supports.

Best Practices for SRT Translation

I have translated hundreds of SRT files at this point. Here are the practices that save me the most time.

Use UTF-8 encoding for every file. There is no reason to use anything else in 2026. If you receive a file in a legacy encoding, convert it before doing anything else.

Keep a backup of the original SRT file before translating. If something goes wrong with the translation, you want to be able to start over without re-extracting the subtitles from the video.

Review the translated file in a text editor before loading it into your video player. A quick scan catches encoding problems, missing cues, and obvious translation errors in under a minute.

Test the subtitles on the actual video before publishing. A file that looks perfect in a text editor can still have timing issues that only show up during playback. Watch the first two minutes, skip to the middle, and check the end. That catches 90 percent of problems.

For multi-language projects, translate into one language first and review it. If the quality is good, batch the rest. If it needs adjustment, fix your process before translating into 10 languages and having to redo all of them.

Pick the right dialect for your audience. If your viewers are in Brazil, use Brazilian Portuguese. If they are in Portugal, use European Portuguese. The difference is noticeable and native speakers can tell immediately when you pick the wrong one.

What SRT Cannot Do

SRT is a simple format and that is both its strength and its weakness. It cannot store styling information, positioning, or metadata. If you need italic text for voiceovers, colored subtitles for different speakers, or positioned text at the top of the screen, SRT is the wrong format. Use VTT or ASS instead.

SubWiz supports VTT and ASS translation as well. If your project needs styling, start with VTT. If you need full positioning and styling control, use ASS. The translation process is the same. The format choice depends on what your video player supports and what you need the subtitles to look like.

Frequently Asked Questions

Can I translate an SRT file with Google Translate?

You can, but it is painful. Google Translate has no native SRT support. You have to strip the text, translate it, and reassemble the file with timing intact. There are scripts that do this, but they do not handle reading speed or line breaks. For anything beyond a quick personal project, use a tool built for subtitle translation.

Will the timing stay the same after translation?

With SubWiz, yes. The timecodes are preserved exactly. Some other tools alter timing when they split long lines. If timing matters for your project, and it usually does, verify that your tool preserves timecodes.

How many languages can I translate into?

SubWiz supports over 100 languages. You can translate a single file into as many languages as you need. Each language is billed separately. The first translation is free regardless of which language you pick.

How much does it cost?

SubWiz is $0.10 per subtitle hour per language after the first free translation. A 30-minute video translated into Spanish costs $0.05. Translated into 10 languages, it costs $0.50. There is no subscription. You pay per translation.

Do I need to install anything?

No. SubWiz runs in your browser. Upload a file, pick a language, download the result. There is nothing to install.

Start Translating

If you have an SRT file that needs translating, the fastest way to see how this works is to try it. Upload a file to SubWiz, pick a language, and download the result. The first translation is free, and you will have a translated, timing-preserved SRT file in under a minute.

NEXT ON THE REELBest Subtitle Translator in 2026: A Honest Comparison