Strip All Formatting from Subtitles
Or paste subtitle text
Options
One box, seven choices, and each choice has a page of its own. Italic, bold, underline and colour remove that one kind of range and leave the rest of the line's styling alone. All removes every range the tool models — those four plus karaoke timing — while leaving everything else in the text untouched. HTML does the same and then also sweeps out the angle-bracket markup that was left in the text because the tool does not model it, such as VTT's <v Bob> speaker tags and <c.className>. ASS does the same for override blocks instead, clearing the {...} codes that were not recognised at parse time, such as {\fad(500,500)}. This page fills the box in with the choice its title names and lists no other.
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 removes every styling range a subtitle file carries — italic, bold, underline, colour and karaoke timing — and leaves the words, the line breaks and the timecodes exactly as they were. It is the run to make when a file's styling was inherited rather than chosen, and what you want back is plain timed text.
The five kinds are removed together because they are one decision. Karaoke timing is included deliberately: a karaoke range is not text, it is a per-character timing instruction, and a file that has had its emphasis stripped but still carries karaoke timing has kept the least portable part of its styling. After this run the file says what was said and when, and nothing else.
Two things are left alone, and both are worth knowing about because they look like styling. Where a line sits on screen is a property of the whole event rather than of the words in it, so a positioned line stays positioned; a file that needs its placement cleared is a different run. And a WebVTT speaker tag like `<v Bob>` is not styling at all — it says who said the line, so removing it would be removing content. The pages that sweep those last two out say so in their own titles.
What the file does not have is not missed: a plain SRT file with no styling in it comes back byte for byte. Nothing is uploaded and nothing leaves the browser tab, so files that cannot go to a server — legal, medical, pre-release — can be cleaned here.
Examples
Four kinds of styling on one line
Input
1
00:00:01,000 --> 00:00:02,000
<b>CHAPTER ONE</b>
2
00:00:03,000 --> 00:00:04,000
<i>A voice off screen.</i> The <u>door</u> is <font color="red">open</font>.
Output
1
00:00:01,000 --> 00:00:02,000
CHAPTER ONE
2
00:00:03,000 --> 00:00:04,000
A voice off screen. The door is open.
All four kinds go and the words are exactly as they were written — the capitals in the first cue included, since this page never touches case. What is left is text and timecodes and nothing else, which is the shape most delivery specifications actually want.
A speaker tag and a class tag beside an italic
Input
WEBVTT
00:00:01.000 --> 00:00:02.000
<v Bob><i>Hello</i> there.
00:00:03.000 --> 00:00:04.000
<c.yellow>Careful.</c>
Output
WEBVTT
00:00:01.000 --> 00:00:02.000
<v Bob>Hello there.
00:00:03.000 --> 00:00:04.000
<c.yellow>Careful.</c>
The italic goes and `<v Bob>` and `<c.yellow>` stay. A speaker tag says who is talking and a class tag names a group the text belongs to; neither is emphasis, and this page does not remove content. Sweeping those away is a different run with a title that says so.
Karaoke timing in an ASS file
Input
[Script Info]
Title: karaoke
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,0,0,0,0,100,100,0,0,1,1,1,2,10,10,10,1
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,{\k50}he{\k50}llo {\b1}there{\b0}
Output
[Script Info]
Title: karaoke
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,0,0,0,0,100,100,0,0,1,1,1,2,10,10,10,1
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,hello there
The two karaoke ranges and the bold pair all go, leaving the syllables as ordinary text. Karaoke timing is the styling most likely to be lost in a conversion — most formats have nowhere to put it — so a file that is heading for one of them is better off with it removed here, where you can see what happened.
Frequently asked questions
Which kinds of styling does this page remove?
Five: italic, bold, underline, colour and karaoke timing. Those are the inline ranges a subtitle file can carry over a stretch of its text, and the page reads each file for the format it actually is, so the same run works whether the file spells them as tags, as override codes or as spans. Named styles in a stylesheet are not in that list and are not removed — the page works on the ranges over the words.
Does removing all the styling change the words or the timing?
No. Only the markup around the words is rewritten, so the characters come back byte-identical, every cue keeps its start and end to the millisecond, and the cue order is the file's own. A cue with a line break in it still has that break, because where the line breaks is part of the cue rather than part of its styling.
Why does a positioned line stay where it was after this run?
Because where a line sits on screen is a property of the whole event rather than a range over its text, and this page only removes ranges. A centred caption or an on-screen sign keeps its placement, which is normally what you want: the placement is often doing real work, and a file that has had its emphasis removed is not necessarily a file that should be re-laid-out. The run that clears placement too is Remove ASS Override Tags.
Why is a speaker tag still in my WebVTT file?
Because a speaker tag is content, not styling. `<v Bob>` says that Bob is the one speaking, and a reader who loses it loses part of what the file said — the same reason a class tag is left alone, since the name it carries is resolved by a stylesheet rather than by the file. This page removes emphasis, not information. If you do want those tags swept out, that is Remove HTML Tags from Subtitles.
Does this page touch the named styles in an ASS file's stylesheet?
No. An ASS file keeps a table of named styles and each cue points at one of them, and that table is a different thing from the inline ranges this page removes. A cue whose style is bold keeps looking bold afterwards, because the boldness belongs to the style rather than to the text. Cleaning a stylesheet is a separate job and this page does not do it.
What should I do if the file has no styling at all?
Run it anyway — it costs nothing and the file comes back byte for byte, which settles the question rather than leaving it open. Plain SRT files are the common case, and a run that reports no styling to remove is the honest answer to a file that had none, not a sign that something went wrong. The download is still produced.