by Loudness Films
v4.0100% local
Format Converter
Convert between subtitle formats with optional framerate retime.
Input file
📄

Drop subtitle file here or click to browse

SRT · VTT · ASS · TTML · SBV · LRC · SMPTE/Interop DCP XML · PAC (beta)
Editor
Load, view and edit. Full scroll, search, inline editing.
📝

Drop subtitle file to open in editor

SRT · VTT · ASS · TTML · SMPTE/Interop DCP XML · PAC (beta)
DCP Export
Export to DCP XML + font ZIP. Interop (CineCanvas), SMPTE 428-7:2010 and 2014.
Input subtitle file
🎶

Drop .srt, .vtt, .ass, .pac — or use → DCP from Editor

Presets
Interop / CineCanvas
📎 Attach font
Timecode Tools
01:00:00:00
hours
minutes
seconds
frames
ms in
ms out
drift ms
frames in
frames out
Formats & Help
Output formats by category
FormatExtCategoryRWNotes
SubRip.srtWebUniversal, <i> <b> tags
WebVTT.vttWebW3C web standard
SBV.sbvWebYouTube
YouTube Timed Text.yttWebYTT / srv3 XML
SAMI.samiWebMicrosoft / Windows Media
iTunes Timed Text.ittWebApple TV / iTunes
Netflix TTAL.ttalWebNetflix delivery format
TTML / IMSC1.ttmlBroadcastW3C / EBU-TT
EBU STL.stlBroadcastEuropean broadcast (text repr.)
ASS / SSA.assBroadcastFull styling, karaoke
LRC.lrcBroadcastLyrics format
RealText.rtBroadcastRealMedia
Interop / CineCanvas.xmlDCPDCSubtitle root, TI spec. ZIP output.
SMPTE 428-7:2010.xmlDCPSubtitleReel, UUID font. ZIP output.
SMPTE 428-7:2014.xmlDCPCurrent standard, shadow effect. ZIP output.
FCPXML.fcpxmlNLEFinal Cut Pro X
Avid DS / Subcap.txtNLEAvid subtitle track
Avid ALE.aleNLEAvid Log Exchange
Smoke XML.xmlNLEAutodesk Smoke
DVD Studio Pro STL.stlNLESpruce STL
CMX 3600.edlNLEEdit Decision List
CSV.csvDataFull table with durations
Plain Text.txtDataText only, no timecodes
USF.usfDataUniversal Subtitle Format
PAC (Screen Electronics).pacImport onlyβBinary, reverse-engineered Latin parser
DCP notes & deployment

Interop — Root: DCSubtitle. Font URI = font filename (e.g. Arial.ttf). Fade in frames (not ticks). Legacy projectors.

SMPTE 428-7:2010 — Root: SubtitleReel, ns .../2010/DCST. Font UUID. Ticks = frames at edit rate.

SMPTE 428-7:2014 — ns .../2014/DCST. IssueDate: yyyy-mm-ddThh:mm:ss. Default effect: shadow. Required by DCP-o-matic, Clipster, EasyDCP validation.

Font auto-load — Uses queryLocalFonts() (Chrome 103+). Grant permission when prompted. Font is included in ZIP as UUID (SMPTE) or fontname.ttf (Interop). Packagers (DCP-o-matic, OpenDCP, EasyDCP) pick it up automatically.

Deploy to subtitles.loudness-films.pt — Create a new Cloudflare Pages project with this HTML file as index.html. In Cloudflare DNS add a CNAME record: subtitles → your Pages project URL. Done. queryLocalFonts() requires HTTPS — works on the published site, not on local file:// URLs.

PAC parser — Reverse-engineered Latin charset (Screen Electronics). Works for most Western European languages. Greek/Cyrillic PAC not supported. Timecodes decoded from BCD. No guaranteed format stability across PAC versions.