More games at WuGames.ioSponsoredDiscover free browser games — play instantly, no download, no sign-up.Play

Subtitle Translator

Free online subtitle translator: translate and convert SRT, VTT, ASS, SSA, SUB between 15 languages with 100% timestamp preservation. No upload, no signup.

clearClearpastePaste
Format detected
Total cues
Cues translated
Timestamps kept
#TimestampSourceTarget

About the Subtitle Translator

Video creators, indie filmmakers, e-learning teams and small localization shops constantly need to ship subtitles in 4-8 languages without breaking a single timestamp. Most online translators paste prose into a textarea and destroy SRT structure on round-trip, requiring 30-60 minutes of manual cue re-numbering per file. This tool parses SRT, WebVTT, Advanced SubStation Alpha (ASS), SubStation Alpha (SSA) and MicroDVD (SUB) natively, extracts only the text payload of each cue, translates it via your choice of MyMemory (free, no API key), LibreTranslate (public open-source instance) or a fully offline 5-language dictionary mode, then rebuilds the file with every timestamp, every cue number, every karaoke tag and every styling instruction byte-identical to the source.

A timestamp-integrity check reruns the parser on the output to confirm 100% cue alignment before you download. The translated file drops straight back into Premiere Pro, DaVinci Resolve, FFmpeg, Aegisub, YouTube Studio, Vimeo or any player that loaded the original.

Which subtitle formats are supported and how does the parser detect them?

Five formats: SRT (the de-facto standard, comma-separated milliseconds), WebVTT (HTML5 standard, dot-separated milliseconds, supports cue identifiers and styling), Advanced SubStation Alpha .ass (Aegisub format with karaoke, fade, position tags), SubStation Alpha .ssa (older sibling of ASS), and MicroDVD .sub (frame-numbered, common in older DVDs). The detector looks at the first 300 characters for a 'WEBVTT' header, an '[Script Info]' or 'Dialogue:' line, a {start}{end} frame pattern, or an SRT-style timestamp arrow — in that priority order. You can paste content directly or upload .srt, .vtt, .ass, .ssa, .sub or .txt files.

How does the tool guarantee timestamps are preserved 1:1?

Three layers. First, the parser extracts only the text payload of each cue and leaves header lines (cue numbers in SRT, cue IDs in VTT, format/style fields in ASS, frame markers in SUB) completely untouched as opaque strings. Second, the rebuilder writes the same header strings back in the same order with the translated text spliced in. Third, after rebuild the output is re-parsed and its timestamp list is compared to the original — the 'Timestamps kept' card shows the percentage and turns green at 100%. In normal use it is always 100%; if it ever dips below, the input file likely contained mixed formats or non-standard cue separators.

Which translation engine should I pick and what are the limits?

MyMemory (default) is free, requires no API key, supports 100+ language pairs and uses a community translation memory boosted by neural fallback — quality is comparable to mid-tier commercial engines for common languages. Rate limit: ~5,000 characters per IP per day anonymously, 50,000/day with a free email. LibreTranslate (public Argos endpoint) is fully open source, slightly lower quality but unlimited and self-hostable if you need on-prem; quality varies by language pair. Offline dictionary mode does word-level replacement only, no grammar — useful for technical glossaries or to preview structure with zero network calls. For production-grade quality buy DeepL or OpenAI/Anthropic translation; this tool is designed for fast iteration, not final film delivery.

Does the tool preserve ASS karaoke timing tags (\k, \kf, \K) and styling?

Yes for line-level styling and per-event format fields (Layer, Start, End, Style, Actor, MarginL, MarginR, MarginV, Effect). Inline override tags like {\b1}{\i1}{\fad(200,200)}\N{\k50}lyric are sent through the translator as-is in the Text field. Most engines preserve braces and backslashes literally, but karaoke timing \k tags will appear in the translated lyrics in the same positions — you may need to manually re-time them since translated syllables rarely match source syllable counts. For karaoke-critical work, translate the prose, then re-time \k in Aegisub. For dialog subtitles without karaoke, the round-trip is essentially perfect.

