Skip to content

SCC to VTT Subtitle Converter

Transform broadcast SCC captions into WebVTT for HTML5 video, YouTube, and JavaScript players.

Drag & drop your SCC file here

or click to browse

Supports .scc files up to 50 MB

Core Engine Architecture

Free Online SCC to VTT Converter

Our SCC to VTT converter bridges the gap between broadcast captioning and web video. SCC files encode CEA-608 closed caption data as hexadecimal byte pairs with SMPTE timecodes, a format designed for television delivery. VTT (WebVTT) is the W3C standard for web video captions. This tool decodes common CC1 pop-on caption data, converts frame-based timecodes to VTT timestamps, adds the mandatory WEBVTT header, and outputs a plain .vtt file ready for HTML5 video, YouTube uploads, or JavaScript video players.

Payload & Syntax Inspector

SCC to VTT Code Syntax & Structure Inspection

Side-by-side code inspection illustrating header definitions, timestamp syntax, and cue payload formatting

Millisecond Sync
input.scc
SCC SOURCE
Scenarist_SCC V1.0
 
00:00:01:00 9420c8e5ececef2c20f7eff2ec64a180942f
00:00:04:00 942c
00:00:04:15 94205468e97320e973206120737562f4e9f4ece520e6e9ece5ae942f
00:00:08:00 942c
00:00:08:15 942043ef6e76e5f2f4e56420ecefe361ecec79a1942f
00:00:12:00 942c
output.vtt
VTT RESULT
WEBVTT
 
00:00:01.000 --> 00:00:04.000
Hello, world!
 
00:00:04.500 --> 00:00:08.000
This is a subtitle file.
 
00:00:08.500 --> 00:00:12.000
Converted locally!
Specification Sheet

SCC vs VTT Technical Specifications

Standard Compliant
Input Format

SCC

SCC

SCC (Scenarist Closed Captioning) is the industry-standard format for delivering closed captions to North American broadcast television and major streaming services. Developed by Leitch/Scenarist, SCC files encode CEA-608 (Line 21) caption data as hexadecimal byte pairs, paired with SMPTE timecodes in HH:MM:SS:FF format (hours:minutes:seconds:frames at 29.97 fps). The file starts with a header line (Scenarist_SCC V1.0) followed by timecode-tab-data triplets. Because the caption text is hex-encoded, SCC files are not human-readable without a decoder.

Output Format

VTT

VTT

VTT (WebVTT) is the W3C standard subtitle format for web video. A VTT file starts with the literal header WEBVTT on the first line, followed by cue blocks using HH:MM:SS.mmm --> HH:MM:SS.mmm timestamps (period before milliseconds). VTT supports optional cue settings (positioning, alignment, sizing), inline styling tags, NOTE comments, and CSS blocks. It is the native subtitle format for HTML5 video, YouTube, Vimeo, and JavaScript video players.

Format Differences

SCC encodes text as hex byte pairs; VTT stores text as readable UTF-8 characters.
SCC uses SMPTE timecodes at 29.97fps (HH:MM:SS:FF); VTT uses millisecond timestamps (HH:MM:SS.mmm).
SCC has a Scenarist_SCC V1.0 header; VTT requires the literal WEBVTT header on line 1.
SCC caption modes (pop-on, roll-up, paint-on) are encoded via control codes; VTT has no mode concept.
SCC includes CEA-608 mid-row styling attributes; VTT supports CSS and inline styling tags.
SCC data is tab-delimited; VTT uses cue blocks with arrow-separated timestamps.

Conversion Troubleshooting & Gotchas

Practical solutions for player compatibility, character encoding, and timing synchronization

4 Common Gotchas
GOTCHA #1

Subtitle timing drifts or appears out of sync on media players

Video files frequently differ in framerate (e.g., 23.976 fps vs 25 fps). If the timing drifts steadily, use our Subtitle Sync tool to adjust the global offset or framerate stretch.

GOTCHA #2

Characters appear as garbled symbols or question marks (Mojibake)

