How to translate subtitles
- Drop your subtitle file. SRT, VTT or ASS, or a transcript saved from SubForge. Or paste the subtitles, or try the sample.
- Pick the languages. The source language is guessed from the text; change it if needed. The tool picks the better model for the pair and shows how well that pair tested.
- Press Translate. The first time, the model downloads once (Fast: about 115 MB; Best: 1.4 GB). After that it starts at once.
- Check and download. Each line shows the original next to the translation; edit any of them, then download in the same format, timings unchanged.
How it keeps subtitles readable
A subtitle often holds half a sentence, and a translation model given half a sentence translates it badly. So the tool first joins subtitles into whole sentences (it stops at a full stop, a question mark, a pause of a second or six subtitles), translates each sentence, and then shares the translation back over the original subtitles in proportion to how much of the sentence each one held, breaking between words and preferring a break after a comma. Every subtitle keeps its own start and end time.
Translations are often longer than the original: Spanish and French run about 20% longer than English. Each subtitle is re-wrapped to at most two balanced rows of 42 characters, the broadcast norm. When a translation can't fit in two rows, the tool says how many lines need shortening and marks them in the list so you can fix them before downloading.
Two models, both free to use
- Fast: Opus-MT from the University of Helsinki (Apache-2.0). One small model per direction, about 115 MB, runs on the CPU in any modern browser. Good between English and Spanish, French or Portuguese, and from Arabic into English; usable for English to Arabic and Hindi to English, and only a rough draft for English to Hindi.
- Best: Hy-MT2-1.8B from Tencent (2026, Apache-2.0). One 1.4 GB model for all 33 of its languages, run on your graphics card with WebGPU. Much better than Fast for Hindi in both directions, about the same for Arabic, and the only option for Urdu. It translates eight sentences at a time: on a desktop graphics card (RTX 5060 Ti) the subtitles of a 10-minute video take about 1 minute into English and 2 to 3 minutes into Hindi or Urdu, after the one-time download. The tool shows an estimate for your file before it starts.
We don't use Meta's NLLB, the usual choice for in-browser translation: its licence (CC BY-NC) forbids commercial use.
Quality by language pair
| Pair | Fast (Opus-MT) | Best (Hy-MT2) |
|---|---|---|
| English → Spanish | 55 Good | 57 Good |
| Spanish → English | 58 Good | — |
| English → French | 71 Good | — |
| French → English | 64 Good | — |
| English → Portuguese | 68 Good | — |
| Portuguese → English | 64 Good | — |
| English → Hindi | 31 Rough draft | 49 Usable |
| Hindi → English | 45 Usable | 62 Good |
| English → Arabic | 53 Usable | 55 Usable |
| Arabic → English | 60 Good | 61 Good |
| English → Urdu | — | 44 Rough draft |
| Urdu → English | — | 58 Good |
chrF score (0-100, higher is better) on sentences from the FLORES-101 test set (40 for Fast, 15 for Best), measured by us in November 2026. Good is 55 and up, Usable 45 to 55, Rough draft under 45. “—”: no model for that direction (Opus-MT has no Urdu model for the browser). Other pairs, such as Spanish → Hindi, go through English with Fast, or directly with Best.
More free subtitle tools
- Auto captions: make the SRT from your video first, then translate it here.
- SRT to VTT and VTT to SRT: switch formats for your player.
- Remove silence from video: cut the pauses and fillers, with subtitles re-timed.
- Urdu, Spanish and Arabic subtitle generators: subtitles straight from speech in that language.
Privacy
Your subtitles are translated by your browser on this page. The file is not uploaded, stored or seen by anyone. The only downloads are the translation models, once; your browser keeps them for next time.
Questions
Which languages can it translate?
English to and from Spanish, Hindi, Urdu, Arabic, Portuguese and French. With the Best model, any two of those directly (for example Spanish to Urdu); with Fast, pairs without English go through English.
Which files does it read?
SRT, WebVTT (VTT), ASS/SSA and SubForge transcripts (TXT, with or without [m:ss] timestamps). You get the same format back; ASS comes back as SRT because its styling can't survive the re-wrap.
Does it work with auto-generated captions?
Yes. Auto captions often have no punctuation, so the tool also ends a sentence at a pause of a second or after six subtitles. Fully punctuated subtitles translate better; SubForge's own captions are punctuated.
Are Urdu and Arabic subtitles displayed correctly?
The tool adds an invisible right-to-left mark to each Urdu and Arabic row, so players keep punctuation and Latin words in the right place. You can turn it off.
Is my subtitle file uploaded?
No. The models run in your browser and the file never leaves your device.
Is it free?
Yes, with no sign-up, no watermark and no limit on the number of files. Very long files take longer but work the same way.
Will the timings change?
No. Every subtitle keeps its start and end time; only the text is replaced and re-wrapped.
How good is the translation?
It depends on the pair, so the tool shows a measured note for each one. Spanish, French and Portuguese to English read well; Hindi and Urdu need the Best model; English to Urdu and to Hindi are still drafts that need a fluent read-through. Machine translation gets names, idioms and slang wrong: always check before you publish.
Why is the Best model not available?
It needs WebGPU with 16-bit float support, which recent Chrome and Edge have on most desktops and laptops. On other browsers and on most phones, use Fast; Urdu needs Best.
Credits and licences
- Opus-MT by the Language Technology Research Group at the University of Helsinki, Apache-2.0; ONNX builds by Xenova.
- Hy-MT2-1.8B by Tencent, Apache-2.0; q4f16 ONNX conversion by DavidLuong, loaded from a pinned byte-identical mirror.
- Run by Transformers.js (Apache-2.0).
- Quality figures: FLORES-101 (CC BY-SA 4.0), used for testing only.