Make bilingual subtitles for your own video

OpenSubs (opensubs.app) puts two languages on screen at once: the words as spoken, and a translation above or below them. Bilingual subtitles are previewed over your video, burned into the MP4 and exported together. The video is not uploaded.

Free on your device in Chrome. No account, no watermark.

How to make bilingual subtitles

Bilingual subtitles start as ordinary ones. Make them with the subtitle generator, or open an .srt or .vtt you already have, then translate and keep both.

  1. Open opensubs.app and choose a video, or open an .srt or .vtt.
  2. Translate the lines into the second language, for example Chinese under English.
  3. Tick Keep the original on screen too. The option appears once a translation is on screen.
  4. Choose the order, Original on top or Translation on top, and the original's size: the same, 80% or 65%.
  5. Burn the bilingual subtitles into an MP4, or export them as a file.

What you get with bilingual subtitles

Both languages are burned in, previewed and exported together, so the picture you check is the picture you get.

The translation, easy to read

The original starts at 80% of the translation's size, because the translation is what most viewers read and the original is there for reference. Set it to the same size or to 65% if you prefer.

.ass keeps the look

The .ass file carries the sizes and the style. .srt and .vtt are plain text: they carry both languages, one under the other, but not the styling.

Word by word, on the original

With a word effect on, the highlight runs on the original, whichever way round the two are stacked. Its words are the ones the audio was timed against.

The same timings

Translation keeps every line where it was, so both languages appear and leave together.

Where the translation comes from

Bilingual subtitles need a translation, and the translator is a choice. The default is Chrome's built-in translation, which runs on your device: free, no key, nothing uploaded. In other browsers, bring your own Claude, OpenAI or DeepL key, or point it at an OpenAI-compatible server on your own machine. There is also a paid option on our backend; the price is shown before it runs.

What it will not do

  • Show dual subtitles on a streaming service. These bilingual subtitles are for video files you have.
  • Use Chrome's on-device translation in another browser. There, you need your own key or a server of your own.
  • Change timings. The words can be edited; when each line starts and ends cannot.

What leaves your machine

With the defaults, nothing but the speech model download: transcription runs in the browser and Chrome's translation runs on the device. Your own key sends the subtitle text, not the video, to the service you chose.

The source is public under the AGPL-3.0-or-later, on GitHub. Questions, or a problem to report: email hello@opensubs.app.

Questions

How do I put English and Chinese subtitles on one video?

Make or open the English subtitles, translate them into Chinese, tick Keep the original on screen too, then burn the bilingual subtitles into the MP4.

Are bilingual subtitles free?

Yes in Chrome, whose built-in translation runs on your device. In other browsers, use your own translation key or a local server.

Can I choose which language is on top?

Yes: Original on top or Translation on top, and the original can be the same size, 80% or 65%.

Do the .srt and .vtt files keep both languages?

Yes, as plain text, one under the other. Only .ass keeps the sizes and style.

Does this add dual subtitles to a streaming service?

No. It makes bilingual subtitles for a video file you have, not for a streaming service.