To add subtitles in DaVinci Resolve, create a subtitle track, import an SRT, style it in Inspector, then choose burned-in video or a sidecar caption file in Deliver. The free version supports this subtitle-track workflow; Studio is only needed for built-in Speech to Text.
Step 1 — Add a subtitle track
In the Edit page, right-click the timeline header → Add Subtitle Track. The track sits above your video and behaves like any other timeline track — clip, cut, slip, slide.
Step 2 — Import an SRT
Drag your .srt file into the Media Pool, then drop it onto the subtitle track. Resolve preserves cue boundaries and applies a default style — typically white text with a subtle drop shadow.
Step 3 — Style globally
Inspector → Subtitle → Style. Font, size, fill, stroke, background, position, line spacing — all per-track. For per-cue styling, select a single subtitle clip and override in the Inspector.
Step 4 — Built-in transcription
Resolve Studio (paid) includes a Speech-to-Text feature that auto-creates a subtitle track from your audio. Free Resolve doesn't — generate captions externally (SoCaptions, Whisper) and import as SRT.
Step 5 — Export burned-in or sidecar
Deliver page → Subtitle Settings → 'Burn into video' for hardsubbed export, or 'As a separate file' for SRT/WebVTT/IMSC sidecar. Pick H.264 + Burn-in for TikTok/Reels, ProRes + Sidecar for broadcast deliverables.
Free vs Studio: subtitle support at a glance
| Feature | Free DaVinci Resolve | Resolve Studio ($295 one-time) |
|---|---|---|
| Subtitle track (import SRT/VTT) | Yes | Yes |
| Style in Inspector | Yes | Yes |
| ASS styling preserved | No — strips to plain text | No — same limitation |
| Burn-in / sidecar export | Yes | Yes |
| Built-in Speech to Text | No | Yes |
How to import ASS subtitles into DaVinci Resolve
DaVinci Resolve does not natively render ASS styling — it strips the formatting and treats .ass files as plain text. To import ASS subtitles with Resolve, convert the .ass to SRT first (SoCaptions' ASS-to-SRT converter preserves all timing), then import the SRT as described above. Re-apply styling through Resolve's Inspector rather than relying on the ASS format's embedded styles.
If you need to burn Aegisub-style styled ASS subtitles into a video (with fonts, colors, and animation intact), the fastest method is to use FFmpeg directly: `ffmpeg -i input.mp4 -vf ass=subtitles.ass output.mp4`. This bypasses Resolve entirely and renders the ASS styling pixel-perfect. Import the output.mp4 back into Resolve if you need further edits.
Pro tips
- Resolve's Fairlight page has speech detection — useful for finding silences and tightening cuts before you caption.
- If your SRT was generated at the wrong framerate, the entire track will drift. Re-time in a frame-rate converter before re-importing.
- For karaoke captions, use Fusion — Resolve's built-in subtitle styling doesn't support per-word highlight without a custom comp.
Common problems and fixes
Subtitle track option is greyed out or missing
If right-clicking the timeline header doesn't show 'Add Subtitle Track,' check that you are in the Edit page (not Cut, Fusion, or Deliver). The subtitle track option only appears in the Edit page. Also confirm your project is on DaVinci Resolve 17 or later — earlier versions lack native subtitle support.
Subtitles disappeared after export
If the subtitle track shows in the timeline but isn't in the exported video, the most common cause is that Subtitle Settings in the Deliver page is set to 'As a separate file' rather than 'Burn into video.' Open the Deliver page, click into Subtitle Settings, and change the output to 'Burn into video.' For sidecar SRT export, check that the Roles panel has the subtitle role enabled and is set to 'Save Captions to.'
SRT file won't import — drag-and-drop not working
If Resolve refuses to import your SRT: (1) Confirm the file uses UTF-8 encoding — Windows-created SRT files sometimes default to UTF-16 or Windows-1252, which Resolve rejects. Open in a text editor and re-save as UTF-8. (2) Check that cue numbers start at 1 and every timestamp line follows `HH:MM:SS,mmm --> HH:MM:SS,mmm` exactly. A comma is required — colons fail. (3) Make sure there are no empty lines between the cue number, the timestamp, and the caption text.
Subtitles are offset / ahead of the video
A constant offset (e.g., captions are always 2 seconds early) usually means your SRT was generated starting from a non-zero timecode. Export the SRT with a timecode offset corrected to 00:00:00,000, or right-click the entire subtitle track in the Edit page and use 'Change Timecode' to shift all cues. A growing drift (early at the start, late at the end) is a frame rate mismatch — see the FAQ below.
FAQ
Can DaVinci Resolve import ASS subtitle files?
Resolve can import .ass files but strips the styling — all fonts, colors, outlines, and positioning are lost and replaced with Resolve's default subtitle style. If you need ASS styling preserved, convert to SRT first (for timing only) and re-style in Resolve's Inspector, or burn the ASS into a video file via FFmpeg before importing.
How do I burn subtitles into a video in DaVinci Resolve?
In the Deliver page, go to Subtitle Settings and set the output to 'Burn into video.' Then export normally. For TikTok, Reels, Shorts, and LinkedIn, H.264 + Burn-in is the standard deliver preset. For broadcast, use ProRes with a separate sidecar SRT.
Does DaVinci Resolve have auto-captioning?
DaVinci Resolve Studio (paid, $295 one-time) includes a Speech to Text feature that generates subtitles directly in the timeline. Free DaVinci Resolve does not include this feature. Workaround: generate captions in SoCaptions or via Whisper externally, export the SRT, and import it into the free version.
Why are my subtitles out of sync in DaVinci Resolve?
Subtitle sync drift in Resolve almost always has one of two causes: (1) the SRT was generated at the wrong frame rate — if your project is 23.976fps but the SRT was timed for 30fps, every cue drifts progressively. Run the SRT through a frame-rate converter before importing. (2) You edited the video after importing the subtitle track. In Resolve, subtitle tracks do not ripple automatically when you cut or move clips — re-import the SRT after any timeline change.
What subtitle format should I use in DaVinci Resolve?
SRT is the safest choice for DaVinci Resolve. It imports cleanly into the subtitle track, preserves timing, and exports as either SRT or WebVTT sidecar, or burned-in MP4. ASS imports with timing intact but styling is stripped. VTT imports but behavior varies across Resolve versions — SRT is more predictable. For styled burn-in using ASS formatting, use FFmpeg directly rather than going through Resolve.
Can I add subtitles in free DaVinci Resolve?
Yes — the subtitle track feature (import SRT, style, export burned-in or sidecar) is available in free DaVinci Resolve. What the free version lacks is the built-in Speech to Text transcription. Generate captions externally with SoCaptions or Whisper, export an SRT, and import that SRT into the free version. The styling, positioning, and export workflow is identical to Studio.
How do I move subtitle position in DaVinci Resolve?
Select the subtitle track in the Edit page timeline. Open Inspector → Subtitle → Style → Position. Drag the Y position slider to move the entire track up or down. For individual cues, select the specific subtitle clip, then override position in Inspector. Note: Resolve's subtitle positioning is track-wide by default — per-cue positioning is available but requires individual clip selection. For precise safe-zone placement (e.g., staying above TikTok's bottom 460px UI), calculate the Y offset for your frame size and apply it to the track.
Can DaVinci Resolve export SRT files?
Yes. In the Deliver page, go to Subtitle Settings and set the output to 'As a separate file,' then select SRT or WebVTT as the format. The exported SRT contains all cue timings and text from your subtitle track. Styling (fonts, colors, strokes) is not preserved in the SRT output — it is only visible when the SRT is imported into a player that applies its own styling, or when you export a burned-in MP4 instead.
