Keep Only One Language In Bilingual Subtitles
Or paste subtitle text
Options
A bilingual file normally holds two writing systems — Latin above Chinese, Japanese above Korean — and that is what the default reads: each line's letters decide which file it belongs in, and the language that appears first in the file becomes the first file. It is not a guess about meaning, only about script, so it never mixes up which side is which once it has seen the first line. What it cannot do is tell two languages that share an alphabet apart. An English file against a Spanish one, or a Russian one against a Ukrainian one, reads as one writing system — and so does an ordinary monolingual file whose long lines are wrapped onto a second row, which is the common case and the reason this reading is deliberately cautious. When every line of every cue reads as the same writing system, nothing comes out: the file goes through unchanged and the run is reported as having changed nothing. That is the signal to pick line position instead. Choosing line position makes that the rule everywhere: the first line of each cue goes to the first file and the rest to the second. That fits a file whose two languages are always on the same lines, and it is the only way to split a pair that shares an alphabet — but on a file where the order varies it will divide the wrong lines, and unlike the default it says nothing about having done so.
This page keeps one language and leaves the other out, and this is which one. The first language means the one that appears first in the file — the first line of the first cue that has any letters in it, so on a file written with the original above the translation it is the original. The other language means everything else. Whichever you pick, the other language is gone from the result: its lines are not in the file at all, and a cue that held only that language is not in the file either. What the run tells you afterwards is what is left — how many cues came out, and the list of cues whose text changed. Nothing is written to your own file on disk, so the original is still there if you picked the wrong side. If you want both languages, each in its own file that you can deliver separately, the page that splits the file in two is the one you want — it keeps everything and hands you a zip with both.
Which frame rate the timings are counted in. On the format pages this is what MicroDVD needs, because it stores timing as frame numbers. On the frame rate pages it is the rate the file was timed against — the version the subtitles were made for — and the page's second box takes the rate of the video you are going to use them with. 23.976, 24, 25, 29.97, 30, 50, 59.94 and 60 are the common ones. Getting it wrong shifts the whole timeline, and on the frame rate pages it shifts it by a ratio rather than by a fixed amount.
This page takes one subtitle file that holds two languages and gives you back one file holding a single language of your choice. It is the smaller half of a pair: the other page splits the same kind of file into two files and hands you both, this one leaves one of them out on the way through. Reach for this one when what you need is a plain single-language subtitle file to deliver — to a translator who works only on their own language, to a player or a platform that takes one language per track and would otherwise show both lines stacked, to a video you are burning in with one language chosen.
Which language is which is decided from the writing system each line is written in, and the first language means whichever one appears first in your file — on a release with the original above the translation, that is the original. Lines that carry no language at all, such as a music note or a bracketed sound, follow the first language. Nothing about the timings changes: every cue that stays keeps the start, the end and the number it had in the source file, so the result sits at exactly the same moments and lines up against the file it came from.
One outcome here deserves to be spelled out before you run it. If you ask for the language the file does not have, there is nothing to keep: the result is a subtitle file with zero cues in it, and the run reports it as having no cues rather than as an error, because the page cannot tell the difference between a file that only holds one language and a click on the wrong side. Watch for that if your file is not actually bilingual. A file whose long lines are wrapped onto a second row is the usual culprit: at the level of letters, a wrapped monolingual file and a two-language file look the same, so the safest reading is that there is one language and the second one is empty. A file with two languages sharing an alphabet — English above Spanish, Russian above Ukrainian — reads the same way, and there the way out is to change the split to line position, which cuts by row instead of by letters and is the only rule that can separate two languages that use the same alphabet.
Ten formats go in: SRT, WebVTT, ASS, SSA, SBV, SAMI, TTML, JSON and CSV, plus MicroDVD, whose frame numbers are read and written at the frame rate you set. LRC is left out because it stores no end time, and plain text is left out because it has no timings at all — neither has a cue for a line to belong to. Keeping one language is not counted as loss in the report, since removing it is the whole point of the page, but the report does tell you when a cue had to be divided by row rather than by letters. Nothing is uploaded, nothing is registered, and your file is read and written inside this browser tab.
Examples
Keep the translation, drop the original
Input
1
00:00:01,000 --> 00:00:03,000
Good morning.
早上好。
2
00:00:05,000 --> 00:00:07,000
How are you?
你好吗?
Output
1
00:00:01,000 --> 00:00:03,000
早上好。
2
00:00:05,000 --> 00:00:07,000
你好吗?
The ordinary run, with the option set to the language that is not the first one. Each line is read on its own, so the Chinese is kept wherever it sits in the cue, and the English is not in the result at all. Cue numbers and times are untouched, which is what makes the second language easy to check afterwards against the bilingual file it came from.
Two languages sharing an alphabet
Input
1
00:00:01,000 --> 00:00:03,000
Good morning.
Buenos días.
2
00:00:05,000 --> 00:00:07,000
How are you?
¿Cómo estás?
Output
1
00:00:01,000 --> 00:00:03,000
Buenos días.
2
00:00:05,000 --> 00:00:07,000
¿Cómo estás?
Read by letters, English and Spanish are one writing system, so nothing tells them apart and the default would keep the file as it stands. Switch the split to line position and ask for the second language: the first row of each cue goes one way and the rest the other, so the Spanish comes out on its own. It works because this file puts each language on its own row, in the same order, all the way down.
Asking for a language the file does not have
Input
1
00:00:01,000 --> 00:00:03,000
Good morning, everyone.
Welcome back to the show.
2
00:00:05,000 --> 00:00:07,000
Today we are talking about
subtitle formats.
Output
(no cues)
One language only, its long lines wrapped onto a second row. There is no second language to keep, so the result has no cues and the file is marked as having none. This is not a failed run: the page cannot know whether your file is monolingual or whether the wrong side was picked. If the file really does hold two languages sharing an alphabet, line position is the split that separates them.
Frequently asked questions
How do I keep one language and remove the other from a bilingual subtitle file?
Drop the file in, choose whether to keep the language that appears first in the file or the other one, and run it. The first language is the one on the first line that carries letters, so on a file with the original above the translation it is the original, and the other language is everything that is not that. You get back a single subtitle file with the kept language in it, at the source timings — a file you can hand to a platform or burn in without stripping anything first.
I asked for the other language and got a file with no cues in it.
That means the language was not there to keep. Every line of your file reads as one writing system, so there is no second language, and the result is empty rather than being the file you started with — handing the whole file back would give you the language you just asked to have removed. The two shapes that cause this are a monolingual file whose long lines are wrapped onto a second row, which is the most common subtitle file there is, and a file whose two languages share an alphabet, such as English above Spanish. For the second one, set the split to line position and run it again.
Which language does this page call the first one?
The one that appears first in your file, read in writing order from the top: the first line in the first cue that has letters in it decides, and the whole file follows that decision. On a release where the original sits above the translation, the first language is the original. Nothing tries to work out which language is the source and which is the translation — the letters can say which language a line is, but not which one was written first.
Is the language that gets dropped reported as loss?
No, and that is deliberate. Removing it is what the page is for, so counting it as loss would bury the one thing the report is worth reading for: the number of cues that had to be divided by row because their lines carried no letters at all, which is a guess and is counted as such. A cue that held only the language you dropped leaves no trace in the result beyond a missing line in the list of cues whose text changed.
Do the times and cue numbers survive when one language is removed?
Yes, both. Each cue that stays keeps its start, its end and the number the source file gave it, so the kept language sits at exactly the moments it did before and its numbers still match the bilingual file — cue 2 in the result is the same moment as cue 2 in the source, on the same row of the pair. A cue whose only language was the one you dropped does not appear at all, and the numbers after it are not closed up to hide that.
What input formats work here, and does my subtitle leave my machine?
SRT, WebVTT, ASS, SSA, SBV, SAMI, TTML, JSON and CSV, plus MicroDVD, whose frame numbers are read and written at the frame rate you set — a bilingual file there is one line with both languages separated by a bar. LRC and plain text are not accepted: LRC stores no end time and text stores no timings, so there is no cue for a line to belong to. Nothing is uploaded. The file is read, filtered and written back inside this browser tab, which is the point for anyone whose material is not allowed to leave their machine.