Generate subtitles and translate them locally.
Broadcast-ready cues, rendered locally.
Whisper transcription, Marian translation, and a full subtitle editor, all running locally.
100% private
Your footage never leaves the device. Decoding, transcription, and translation all happen locally.
WebGPU acceleration
Transcription uses your GPU when one is available, with a WebAssembly fallback.
Word-level timing
Timestamped Whisper models produce per-word timing for tight cues and karaoke export.
Bilingual output
Translate into a second language and export both tracks stacked, in either order.
Burn subtitles into video
Render captions straight onto your clip with Canvas and MediaRecorder — up to 1080p free, 4K on Pro. No watermarks, ever, no ffmpeg uploads: the export happens on your device in real time.
Word-by-word highlight templates
Three social-ready motion templates — minimal, bold pop, karaoke — with editable active and done colors, plus five full visual presets and 9-point positioning.
From footage to subtitles.
- 01
Drop in a video or audio file
Drag in MP4, WebM, MP3, WAV, or M4A. It's decoded locally; nothing is uploaded.
- 02
Whisper writes the cues
Speech is transcribed in overlapping windows, then normalized to broadcast timing rules.
- 03
Edit, translate, export
Fix cues in the studio, add a translation, then download SRT, VTT, ASS, TXT, or JSON.
About Subtitle Studio
A free subtitle studio that listens to your audio and video with Whisper, writes timed cues, styles them for any platform, burns them into new video files, and optionally translates them into a second language — all inside the browser.
It is built for creators, teachers, journalists and anyone captioning interviews, lectures, screen recordings or vlogs without handing raw footage to a cloud service, and without accepting a watermark or a monthly minute cap.
How it works
The audio track is decoded with the Web Audio API and resampled to 16 kHz mono, then transcribed by a timestamped Whisper model running through Transformers.js in overlapping 30-second windows, so long recordings stream progress and every cue carries per-word timings. You can pick the tiny, base, or small Whisper tier and let the tool detect the language or pin one of roughly 99. For a second-language track, compact Marian (OPUS-MT) models translate the cues, pivoting through English when no direct model exists. Both transcription and translation models download once and are then cached for offline reuse.
Visual styling and word-highlight templates
A dedicated style panel controls the complete visual domain: font, size (scaled to the export height), bold, italic, uppercase, primary and outline colors, outline width, shadow, optional rounded background box, letter spacing and line height, plus a nine-position placement grid and vertical margins. Five curated presets cover broadcast, social and cinema looks, and every change previews live over the actual video and enters the undo/redo history.
For social video, three word-by-word highlight templates — Minimal, Bold Pop and Karaoke — recolor words as they are spoken, with adjustable active and already-spoken colors. The same timing data produces VTT cue settings, complete ASS V4+ styles, and true ASS karaoke events, so what you preview is what the file encodes.
Burned-in video export
If you need captions baked into the picture, the burn exporter draws each decoded video frame onto a canvas with the styled caption — including word highlighting and optional speaker labels — and captures the result together with the original audio using MediaRecorder. Output is MP4 with H.264 where the browser supports it, otherwise WebM (VP9/VP8); no ffmpeg and no watermark are involved. Heights from 720p upward are selected per target and constrained by plan, with bitrates matched to resolution. Because capture runs in real time, a two-minute clip takes roughly two minutes to render, and the UI says so plainly.
Editing, timing tools and quality checks
The studio pairs the preview and a scrubbable waveform with a cue editor for inline text edits, splitting at the playhead, merging, duplicating, find & replace across both tracks, per-cue speaker labels, global time shifting, proportional time stretching, and full undo/redo. A quality panel flags cues whose duration, reading speed, line length or overlap breaks normal subtitle conventions, and one click re-normalizes the whole document. Finished subtitles export as SRT, WebVTT, ASS, plain text or structured JSON — in the original language, the translation, or both stacked in either reading order.
Free and Pro limits
The free tier handles media up to 30 minutes and burns captions at up to 1080p; Pro extends media to 180 minutes and burn-in to up to 2160p. As everywhere in the suite, there is no run count, monthly quota, or watermark on either tier, and commercial use is included. Very long recordings can exhaust memory on low-RAM devices — splitting the file is the practical workaround.
Common questions
Is burned-in export as good as a desktop encoder? The render is real-time browser capture with no watermark; MP4 support depends on the browser and WebM is the honest fallback, with sidecar SRT/ASS always available in perfect quality.
Do the word-highlight templates work in exported files? Yes in ASS karaoke events and in burned-in video; SRT itself has no styling concept, so styled sidecar output goes through VTT or ASS.
Can I trust the translation for high-stakes wording? OPUS-MT is strong for general conversation and narration, but legal or medical text should be reviewed by a human.
Does anything get uploaded? No — decoding, transcription, translation and rendering all happen on your machine; only the subtitles or video you choose to download leave the tab.