Caption Format Reference

DFXP File Format (.dfxp)

DFXP is TTML wearing a different extension. It was the original distribution profile of TTML 1.0, it became the name everyone used during the Flash era, and it survives today mostly because platform specifications written a decade ago still ask for it.

Is a DFXP file the same as a TTML file?

Effectively yes. DFXP is the distribution profile of TTML 1.0, so a .dfxp file contains TTML XML. The extension signals which profile a platform expects rather than a different format, which is why renaming works sometimes and fails validation other times.

DFXP at a glance

Because DFXP is a profile rather than a separate format, almost everything in the TTML reference applies here. What differs is which attributes a receiving platform insists on.

Technical properties of the Distribution Format Exchange Profile (DFXP) file format
PropertyValue
Full nameDistribution Format Exchange Profile
Extension.dfxp
Underlying formatTTML 1.0 XML
SpecificationW3C, as a profile of TTML
File encodingXML, normally UTF-8
Timing modelExplicit begin and end, or begin and duration
PositioningNamed regions expressed as percentages of the frame
StylingTTML styling: colour, background, font, alignment
Common variantsPlatform-specific flavours with their own required attributes
Current statusLargely superseded by IMSC for new deliveries
Closed Caption CreatorRead and write, including platform variants

For how DFXP sits alongside TTML, SMPTE-TT and IMSC, see TTML, DFXP and IMSC explained.

What DFXP can and cannot carry

DFXP carries what TTML 1.0 carries. The features added by TTML2 and IMSC 1.1 — ruby, text combination, HDR signalling — are not available.

Features supported and not supported by the DFXP caption format
CapabilitySupportedNotes
Dialogue textYesUnicode XML content
Explicit begin and end timesYesOr a begin plus a duration
PositioningYesNamed regions as percentages of the frame
Multiple regions on screenYesIndependently positioned
Text colour and backgroundYesArbitrary colours with opacity
Font family and sizeYesRequested by the file, honoured at the player's discretion
Italics, bold, underlineYesAs style attributes
Forced-display signallingNoAn IMSC addition, not available in DFXP
Ruby and CJK text combinationNoRequires IMSC 1.1 or TTML2
Bitmap subtitlesNoRequires the IMSC image profile
Multiple languages in one fileYesThrough xml:lang on separate divisions

Who still asks for DFXP files?

New specifications rarely name DFXP. It persists in workflows and platform requirements written before IMSC became the standard answer.

  • Platforms with long-standing delivery specifications that were never rewritten.
  • Legacy media asset management systems configured to expect the extension.
  • Archive subtitle assets produced during the Flash and early OTT era.
  • Vendors whose downstream tooling matches on file extension rather than on content.

For anything new, IMSC is the better target. It is a more tightly specified profile of the same underlying TTML, and it is what current platform specifications name.

How do I open a DFXP file?

A DFXP file is XML and opens in any text editor. It will look exactly like a TTML document, because it is one — a tt root element, a head with styling and layout, and a body containing timed paragraphs.

The root element usually carries a profile declaration. That declaration, rather than the extension, is what a strict validator reads to decide whether the file conforms.

As with TTML, the subtitle elements reference regions and styles defined in the head, so reading the body alone will not tell you where anything appears on screen.

Converting DFXP to another format

Converting out of DFXP is the TTML conversion in every respect. The table below is included for completeness; the TTML reference covers the same ground in more depth.

What survives when converting a DFXP file to other caption and subtitle formats
Convert DFXP toWhat survivesWhat to watch for
IMSCEverything, usuallyThe recommended migration. Declare the target IMSC version and validate against it.
TTMLEverythingEffectively a relabel, subject to the receiving validator's profile expectations.
WebVTTText, approximate positioningRegions flatten into cue settings. Font and size requests are dropped.
SRTText and line breaksAll styling and positioning discarded.
SCCText, italics, approximate placementColours reduce to seven, regions snap to a character grid, output must be 29.97 fps.
MCCText, styling, placementMore styling survives, and the frame rate is a choice rather than a constraint.
EBU-STLText, colour, placementRegions become teletext rows, and a 25 fps timing base is required.

Converting another format to DFXP

Converting into DFXP is worth questioning before you do it. Unless a specification explicitly names DFXP, IMSC is the better destination for the same content.

What to check when converting other caption formats to DFXP
Convert to DFXP fromWhat carries overWhat the conversion has to decide
TTML / IMSCEverythingWhich profile to declare, and removing features TTML 1.0 does not support.
WebVTTText, positioning, basic stylingHow cue settings become named regions, and what default styling to author.
SRTText and line breaksA complete region and style model from nothing.
SCCText, italics, placementWhether to preserve the character grid as regions or normalise placement.
EBU-STLText, colour, placementTeletext rows become percentage regions and the palette becomes explicit colours.

Closed Caption Creator reads and writes every format in both tables, including platform-specific DFXP variants. See the full file format support list.

Where DFXP deliveries go wrong

DFXP problems are nearly always about conformance to a particular flavour rather than about the subtitles themselves.

  • Renaming instead of converting. Changing .ttml to .dfxp satisfies a filename check and nothing else. A strict validator reads the profile declaration inside the document.
  • Ignoring a platform variant's requirements. Some platforms define their own constrained DFXP with required attributes. A generic DFXP export will pass general validation and fail theirs.
  • Assuming IMSC features are available. Forced-display signalling, ruby and text combination are not part of DFXP. Content relying on them loses those features on the way in.
  • Delivering DFXP where IMSC was expected. The two are close enough to look interchangeable and different enough to be rejected. Read the spec rather than the extension.

For the wider timed text family and how to choose between profiles, see TTML, DFXP and IMSC explained.

Frequently asked questions

DFXP conversion questions

Common questions about moving subtitles into and out of the DFXP format.

Often it works, and sometimes it fails for a reason that has nothing to do with the rename. Both files contain TTML XML, so any tool reading the content will be satisfied. A strict validator reads the profile declaration in the root element instead, and a platform expecting a specific profile will reject a file that declares a different one however it is named.

Mostly ones whose delivery specifications predate IMSC and were never updated, along with legacy asset management systems that match on the extension. New specifications name IMSC. If you are choosing rather than following a spec, choose IMSC — it is the same underlying format, more tightly defined.

Yes, with the same reductions as any TTML conversion. Arbitrary colours become the seven CEA-608 colours, percentage regions snap onto a 32 by 15 character grid, and the output must be 29.97 fps. If the DFXP was authored against a 25 or 23.976 fps master, conform it before exporting rather than after.

Not necessarily. Several platforms define their own constrained flavour, with required attributes, a fixed set of permitted styling, and their own validator. A generic DFXP export is valid DFXP and can still be rejected. Export using a profile built for that platform when one is available.

The usual causes are a profile declaration that does not match what the platform expects, a required attribute the exporter did not write, or a styling feature outside the permitted set. Validate against the platform's published requirements rather than against TTML generally, because a technically valid document can still be non-conformant.

If the files are still being delivered anywhere, yes. IMSC is the current profile, is what new specifications name, and adds forced-display signalling that DFXP cannot express. The conversion is light because the underlying XML is the same. If the archive is purely for preservation, there is no urgency — DFXP is readable and well documented.

Work with DFXP files

Read legacy DFXP, deliver current formats

Closed Caption Creator reads DFXP including platform-specific variants, and exports to IMSC, TTML, WebVTT, SCC and MCC from the same project.

Migrate a legacy subtitle archive to a current profile without re-timing anything.