Video
Subtitles
Whisper runs here, in your browser, and writes the subtitles from the video’s own audio. Nothing is uploaded, and writing subtitles needs no account.
Hardcoded captions that play anywhere, with nothing uploaded.
To burn subtitles into video for free, open OpenSubs in your browser, choose the video, generate the subtitles or open an .srt or .vtt you already have, pick a style, then burn them into an MP4 from the Export tab. Nothing is uploaded and there is no watermark; burning takes a free sign-in.
A subtitle file sits beside the video and every player treats it differently — some ignore it, some restyle it, and most social platforms drop it entirely. Burning the subtitles into the picture settles that: the words are pixels in the frame, so they survive re-encoding, they survive being uploaded somewhere else, and they look the same to everyone.
OpenSubs lets you burn subtitles into video here, in the tab. The video is read straight off your disk, libass draws the subtitles exactly as the preview showed them, and WebCodecs encodes the result to MP4 with the audio copied across untouched rather than re-encoded. There is no upload step, because there is no server to upload to — which is also why there is no file-size cap, no queue and no watermark.
Free · no watermark · open source · free sign-in to burn
Whisper runs here, in your browser, and writes the subtitles from the video’s own audio. Nothing is uploaded, and writing subtitles needs no account.
Hardcoding, embedding, burning in — three names for the same thing, and the reason to do it is always the same: to stop the player deciding.
Once burned in, the subtitles are part of the picture. Nothing can switch them off, restyle them or lose them in a re-upload.
The same renderer the preview uses, so what you burn is what you saw. Word-by-word highlighting, outlines and shadows all survive.
Only the picture is touched. The soundtrack is passed through as it was, so burning subtitles in costs nothing in audio quality.
The encode runs on your machine with WebCodecs. A long recording is a long encode, not a rejected upload.
Many online tools that burn subtitles into video upload the file to a server first. OpenSubs does the whole job on your own machine, and does a few things a burner alone does not.
It is read off your disk and encoded in this tab: no upload, no queue, no file-size cap. For very long videos there is a desktop app for macOS, Windows and Linux.
The MP4 holds your video and your subtitles and nothing else. Burning takes a free sign-in; transcribing, styling and subtitle files work without one.
Translate the subtitles into 20 languages, free on your device in desktop Chrome or with your own key or credits, and keep the original on screen too: both lines are burned in.
Besides the burned MP4, save the subtitles as .srt, .vtt or .ass, or the words alone as .txt.
One new file, next to nothing else changed. The picture is re-encoded because it has to be — the words are in it now — and everything else is carried across as it was.
The format every phone, editor and social platform takes without re-encoding it again. Where a browser has no H.264 encoder, OpenSubs falls back to VP9 in a WebM, and checks before it offers you the button rather than failing halfway through.
The bitrate is picked to match what the desktop build encodes at, which is generous enough that subtitle edges stay crisp instead of turning to mush in the first dark scene.
Output timestamps come from the source’s own samples rather than a synthetic clock, so a screen recording that drifts between frame rates stays in sync.
AAC cannot live in a WebM. Re-encoding it would break the one promise this makes about audio, so OpenSubs drops the track and tells you, rather than quietly degrading it.
Colour metadata. A browser hands over a decoded frame without the container’s colour tags, so an HDR source is tone-mapped by the decoder in a way this page cannot control or even describe. Rather than mangle it quietly, OpenSubs flags an HDR file and points you at the desktop app or the command line, which read the real file and get it right. For ordinary SDR video — which is nearly all of it — this never comes up.
You don’t have to generate the subtitles here to burn them. Load the video, then open the .srt or .vtt you already have — from a translator, an editor or another tool. If the characters come out garbled, choose the file’s text encoding and it is read again.
Pick a style, check the preview and burn. OpenSubs saves a new MP4, named after your video with .subbed.mp4 on the end: the picture with the subtitles drawn into it, and the audio copied across untouched.
Word-by-word highlighting works on imported subtitles too, because it runs off the cue timings. Sizing words by how loud they were does not: that needs the audio this app transcribed.
Load the MP4 in OpenSubs, open the .srt, and burn. The result is a new MP4 with the subtitles in the picture; your original file stays as it was.
No. Once burned in, they are part of the picture. If viewers need to switch them off, export the subtitles as .srt or .vtt instead and add that file alongside the video.
.srt and .vtt. OpenSubs writes .ass files but does not open them.
Not here. OpenSubs either draws the subtitles into the picture or hands you the .srt, .vtt or .ass file to keep beside the video — it does not write a soft subtitle track into the MP4 itself. If you need subtitles a viewer can switch off, export the file and upload or ship it alongside.
The picture is re-encoded, so strictly yes, but the bitrate is picked to match what the desktop build uses and the difference is not something you will see. The audio is not touched at all: its packets are copied across, so speech lands on exactly the same instants it did before.
Yes. You can burn subtitles into video here at no cost and with no watermark. Burning a video takes a free sign-in; transcription, styling and subtitle files work without one.
No. The video is read from your disk and encoded in your browser with WebCodecs. There is no upload step, so there is no file-size cap either.
Yes. Translate the subtitles, keep the original on screen too, and both lines are burned into the video, with either language on top.
MP4, MOV, WebM and MKV go in. What comes out is an MP4 with H.264, or a WebM with VP9 where the browser has no H.264 encoder.