Convert SubViewer (.sbv) to FCPXML

SBV is the caption format YouTube Studio hands you, and no editing application reads it. This converts one into FCPXML, so the captions you already have on a published video can come back into Final Cut Pro or DaVinci Resolve as editable titles.

Drop a .sbv file here

or click to choose one. It is converted in this page and never uploaded.

FCPXML addresses frames, not seconds. This has to match the timeline you are importing into, or every caption lands slightly off and drifts further as the video runs.

The usual reason to do this

A video is already published with captions, and now it needs a cut-down, a translated version, or burned-in subtitles for a platform that will not show a caption track. The captions exist, they are already corrected, and retyping them is the one option nobody wants. Downloading the .sbv from YouTube Studio and converting it recovers that work.

What SBV does not carry

SubViewer is the plainest of the caption formats: no cue numbers, no header, no markup of any kind, and the two timecodes share a line separated by a comma. There is nothing to lose on the way out, because there was nothing there, which also means the titles arrive unstyled, and styling them is a job for the editor.

One quirk worth knowing: SBV writes the hour unpadded, as 0:00:01.000 rather than 00:00:01,000. Files that have been through a converter that did not expect this are a common source of an .sbv that nothing will read.

Set the frame rate of the sequence

YouTube does not care about frames; your timeline does. Pick the rate of the sequence you are importing into so each caption lands on an exact frame rather than being conformed silently on import.

A subtitle file records when each line appears, not when each word is spoken. Anything built from one is accurate to the line. If you need per-word timing (for karaoke-style captions, or to split a line without the second half drifting), transcribe the audio instead, which times every word individually.

Nothing is uploaded

The .sbv is read and the .fcpxml is written in this page, by the same code that builds exports in the editor. The file never reaches a server and no copy is kept. A subtitle file is a transcript, and a transcript is often the part of a project that cannot leave the building.

Why it asks for a frame rate

A .sbv stores times in milliseconds and says nothing about frames. FCPXML addresses frames directly, so something has to decide which frame each cue lands on, and only you know the timeline you are importing into. Pick the sequence's rate rather than the source video's: they are not always the same, and that mismatch is the usual cause of captions that start slightly off and get worse.

Frequently asked questions

Where do I get the .sbv file?

YouTube Studio → Subtitles → the language track → the three-dot menu → Download → SubViewer (.sbv).

Do the captions keep their line breaks?

Yes. A line break inside a cue is preserved through the conversion and arrives inside the title's text.

Can I get these into Resolve as Text+ rather than a subtitle track?

Yes, and that is the main reason to use FCPXML rather than converting to SRT. Import the .fcpxml with File → Import → Timeline and each cue becomes a Text+ title.

No subtitle file yet?

Generate one from your audio or video with word-level timing, then export FCPXML directly, no conversion step, and every word individually timed rather than every line. Free for 15 minutes and 5 transcriptions a month.

Transcribe a file instead