Skip to main content

Closed Caption Profiles & Formats

Closed Caption Converter supports over 30 file formats through a system of Profiles. A Profile is a module that knows how to read (decode) a specific format into the internal CCPRJ representation, and/or write (encode) a CCPRJ object back out to that format. Because every format passes through CCPRJ, any supported source format can be converted to any supported target format without a dedicated converter for each pair.

Profiles are divided into source profiles (decode) and target profiles (encode). Most profiles support both operations, though some are decode-only (such as raw transcription outputs from speech-to-text services) or encode-only. When selecting profiles in the web application, the Source Profile dropdown shows all readable formats and the Target Profile dropdown shows all writable formats.

The CCPRJ Intermediate Format

CCPRJ (Closed Caption Project) is the internal JSON schema used to store caption data between the decode and encode steps. Every decode operation produces a CCPRJ object containing events (individual caption cues with start/end timecodes and text content), metadata (frame rate, author information, technical attributes), speakers, markers, and format-specific style data. Filters operate directly on CCPRJ, making them format-agnostic. You can also use CCPRJ as a source or target profile directly, which allows you to inspect the raw internal representation of any file or feed pre-built CCPRJ directly into the encoder.

North American Broadcast

These formats are used in North American broadcast television workflows and carry CEA-608 and CEA-708 caption data.

Profile NameExtensionDecodeEncodeNotes
Scenarist V1.0 (SCC).sccStandard CEA-608 caption format used across North American broadcast.
Scenarist V1.0 Advanced.sccEncode-only variant with extended channel and pop-on configuration options.
MacCaption 608/708 (MCC).mccCarries both CEA-608 and CEA-708 data with SMPTE timecode headers.
MacCaption 608/708 Advanced.mccEncode-only with extended 708 service configuration and style options.
MacCaption Project.ccaNative MacCaption project file format. Decode only.
608/708 VANC Data.rawRaw binary VANC payload data. Encode only.

European Broadcast

These formats are used in European and international broadcast workflows.

Profile NameExtensionDecodeEncodeNotes
EBU STL.stlBinary STL format as defined by EBU Tech 3264.
Spruce STL.stlText-based STL variant used in some Spruce editing environments.
EBU TT.xmlEBU-TT XML format based on the W3C Timed Text specification.
ScreenSystems Poliscript (PAC).pacBinary format used in ScreenSystems and SubStation editors for European broadcast.

TTML & XML Subtitle Formats

These XML-based profiles cover a wide range of TTML dialect variants used across streaming platforms, broadcast, and localisation workflows.

Profile NameExtensionDecodeEncodeNotes
Timed-Text Markup Language (TTML).xml / .ttml / .mp4Base TTML profile conforming to W3C TTML 1.0.
Distribution Format Exchange Profile (DFXP).xml / .dfxpDFXP (TTML 1.0 Distribution) used across many delivery specifications.
SMPTE TTML.xml / .ttml / .mp4TTML with SMPTE timecode references.
IMSC 1.0 Basic.xml / .ttmlW3C IMSC 1.0 Basic document profile.
IMSC Text Captions.xml / .ttmlIMSC Text profile targeting caption delivery.
IMSC Text Subtitles.xml / .ttmlIMSC Text profile targeting subtitle delivery.
IMSC Text Captions — JA.xmlIMSC variant with Japanese language caption styling. Encode only.
EBU TT.xmlEBU-TT XML.
Verizon TTML.ttml / .mp4Verizon Media TTML variant. Decode only.
Disney TTML.xmlDisney-specific TTML delivery format. Encode only.
Sandflow TTML.xml / .ttmlSandflow-compliant TTML used in IMF workflows.
HBO GO TTML.xml / .ttmlHBO Go TTML delivery format. Encode only.
HBO MAX SMPTE.xml / .ttmlHBO Max SMPTE TTML delivery format. Encode only.
HBO SMPTE TTML.xml / .ttmlLegacy HBO SMPTE TTML. Encode only.
Netflix DFXP.dfxpNetflix-specific DFXP format.
Netflix TT Captions.xmlNetflix Timed Text captions profile.
Netflix TT Subtitles.xmlNetflix Timed Text subtitles profile.
Crunchyroll DFXP.dfxpCrunchyroll subtitle delivery format.
YouTube TTML.xml / .ttmlYouTube caption TTML format.
Ooona TTML.xml / .ttmlOoona platform TTML variant.
TTML FooEngine.xml / .ttmlFoo Engine platform TTML variant.
TTML Legacy.ttmlLegacy TTML output for older toolchains. Encode only.
MAGIC TT.xmlMAGIC TT XML-based subtitle format.
DCDM Subtitle.xmlDigital Cinema Distribution Master subtitle XML. Decode only.
DLP Cinema.xmlDLP Cinema subtitle format.
FCP XML.xmlFinal Cut Pro XML caption export. Encode only.

Web & Streaming Subtitles

These are the most common formats used in online video, OTT platforms, and open subtitle workflows.