Legacy files saved in Windows-1252, Shift-JIS, or GBK may render incorrectly. Our exporter standardizes output to clean UTF-8. Use our Subtitle Encoding Converter if the source file is corrupted.

GOTCHA #3

Overlapping captions when multiple speakers talk simultaneously

Different formats handle overlapping dialogue differently. If your target player cannot render stacked cues cleanly, open the file in our Subtitle Editor to adjust individual cue timings.

GOTCHA #4

Video editing software (Premiere, DaVinci, Final Cut) rejects the file

Professional NLE software enforces strict syntax rules. Our converter eliminates malformed line breaks and non-standard tags, producing clean, standardized files.

Features

Decodes common CC1 pop-on data from CEA-608 hex byte pairs
Adds the mandatory WEBVTT header as the first line of output
Converts SMPTE timecodes (HH:MM:SS:FF at 29.97fps) to VTT timestamps (HH:MM:SS.mmm)
Groups decoded pop-on captions into standard VTT cues
Outputs plain VTT for YouTube, Vimeo, Video.js, and HTML5 track elements
Removes CEA-608 control codes and non-displayable padding

Why Convert?

HTML5 video requires VTT via the track element; SCC is not recognized by any web browser.
YouTube Studio accepts VTT uploads for captions but does not support SCC.
VTT supports positioning, styling, and metadata that broadcast SCC captions cannot represent.
JavaScript video players (Video.js, Plyr, JW Player) use VTT as their subtitle source.
HTML5 video supports captions in web-compatible formats such as VTT; accessibility also depends on quality and player support.
SCC hex encoding is opaque to web developers; VTT is plain text that developers can inspect and edit.
E-learning platforms such as Coursera, Canvas, and Moodle commonly accept VTT subtitle uploads.
Scenarios

Common Use Cases

Web Video Captions

Add decoded SCC captions to HTML5 video on your website using a VTT track element, enabling native browser subtitle controls.

YouTube Caption Upload

Convert broadcast SCC captions to VTT and upload them to YouTube Studio, where SCC format is not accepted.

E-Learning Subtitles

Add decoded closed captions to lecture videos on e-learning platforms that accept VTT format for accessibility.

JavaScript Player Integration

Load decoded SCC captions as VTT in Video.js, Plyr, or JW Player for web-based video streaming.

Streaming Web Delivery

Convert broadcast captions to VTT for web streaming setups where SCC is not supported by the delivery pipeline.

Caption Content Migration

Move broadcast caption content to web-native formats for online distribution, archiving, or content repurposing.

Format Ecosystem

Related Formats

How It Works

  1. 1

    Upload your .scc file by dragging it into the converter or browsing.

  2. 2

    The parser reads each SMPTE timecode and its hex data block.

  3. 3

    Supported printable ASCII characters are extracted from the decoded byte pairs.

  4. 4

    The WEBVTT header is written, and timecodes are converted to VTT HH:MM:SS.mmm format.

  5. 5

    Download the .vtt file and embed it in any HTML5 video player or upload to a web platform.

Frequently Asked Questions

VTT is the standard choice for HTML5 track elements and is widely supported by web video platforms and JavaScript players. Choose SRT if the target is smart TVs or desktop media players.

SCC uses SMPTE timecodes in HH:MM:SS:FF format at 29.97fps. The converter multiplies the frame number by 33.37ms (1000/29.97) to produce VTT timestamps in HH:MM:SS.mmm format.

The parser focuses on common CC1 pop-on captions. It does not provide full roll-up, paint-on, or CC3 decoding, so check the output before professional delivery.

Yes. VTT files are invalid without the literal text WEBVTT on the first line. The converter always adds this header before the first cue.

Yes. YouTube Studio accepts VTT files for caption uploads. After converting SCC to VTT, upload it in the Subtitles tab of your video.

Yes, it is free with no registration or watermarks. Each file can be up to 50 MB, and all processing is client-side.

Ready to convert your subtitles?

Drop your SCC file here and convert to VTT instantly.