Skip to main content
SubtitleMatrix

Capitalise the First Letter of Every Subtitle Line

Text and stylingChange case
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 makes the smallest change of any on the site: it capitalises the first letter of every subtitle line and leaves every other character exactly where it was. Nothing is lowercased and nothing else is touched, so a file whose only fault is a missing capital at the start of each line comes back correct rather than rewritten. Text from OCR, from speech recognition or typed by hand often arrives that way.

The first letter is judged by looking for the first letter, not the first character. A line of dialogue begins with a dash, many lines begin with a quote or a bracket, and non-speech lines begin with a music note — in all of those the capital lands on the word, so `- hello there` becomes `- Hello there` and `♪♪ the music swells` becomes `♪♪ The music swells`. A line with no letters at all, such as a row of music notes or a clock reading, is returned untouched.

Because the change is so small, this is also the only page in the case group that is safe to run over a file you believe is already right. If the line openings are correct, nothing moves and the download is the same file; if some of them are wrong, exactly those are fixed and the rest of the file — the acronyms, the proper nouns, the deliberate lower case in the middle of a line — is left as you left it.

Nothing is uploaded. The file is read and written inside the browser tab, and the twelve supported formats are read as what they contain rather than by extension, so an SRT that was really a WebVTT or the other way round still works. Cue times, cue order, line breaks and styling all come through untouched.

Examples

Two cues, one of them on two lines

Input

1
00:00:01,000 --> 00:00:02,000
the room is dark.

2
00:00:03,000 --> 00:00:04,000
the light is on.
and the door is shut.

Output

1
00:00:01,000 --> 00:00:02,000
The room is dark.

2
00:00:03,000 --> 00:00:04,000
The light is on.
And the door is shut.

One capital per line and nothing else moves — `is` stays lowercase in all three, which is what separates this page from sentence case. The second cue holds two lines, and both take a capital, because a hard line break is a line and a cue is not.

Lines that begin with a marker

Input

1
00:00:01,000 --> 00:00:02,000
- hello there.

2
00:00:03,000 --> 00:00:04,000
♪♪ the music swells.

3
00:00:05,000 --> 00:00:06,000
"come in," she said.

Output

1
00:00:01,000 --> 00:00:02,000
- Hello there.

2
00:00:03,000 --> 00:00:04,000
♪♪ The music swells.

3
00:00:05,000 --> 00:00:06,000
"Come in," she said.

The dialogue dash, the music notes and the opening quote all stay put, and the capital lands on the first letter after them rather than on the symbol. This is the case that matters on real files: a line of dialogue almost never begins with its first letter, and a page that capitalised the dash instead would look broken on every cue.

A file already in capitals

Input

1
00:00:01,000 --> 00:00:02,000
THE ROOM IS DARK.

2
00:00:03,000 --> 00:00:04,000
AND THE LIGHT IS ON.

Output

1
00:00:01,000 --> 00:00:02,000
THE ROOM IS DARK.

2
00:00:03,000 --> 00:00:04,000
AND THE LIGHT IS ON.

Untouched, because the first letter of each line is already a capital and this page has no opinion about the rest of the line. That makes it the fastest way to tell which of the two similar pages you want: if a run over a shouting file reports nothing changed, sentence case is the page that will fix it.

Lines with no letters in them

Input

1
00:00:01,000 --> 00:00:02,000
♪♪

2
00:00:03,000 --> 00:00:04,000
19:42

Output

1
00:00:01,000 --> 00:00:02,000
♪♪

2
00:00:03,000 --> 00:00:04,000
19:42

Neither line holds a letter, since music notes have no case and neither do the digits of a clock. The file comes back byte for byte and the changed-cue list is empty, which is the honest reading of a run that had nothing to act on. A line that merely begins with a symbol is a different case — there the capital lands on the first letter after it.

Frequently asked questions

What is the difference between this page and sentence case?

This page changes exactly one character per line and never lowercases anything. Sentence case discards the case the line arrived in and rebuilds it, which gives the same result on a line starting with a lowercase word but a very different one on `THE ROOM IS DARK` — that stays shouting here and becomes `The room is dark.` there. Files from OCR or transcription want this page; files delivered in capitals want the other.

Does a capital get placed on a dash or a music note at the start of a line?

No. The page looks for the first letter in the line and capitalises that, so a dialogue dash, an opening quote, a bracket, a music note or a digit at the start of a line is skipped over and the capital lands on the word behind it. A line holding no letter at all — a row of music notes, a clock reading — is returned exactly as it arrived, since there is nothing to capitalise.

Will it fix a file where the capitals are wrong in the middle of lines?

No, and it will not make them worse either: it only ever changes the first letter of a line. A file with stray capitals inside its lines needs find and replace, which can target a specific word, or sentence case, which rebuilds each line as a sentence and discards the case it found. This page is the right choice when the only thing wrong is the line openings.

Does the change affect a cue that runs over two lines?

Each line is treated as its own line, so a cue with a hard line break takes a capital on both. That is deliberate and usually what you want for subtitles, where a break is a typographic decision rather than the end of a sentence — the second line is read on its own and starting it lowercase would look like a mistake. Keeping the file's line breaks also means the wrapping you chose survives the run.

Is it safe to run this page on a file I have already checked?

Yes, and it is the only page in the group where that is true. Every other case rule lowers something or rebuilds a whole line, so running one of them again can quietly undo work. This page only ever adds a capital where the first letter of a line is lowercase, so on a file whose openings are already right it produces an identical file and reports nothing changed.

Are the timecodes and the styling left alone?

Both are untouched, and this page cannot lose styling at all. The other case rules can drop tags on a line where lower-casing or capitalising changes how many characters a string takes; here the text is the same length whatever happens, so every styled range still covers the same characters it covered before. Cue start and end times are the file's own to the millisecond.

Related tools