Subtitle Translator — Free online subtitle translator: translate and convert SRT, VTT, ASS, SSA, SUB between 15 languages with 100% timestamp
Subtitle Translator

What is the difference between WebVTT and SRT for web players?

SRT is older (1990s, originally for SubRip), uses commas as decimal separator (00:01:23,456) and has no official styling. WebVTT (2010+, HTML5 native) uses dots (00:01:23.456) and supports cue identifiers, positioning, voice spans (<v Speaker>), CSS classes, and chapter markers. YouTube, Vimeo, Netflix-internal and modern HTML5 <video><track> all prefer VTT. To convert, just set the 'Output format' dropdown — Keep source / SRT / WebVTT / ASS — and the tool translates AND converts in one pass: it rewrites the comma vs dot milliseconds separator, prepends the WEBVTT header, and renumbers cues automatically. SRT↔VTT round-trips losslessly; converting an ASS file to SRT/VTT drops styling and karaoke (the tool warns you), and converting a plain SRT/VTT to ASS applies a default style you can refine in Aegisub.

Can I batch-translate a 5,000-cue subtitle file in one go?

Yes, but expect 10-30 minutes for a full feature-length film via MyMemory — each cue is one API call with a 250ms polite-throttle every 5 cues to avoid rate-limit bans. The UI shows a progress counter (cue X / total) so you can leave the tab in the background. For files over 2,000 cues we strongly recommend chunking the SRT (split-text tool on this site can do that) and translating in two or three sessions, or using an API key (sign up at MyMemory for 50k chars/day free). LibreTranslate has no rate limit on the public Argos endpoint but throughput is typically slower per call.

Translated lines are longer than the source — how do I keep reading speed (CPS) and line length under control?

This is the classic localization trap: translating English into French, Spanish or Portuguese routinely adds 20-35% characters, and into German even more, so cues that fit two lines in the source overflow after translation. Broadcast and Netflix-style guidelines cap subtitles at roughly 42 characters per line, two lines max, and 17-20 characters per second (CPS) reading speed. This tool preserves the original start/end times exactly, so a longer translated line keeps the same on-screen duration — meaning CPS can spike past comfortable reading limits. After translating, scan the preview and the output for cues that grew long, then either tighten the wording (subtitling is condensation, not literal translation), insert a manual line break, or split a dense cue into two timed cues in Aegisub/Subtitle Edit. For ASS output you can also nudge the font size or margins. The tool deliberately does not auto-rewrap, because reading-speed decisions are editorial; it gives you faithful timing and clean structure to edit from.

Will the translated subtitle file play in my video editor or player without re-numbering?

Yes. SRT cues stay numbered 1, 2, 3… in original order. VTT cue identifiers (if present) are preserved verbatim. ASS Dialogue lines retain their Layer/Style/Actor fields. MicroDVD frame markers stay byte-identical. Test confirmed in: Premiere Pro 2024 (drag .srt into a sequence), DaVinci Resolve 19 (Subtitles → Add Subtitles from File), FFmpeg (-vf subtitles=file.srt), Aegisub 3.4 (File → Open Subtitles), VLC 3.x, MPC-HC, mpv, YouTube Studio (auto-imports as a track), Vimeo Pro and the native HTML5 <track> element. If your player rejects the file, check the BOM (some editors prepend 0xEF BB BF) and re-save as UTF-8 without BOM.

Are my subtitles confidential when using the cloud engines?

MyMemory and LibreTranslate are public services that may log requests for quality improvement. The TEXT of each cue is sent in plaintext over HTTPS; timestamps, cue numbers and ASS styling never leave the browser. For NDA, pre-release film, medical or legal content use the Offline Dictionary engine (zero network calls) or self-host LibreTranslate behind your firewall (open-source, runs on a single GPU). The Offline Dictionary mode only covers basic vocabulary for English↔Vietnamese/Spanish/Portuguese/French — it is a structure-preservation preview, not a production translation. For confidential production work, the safest path is self-hosted LibreTranslate or a commercial API with a signed Data Processing Agreement.