Convert SRT to FCPXML

Upload an SRT and get back an FCPXML whose captions are real title clips on your timeline rather than a flat caption track. Final Cut Pro imports it directly, and DaVinci Resolve reads the same file and builds a Text+ title per cue. Pick the frame rate of the sequence you are importing into before you download.

Drop a .srt 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.

Why not just import the SRT?

Final Cut will import an SRT, and if all you need is a caption track that is the simpler route. What you get is flat: no font control, no positioning, no per-word styling, and captions that live in the captions area rather than on the timeline as clips you can move.

FCPXML describes a timeline instead of a cue list. Each caption arrives as a title clip on a lane above your video, restylable and movable like anything else you would place there.

This is also the route to Text+ in DaVinci Resolve

Resolve has no command that converts a subtitle track into Text+ titles. It will import an SRT onto a subtitle track, and that track is not a Text+ title, so none of Resolve's text animation, styling, or Fusion tooling applies to it. Importing this FCPXML instead gives you one Text+ title per cue, which is the thing most people are actually after when they ask how to get subtitles into Resolve.

In Resolve, use File → Import → Timeline and select the .fcpxml. The titles arrive on their own track at the frames the SRT specified.

Frame rate is the part that goes wrong

An SRT records times in milliseconds. A timeline thinks in frames, and a millisecond cannot express a frame boundary exactly. Converting at the wrong rate produces error that accumulates: imperceptible in the first minute, obviously wrong by minute ten, and nothing on screen reports it.

Every time in the FCPXML here is written as an exact multiple of the frame duration for the rate you pick (1001/24000 s for 23.976, and so on). Set the picker to match your sequence, not to whatever the source video was.

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 .srt 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 .srt 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

Will this work in Premiere Pro?

No. Premiere cannot read FCPXML at all: the two formats share a lineage and nothing else. Convert your SRT to Premiere marker XML instead, or import the SRT directly as a caption track.

Which FCPXML version does it write?

FCPXML 1.9, which Final Cut Pro 10.4.9 and later import directly. Captions are written as title elements on lane 1 over a gap, so they sit above your video without disturbing the existing edit.

What frame rate should I pick?

The frame rate of the sequence you are importing into, which is not necessarily the frame rate of the source video. Importing a 25 fps export into a 23.976 timeline is the single most common reason captions land a frame or two off.

Does my file get uploaded?

No. The conversion runs entirely in this page: the file never leaves your machine and no copy is kept. Subtitle files are transcripts, and transcripts are often the part of a project under an NDA.

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