Profile NameExtensionDecodeEncodeNotes
SubRip Video Subtitle Script (SRT).srtThe most widely-used plain-text subtitle format.
WebVTT.vtt / .webvttW3C Web Video Text Tracks. Supports cue positioning.
Able Player DV.vtt / .webvttDescribed video WebVTT variant used with the Able Player web player.
SubViewer.sbv / .subSimple text subtitle format compatible with YouTube uploads.
Substation Alpha (SSA).ssaOriginal Substation Alpha format for styled subtitles.
Advanced Substation Alpha (ASS).assExtended variant of SSA with advanced styling and layout.
Synchronized Accessible Media Interchange (SAMI).smi / .samiMicrosoft caption format used in Windows Media Player.
iTunes Timed Text (iTT).ittApple's format for iTunes and Final Cut Pro subtitle tracks.
iTunes Timed Text Media.ittMedia variant of iTT.
iTunes Timed Text SMPTE.ittSMPTE timecode variant of iTT. Decode only.

Binary & Legacy Broadcast

These are binary or proprietary formats used in older broadcast and specialised captioning systems.

Profile NameExtensionDecodeEncodeNotes
Cavena 890.890Binary subtitle format used in Cavena CPC subtitle hardware.
Cavena CIP.cipCavena CIP binary format. Decode only.
Cheetah CAP (binary).capBinary format used by Cheetah captioning software.
Cheetah (ASCII Text).ascASCII text variant of the Cheetah format.
Videotron Lambda.capLegacy Videotron Lambda binary caption format.
NCI Caption.capNCI binary caption format. Decode only.
CaptionMaker Plus.capCaptionMaker binary format. Decode only.
CaptionMaker Plus V2.capCaptionMaker binary V2. Decode only.
Caption Inc.cinCaption Inc legacy format. Decode only.
Canvass SST Project.sdbCanvass SST project format. Decode only.
Vitac.vnlVitac (Verbit) VNL caption format.

NLE & Post-Production

These profiles integrate with non-linear editing systems and post-production software.

Profile NameExtensionDecodeEncodeNotes
Avid DS.txtCaption export format for Avid DS editing system.
Adobe Encore.txtAdobe Encore DVD subtitle format.
Apple DVD Studio Pro.txtApple DVD Studio Pro caption export.
DaVinci Resolve ADR Cue List.csvADR cue list CSV export from DaVinci Resolve.
DaVinci Resolve Edit Index List.csvEdit index list CSV from DaVinci Resolve.
DaVinci Resolve Timeline Markers.edlTimeline markers exported as an EDL from DaVinci Resolve.
FCP XML.xmlFinal Cut Pro XML with embedded subtitle data. Encode only.
EZ Title.txtEZ Title plain-text caption format.
Eclipse.txtEclipse caption system format.
QuickTime Text.txtQuickTime text track subtitle format.
PowerPixel Format.txtPowerPixel caption format.
ProCap Transfer.txtProCap transfer format for caption exchange.
Sofni.subSofni subtitle format.
Micro DVD.subMicro DVD subtitle format. Decode only.
DVD Architect.subSony DVD Architect subtitle format.

Transcription & Speech-to-Text (Decode Only)

These profiles decode the JSON output returned by speech-to-text services into CCPRJ for further processing, encoding, and delivery. They are decode-only because they represent raw transcription data, not a delivery format. These profiles are used internally when an Access Provider performs a transcribe or align API job.

Profile NameExtensionProvider
Deepgram.jsonDeepgram
Assembly AI.jsonAssembly AI
Amazon Transcribe.jsonAmazon Web Services
Google Speech-to-Text.jsonGoogle Cloud
Rev AI.jsonRev AI
Speechmatics.jsonSpeechmatics
Voicegain.jsonVoicegain
ElevenLabs Scribe.jsonElevenLabs

Document & Dialogue List Formats

These formats are used to exchange caption content in human-readable document form, often for review, as-broadcast logging, or integration with production scripts.

Profile NameExtensionDecodeEncodeNotes
Comma-Separated Values (CSV).csvGeneric CSV with configurable column mapping.
JSON.jsonGeneric structured JSON output. Encode only.
JSON Format Custom 01.jsonCustom JSON variant with a predefined schema. Decode only.
Rich Text Format Custom 01.rtfCustom RTF dialogue list variant. Decode only.
As-Broadcast Dialogue List CSV.csvAs-broadcast dialogue list in CSV format. Encode only.
As-Broadcast Dialogue List Word.docxAs-broadcast dialogue list formatted as a Word document. Encode only.
Dialogue List Custom 01.docxCustom Word dialogue list format. Encode only.
LMS Transcript.docxLearning management system transcript format.
MS2 Transcript.docxMS2 transcript format.
DVW QC Script.xlsxDVW quality control script in Excel.
DVW Studio Script.xlsxDVW studio script in Excel.
ExAD.xlsxExAD Excel format for audio description and caption exchange.
Text Transcript.txtPlain text transcript. Decode only.

Native Format

Profile NameExtensionDecodeEncodeNotes
Closed Caption Project (CCPRJ).ccprjThe native internal JSON format used by Closed Caption Converter. Inspect the raw CCPRJ or pass pre-built CCPRJ objects directly to the encoder.
MacCaption Project (CCA).ccaMacCaption project archive. Decode only.