Skip to main content
7BBusyBoss

VTT to SBV Converter — Free Online

Convert WebVTT captions to YouTube SBV format with error recovery: malformed blocks are skipped and named individually, never silently lost.

No limitsZero data leaksSuper fast

VTT to SBV Converter

Files never leave your browser
View:

0 lines · 0 chars · 0 B

0 lines · 0 chars · 0 B

You're on 7BusyBoss — 300+ free tools that run instantly in your browser. No signup, nothing uploaded.

Browse all Subtitle Converters
About this tool

A bad block shouldn't lose your whole file

A caption file is a list of independent cues, so one malformed block is no reason to lose the other several hundred. A single stray line in a large caption export used to convert to nothing at all; now the bad block is skipped and named, and everything else comes through.

How the tool reports damage

When the conversion finishes with any skipped blocks, an amber warning appears above the output listing them by 1-based block number: up to five are shown, and beyond that it appends and N more. For example: Skipped 2 malformed blocks (blocks 14, 27). Every other cue was converted. Those numbers count blocks separated by blank lines in your source file, so they tell you exactly where to look.

Only a file with zero usable cues produces a red error rather than a warning. If you get the error, it means nothing in the file parsed as a timestamp at all — usually a sign you have pasted the wrong file, or that the text is not really WebVTT.

NOTE, STYLE and REGION blocks are not damage

WebVTT allows three kinds of metadata block: NOTE, STYLE and REGION. These are part of the specification and carry no cue, so they are passed over silently — not counted as skipped and never named in the warning. Keep the two behaviours separate in your head: if the warning lists block numbers, those are genuinely damaged blocks worth fixing. Metadata blocks disappear from the output too, but that is the format doing its job, since SBV has no equivalent of either styling or regions.

What actually makes a timestamp malformed

A timestamp must be one or two digits of hours, then exactly two digits each of minutes and seconds, then a comma or dot, then one to three digits of milliseconds. That is more forgiving than it sounds, and the surprising part is what it accepts:

  • 00:30:45.5 is valid. The fractional part is right-padded to three digits, so this means 500 milliseconds, not 5. Writing .5 intending five milliseconds silently gets you half a second — if you mean 5 ms, write .005.
  • 0:30:45.500 is valid — a single-digit hour is fine.
  • 00:30:45,500 is valid — a comma works as well as a dot on input, even though WebVTT officially uses the dot.

What genuinely fails is a timestamp missing its milliseconds entirely (00:30:45), one with four or more fractional digits (00:30:45,5000), or one whose minutes or seconds are not zero-padded to two digits (1:2:3.400). If the warning names a block, check its timestamp line against those three cases first.

Going from VTT to SBV drops styling and positioning, since SBV has no way to express them. If the destination accepts it, VTT to SRT loses less on the way.

How to use the VTT to SBV Converter

Takes about a minute. No signup, no download, your data stays in your browser.

  1. 1
    Open the tool. Scroll up to the VTT to SBV Converter above — it loads instantly in your browser, no install needed.
  2. 2
    Enter your values. The fields come pre-filled with realistic defaults so you can see how it works — replace them with your own numbers.
  3. 3
    Read the result. The output updates instantly. Copy or share it — nothing is uploaded to a server, everything stays on your device.

Frequently asked questions

Common questions about the VTT to SBV Converter.

What happens if some timestamps in my VTT are malformed?

Those blocks are skipped individually and everything else converts. You will see an amber warning naming the block numbers — up to five are listed, and if there are more it says and N more. Only if no block in the file has a valid timestamp do you get a red error instead.

How do I find the damaged blocks in my file?

The warning gives 1-based block numbers, counting the chunks separated by blank lines in your source. If it says block 7, count seven blocks down and check that one's timestamp line. The usual culprits are missing milliseconds, too many fractional digits, or minutes and seconds that are not zero-padded.

Is a timestamp like 00:30:45.5 rejected for having only one decimal digit?

No, it is accepted. One to three fractional digits are allowed and the value is right-padded to three, so .5 is read as 500 milliseconds. That is worth knowing because it is easy to write .5 meaning five milliseconds and silently get half a second. Write .005 if you mean 5 milliseconds.

Are NOTE, STYLE and REGION blocks treated as errors?

No. They are legitimate WebVTT metadata blocks that carry no caption, so they are passed over silently and never appear in the skipped-block warning. They do not reach the SBV output either, since SBV has no styling or region concept, but that is a format limitation rather than damage in your file.

What is the difference between the warning and the error?

A warning means some blocks were unusable but others converted fine, and you have real output to work with. A red error means the whole file was unusable because not a single block had a parseable timestamp.

Community rating

Discussion (0)

No comments yet. Start the discussion.