Caption conversion

Convert DFXP to SRT

Distribution Format Exchange Profile (DFXP) to SubRip Subtitle (SRT). Convert in the web app, automate with the REST API, or run it offline with the CLI.

Converting DFXP to SRT strips a TTML-based caption file down to plain text and timing, for players, editors and tools that do not read XML captions. The converter resolves every TTML timing expression (clock time, frames or ticks) into SRT milliseconds and turns <br/> elements and nested spans into clean lines.

What carries over

  • Caption text and line breaks
  • Italics, bold and underline from tts:fontStyle, tts:fontWeight and tts:textDecoration
  • Timing, resolved from any TTML time expression to milliseconds

What changes

  • Regions and positioning are dropped
  • Colors, backgrounds and font settings are removed
  • Captions shown simultaneously in different regions become overlapping SRT cues. Enable Fix overlap to merge them
  • Document metadata and language attributes are not stored

How to convert DFXP to SRT

The same conversion engine powers all three, so a job you set up in the web app produces identical output from the API or CLI.

In the web app

  1. Sign in to the web app, or start a free trial.
  2. Upload your .dfxp file and select Distribution Format Exchange Profile as the source profile.
  3. Select SubRip Video Subtitle Script as the target profile.
  4. Review the recommended settings for this conversion.
  5. Run the conversion and download your .srt file.

With the API

POST /jobs
curl -X POST https://api.closedcaptionconverter.com/jobs \
  -H "x-api-key: YOUR_API_KEY" \
  -F "source=@input.dfxp" \
  -F 'config={
    "job_type": "convert",
    "source_profile": "Distribution Format Exchange Profile",
    "target_profile": "SubRip Video Subtitle Script",
    "fix_overlap": true
  }'

See API Getting Started for authentication and response handling.

With the CLI

Command line
ccconverter \
  --source input.dfxp \
  --target output.srt \
  --source_profile "Distribution Format Exchange Profile" \
  --target_profile "SubRip Video Subtitle Script" \
  --fix_overlap true

The CLI runs fully offline on macOS, Windows and Linux. See the CLI docs for every flag.

Recommended settings

Source frame rateOnly matters if the DFXP uses frame-based times. It is read from ttp:frameRate when present.
Fix overlapRecommended when the DFXP uses multiple regions.

Format-specific options are covered in Encoding & Decoding Options and Profiles & Formats.

DFXP to SRT questions

For the text and timing, yes. Styling and positioning are lost because SRT cannot represent them.

Yes. Tick-based times are converted using the document’s ttp:tickRate.

Use DFXP for .dfxp files and generic TTML for other TTML documents. For files from a specific platform, use the matching profile, such as Netflix DFXP. See TTML to SRT.

Free trial

Convert DFXP to SRT now

Upload your .dfxp file and download SRT in seconds, or automate it with the API and CLI.