SRT Translator Guide to Timecodes, Encoding, and Cue Limits
An SRT translator takes a SubRip subtitle file and gives back the same file with the dialogue in another language. Timecodes stay where they were, cue numbers stay in order, and only the text lines change. Everything difficult about the job lives inside that constraint.
Most of what goes wrong is a format problem rather than a translation problem, so the format is worth ten minutes before you pick any tool.
What is inside an .srt file
An SRT file is plain text. Open it in a text editor and you see repeated blocks:
1
00:00:02,140 --> 00:00:04,900
Open the terminal and run the installer.
2
00:00:05,010 --> 00:00:08,320
If it asks for a password,
that is your system password.
Four parts per block, always in this order from the top:
- The cue number, counting up from 1 with no gaps allowed.
- A timecode line shaped
HH:MM:SS,mmm --> HH:MM:SS,mmm, where the milliseconds sit behind a comma rather than a period. - One or two lines of text, where a line break inside the cue is deliberate and controls how the text wraps on screen.
- A blank line, which is how a parser knows the block ended and the next one begins.
That is the whole specification worth memorizing, and the omissions matter as much as the parts: no styling, no positioning, no speaker metadata, nothing but text and timing.
WebVTT (.vtt) is the same idea rewritten for the web. The file opens with the literal word WEBVTT, timecodes use a period before the milliseconds, and cue numbers are optional. Browsers load VTT through a <track> element, which is why the caption track on a web page is usually VTT while the file a video editor exports is usually SRT. Converting one to the other is mostly a comma-to-period swap plus a header line.
What translating an SRT means mechanically
Turning the sentences into another language is the straightforward half, and these are the five parts that break instead.
Timecodes have to survive untouched. One edited digit shifts a line off the speech. Any tool that reflows the file must read the timecode lines and never rewrite them.
Cue numbering has to stay sequential. Some players tolerate gaps, some stop rendering at the first number they did not expect. Merging two cues so a split sentence reads better, which is tempting, breaks the count unless the tool renumbers the whole file afterwards.
Line breaks inside a cue are content. Two short lines are readable. One long line gets wrapped by the player wherever it likes, often mid-name. Working conventions land around 42 characters per line, two lines per cue, and a reading speed of 17 to 21 characters per second. The format itself enforces none of that, but every professional subtitle spec sets numbers in that range.
Machine translation lengthens text. English into German, Russian, or Finnish routinely adds 20 to 35 percent in characters. The cue window does not grow to match. A cue that held two comfortable lines across 1.6 seconds now holds three lines nobody finishes reading. The fix is a shorter translation, because stretching the out-point collides with the next cue.
Encoding decides whether you get text or garbage. Save as UTF-8. When accented characters, Cyrillic, or CJK come back as é or a row of question marks, the file was written or read as something else, usually Windows-1252 or a legacy regional codepage. A UTF-8 BOM (bytes EF BB BF) is a separate trap: the first cue number arrives with three invisible bytes glued to it, and some players drop that cue. UTF-8 without BOM is the safe default, and both LF and CRLF line endings work in practice.
The manual route, with no tool at all
You can translate srt by hand, and for a short file that is the honest recommendation.
- Copy the file and keep the original untouched somewhere safe.
- Open the copy in a plain text editor, not a word processor, which will insert smart quotes and try to save as .docx or RTF.
- Translate only the text lines, leaving every number line and every
-->line exactly as it stands, blank lines between blocks included. - Keep the line breaks where they were unless the new text is clearly shorter or longer than the original.
- Save as UTF-8, no BOM, with the .srt extension still on the filename.
- Load it next to the video and spot check three places: the first cue, one cue in the middle, the last cue. Numbering errors show up at the start, and encoding errors show up on the first accented word.
If you paste blocks into a web translator, feed it a handful of cues at a time instead of the whole file. Bulk paste is where timecode lines get helpfully corrected, because a translation engine reads 00:00:02,140 as a number with a thousands separator.
This route stops being sane somewhere around a hundred cues. A feature film subtitle file runs 1200 to 1800 cues. At that size the work turns into clerking, and the errors become invisible, because nobody is still reading carefully at cue 300.
What to check before trusting any SRT tool
No product names here, since the tools change every quarter and the criteria do not. Run one real file through and check:
- Round trip with no translation: import, export, then diff against the original. A tool that cannot hand back a byte-identical file when asked to change nothing will damage a file when asked to change something.
- Timecode fidelity: compare every timecode line of input and output, milliseconds included.
- Cue count: the same number in as out, numbered 1 to N with no gaps anywhere in the file.
- Encoding of the export: use an editor that shows encoding, or run
file -I subtitles.srton macOS or Linux, where the answer you want ischarset=utf-8. - Length reporting: does it flag the cues that now exceed your characters-per-line limit or your reading speed, or does it hand back overflowing cues without a word? Saying nothing is the common case.
- Line break behavior: check whether your two-line cues came back as one long line.
- Glossary or do-not-translate lists: product names, function names, and people's names need protecting. Without that,
fitturns into a verb somewhere in the middle of a machine learning course. - Where the text goes: subtitle text is content, so if the file holds a client's unreleased material, the processing location matters and the terms should state it.
An ai srt translator, meaning one that routes cues through a language model instead of a phrase-based engine, usually reads better on connected dialogue, because it can see the neighbouring cues as context. It also invents more confidently when a source cue is fragmentary, and it rewrites cues to a different length without being asked. Neither kind of engine solves the problem of fitting the result into the original window. Some tools instruct the model to stay inside a character budget, which helps the fit and flattens the phrasing, and that tradeoff is where the tooling currently sits.
Watching a video versus producing a subtitle file
Two different jobs arrive under the same search. Producing a subtitle file you will ship needs the workflow above. Understanding a video that is playing in front of you needs no file at all.
Unlimited Universal Video Translator sits entirely in the second job. It works from the caption track a page already exposes, translates those segments, shows the translated lines over the video, and can read them aloud with an AI voice, so no file enters or leaves that path at any point.
The boundary, stated plainly: the extension does not import .srt files, does not export .srt or .vtt files, and does not edit subtitle files. It is not an SRT editor and not a subtitle converter. It also does not transcribe audio, so a video with no caption track gives it nothing to read, and the viewer has to switch captions on in the player first. Live streams, DRM-protected video, and caption-free uploads may fail outright. The video file is never uploaded, though the caption text does reach the translation route, and a cloud voice receives that text too if you select one.
That makes the split clean. If you need a localized .srt to deliver alongside a video, use a subtitle editor and the checklist above. If you need to follow a lecture in a language you do not read, translate the video subtitles in place and skip files entirely.
Related guides
How to Translate a Video lays out every route, file-based and in-player. AI Video Translator covers the detect, translate, speak pipeline in more depth. Translate Video to Text is the page for pulling words out of a video as text rather than as timed cues. Free Video Translator sets out what costs nothing, and the video translator extension guide covers install and browser support.
Frequently asked questions
What is an SRT translator?
A tool that reads a SubRip file, translates the dialogue lines, and writes the file back with the cue numbers and timecodes unchanged. Translating the words is the small part, and preserving the structure is what separates working tools from broken ones.
How do I translate subtitles srt files without breaking the timing?
Never let anything rewrite the timecode lines. Translate the text lines, leave HH:MM:SS,mmm --> HH:MM:SS,mmm byte for byte, keep the blank lines, and save UTF-8. Then check the last cue in a player, since damage tends to accumulate toward the end of a file.
Why do the accented characters look wrong after translating?
That is an encoding mismatch, where the file was saved in one encoding and read as another. Re-save as UTF-8 without a BOM and reload it in the player.
Should I use SRT or VTT?
Use VTT for a web player that loads captions through a <track> element, and SRT for editors, media players, and most delivery specs. The content is equivalent either way, so converting between them is cheap.
Can I translate an SRT file with the extension?
No, and that limit is worth stating plainly. There is no file import, no file export, and no subtitle editing surface. The extension only translates the caption track a page is already serving, while the video plays.
How many cues can I reasonably translate by hand?
Up to roughly a hundred is a normal afternoon. Past that, accuracy drops before patience does, and a tool that reports overlong cues earns its place.
Does a translated SRT need re-timing?
Often, yes. Longer target-language text inside the original window pushes reading speed past what a viewer can follow. Shortening the translation is usually better than moving the timecodes, since the timing was matched to the speech.
