Convert Subtitles to UPPERCASE
Or paste subtitle text
Options
Five named rules live behind this one box, and each has a page of its own: UPPERCASE and lowercase rewrite every letter, title case capitalises each word and leaves the small ones (a, the, of) alone, sentence case lowers the line first and then rebuilds the sentence starts, and Capitalise each line changes only the first letter of each line. This page fills the box in with the rule its title names and lists no other, so the file this page produces is the one the page is about.
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 rewrites every subtitle line in capitals. Drop in the file, run it, and the words come back shouting while everything else — the timecodes, the cue numbers, the order, the line breaks — stays exactly where the file put it. Most people arrive here with a delivery spec in one hand: some broadcasters and streaming platforms still ask for subtitle text in capitals, and a file that was written normally has to be handed over that way.
The full stop, the comma and the question mark all survive. This is a case change and nothing more: no punctuation is added or removed, no line is joined to another, no cue is retimed. If your file has two lines in one cue it still has two lines, each capitalised separately.
One thing is worth knowing before you run it on a file with styling. Capitalising a letter normally keeps the string the same length, so an italic range still covers exactly the words it covered before. A handful of characters are the exception — the German sharp s becomes two letters when capitalised, and a few others behave the same way — and where that happens the page drops the tags on that line and tells you how many it let go, because a range that no longer lines up with its words is worse than no range at all.
Nothing is uploaded. The file is read and written inside the browser tab, so material that cannot leave the machine — legal, medical, pre-release — stays on it. SRT, WebVTT, ASS, SSA, SBV, SAMI, LRC, MicroDVD, TTML, JSON, TXT and CSV are all read as what they actually are rather than as the extension suggests, and a file that had no capitals to add comes back byte for byte.
Examples
An ordinary two-cue file
Input
1
00:00:01,000 --> 00:00:02,000
The room is dark.
2
00:00:03,000 --> 00:00:04,000
A cold night.
Output
1
00:00:01,000 --> 00:00:02,000
THE ROOM IS DARK.
2
00:00:03,000 --> 00:00:04,000
A COLD NIGHT.
Every letter is capitalised and nothing else moves: the timecodes and cue numbers are the file's own, the punctuation is untouched, and there are still two cues. This is the whole operation — the reason it is worth a page of its own is what it does to styling, which the next example shows.
A line where capitalising makes the text longer
Input
1
00:00:01,000 --> 00:00:02,000
<i>straße</i> at night.
2
00:00:03,000 --> 00:00:04,000
fine.
Output
1
00:00:01,000 --> 00:00:02,000
STRASSE AT NIGHT.
2
00:00:03,000 --> 00:00:04,000
FINE.
The sharp s at the end of the italic word grows into two letters, so the italic range no longer spans the same characters. Rather than leave the tags pointing at the wrong letters, the page drops every tag on that line and reports the count — which is why the output has no italics in it. The second cue is unaffected.
A line with no letters at all
Input
1
00:00:01,000 --> 00:00:02,000
♪♪
2
00:00:03,000 --> 00:00:04,000
She left.
Output
1
00:00:01,000 --> 00:00:02,000
♪♪
2
00:00:03,000 --> 00:00:04,000
SHE LEFT.
Music notes have no case, so the first line comes out exactly as it went in while the second is capitalised. Files that mark non-speech sound with symbols, dashes or digits pass through this page unharmed, which is the practical reason the work is done line by line.
Frequently asked questions
Does converting a subtitle file to capitals change the timings?
No. Nothing in this page reads or writes a timecode, so every cue keeps its start and end to the millisecond, the order of the cues is the file's own, and the number of cues does not change. That also means it is a safe page to run on a file you have just retimed: if the sync was right before, it is right afterwards, and the only thing that differs between the two files is the case of the letters.
What happens to italics and other styling when the text is capitalised?
Usually they are preserved, because capitalising a letter normally leaves the string exactly as long as it was and every styled range still covers the same characters. The exceptions are the characters whose capital form is more than one letter — the German sharp s is the common one — and there the line's tags are dropped rather than left pointing at the wrong letters. The count is reported above the download, so you are never told a file is fine when part of its styling has gone.
Can I capitalise only some of the cues in a file?
Not on this page: the whole file is converted, every cue, every line. If you need a portion left alone, the practical route is to convert the file and then put the original wording back on the cues you wanted to keep, or to split the file first and convert one part of it. A per-cue choice is not something a single dropped file can express — there is nothing in the file for the page to read it from.
Why did my file come back exactly as it went in?
Because it was already in capitals. The page reports the cues it changed, and an empty list there is the honest answer to a file that had nothing to do rather than a sign that something went wrong — the download is still produced and is the same file. On an unfamiliar file this is a useful first run: it tells you whether the capitals are already there before you hand the file to anyone.
Does this work on languages other than English?
It works on anything the browser's own case rules cover: Latin scripts, Greek, Cyrillic and most others have capital letters and are converted. What it cannot do is invent a case — Chinese, Japanese, Korean and Thai have no capital letters at all, so a file in those languages comes back unchanged, which is correct rather than broken. Turkish and Azerbaijani readers should note that the dotted and dotless i are matched by the browser's default rules, not by the locale-specific ones.
Is capitalising subtitles a good idea, or is it just what some specs ask for?
It is what some specs ask for, and capitals are harder to read than mixed case — a line in capitals takes measurably longer to read at the same length, which is why most accessibility guidance says the opposite. Use this page when a delivery specification or a client asks for it, not as a default. If what you are actually trying to do is make a file readable again, the page you want is sentence case, which rebuilds normal mixed case from a shouting file.