All subtitle tools
Everything on the site in one list. Every tool runs in your browser — none of them uploads your file.
243 tools
Format conversion
ASS Subtitle Format
What ASS can store, what it cannot, and every format you can convert it to or from.
ASS to CSV
Convert ASS to CSV in your browser — dropped: styling, positioning, karaoke, format-specific content.
ASS to JSON
Convert ASS to JSON in your browser — dropped: format-specific content.
ASS to LRC
Convert ASS to LRC in your browser — dropped: timing, styling, positioning, karaoke, format-specific content.
ASS to MICRODVD
Convert ASS to MICRODVD in your browser — dropped: styling, positioning, karaoke, frame rate, format-specific content.
ASS to SBV
Convert ASS to SBV in your browser — dropped: styling, positioning, karaoke, format-specific content.
ASS to SMI
Convert ASS to SMI in your browser — dropped: styling, karaoke, format-specific content.
ASS to SRT
Convert ASS to SRT in your browser — dropped: styling, positioning, karaoke, format-specific content.
ASS to SSA
Convert ASS to SSA in your browser — nothing is lost in this direction.
ASS to TTML
Convert ASS to TTML in your browser — dropped: karaoke, format-specific content.
ASS to TXT
Convert ASS to TXT in your browser — dropped: timing, styling, positioning, karaoke, line breaks, format-specific content.
ASS to VTT
Convert ASS to VTT in your browser — dropped: styling, positioning, karaoke, format-specific content.
CSV Subtitle Format
What CSV can store, what it cannot, and every format you can convert it to or from.
CSV to ASS
Convert CSV to ASS in your browser — dropped: precision.
CSV to JSON
Convert CSV to JSON in your browser — nothing is lost in this direction.
CSV to LRC
Convert CSV to LRC in your browser — dropped: timing, precision.
CSV to MICRODVD
Convert CSV to MICRODVD in your browser — dropped: frame rate.
CSV to SBV
Convert CSV to SBV in your browser — nothing is lost in this direction.
CSV to SMI
Convert CSV to SMI in your browser — nothing is lost in this direction.
CSV to SRT
Convert CSV to SRT in your browser — nothing is lost in this direction.
CSV to SSA
Convert CSV to SSA in your browser — dropped: precision.
CSV to TTML
Convert CSV to TTML in your browser — nothing is lost in this direction.
CSV to TXT
Convert CSV to TXT in your browser — dropped: timing, line breaks.
CSV to VTT
Convert CSV to VTT in your browser — nothing is lost in this direction.
JSON Subtitle Format
What JSON can store, what it cannot, and every format you can convert it to or from.
JSON to ASS
Convert JSON to ASS in your browser — dropped: precision.
JSON to CSV
Convert JSON to CSV in your browser — dropped: styling, positioning, karaoke.
JSON to LRC
Convert JSON to LRC in your browser — dropped: timing, styling, positioning, karaoke, precision.
JSON to MICRODVD
Convert JSON to MICRODVD in your browser — dropped: styling, positioning, karaoke, frame rate.
JSON to SBV
Convert JSON to SBV in your browser — dropped: styling, positioning, karaoke.
JSON to SMI
Convert JSON to SMI in your browser — dropped: styling, karaoke.
JSON to SRT
Convert JSON to SRT in your browser — dropped: styling, positioning, karaoke.
JSON to SSA
Convert JSON to SSA in your browser — dropped: precision.
JSON to TTML
Convert JSON to TTML in your browser — dropped: karaoke.
JSON to TXT
Convert JSON to TXT in your browser — dropped: timing, styling, positioning, karaoke, line breaks.
JSON to VTT
Convert JSON to VTT in your browser — dropped: styling, positioning, karaoke.
LRC Subtitle Format
What LRC can store, what it cannot, and every format you can convert it to or from.
LRC to ASS
Convert LRC to ASS in your browser — dropped: timing.
LRC to CSV
Convert LRC to CSV in your browser — dropped: timing.
LRC to JSON
Convert LRC to JSON in your browser — dropped: timing.
LRC to MICRODVD
Convert LRC to MICRODVD in your browser — dropped: timing, frame rate.
LRC to SBV
Convert LRC to SBV in your browser — dropped: timing.
LRC to SMI
Convert LRC to SMI in your browser — dropped: timing.
LRC to SRT
Convert LRC to SRT in your browser — dropped: timing.
LRC to SSA
Convert LRC to SSA in your browser — dropped: timing.
LRC to TTML
Convert LRC to TTML in your browser — dropped: timing.
LRC to TXT
Convert LRC to TXT in your browser — dropped: timing, line breaks.
LRC to VTT
Convert LRC to VTT in your browser — dropped: timing.
MICRODVD Subtitle Format
What MICRODVD can store, what it cannot, and every format you can convert it to or from.
MICRODVD to ASS
Convert MICRODVD to ASS in your browser — dropped: frame rate, precision.
MICRODVD to CSV
Convert MICRODVD to CSV in your browser — dropped: frame rate.
MICRODVD to JSON
Convert MICRODVD to JSON in your browser — dropped: frame rate.
MICRODVD to LRC
Convert MICRODVD to LRC in your browser — dropped: timing, frame rate, precision.
MICRODVD to SBV
Convert MICRODVD to SBV in your browser — dropped: frame rate.
MICRODVD to SMI
Convert MICRODVD to SMI in your browser — dropped: frame rate.
MICRODVD to SRT
Convert MICRODVD to SRT in your browser — dropped: frame rate.
MICRODVD to SSA
Convert MICRODVD to SSA in your browser — dropped: frame rate, precision.
MICRODVD to TTML
Convert MICRODVD to TTML in your browser — dropped: frame rate.
MICRODVD to TXT
Convert MICRODVD to TXT in your browser — dropped: timing, line breaks, frame rate.
MICRODVD to VTT
Convert MICRODVD to VTT in your browser — dropped: frame rate.
SBV Subtitle Format
What SBV can store, what it cannot, and every format you can convert it to or from.
SBV to ASS
Convert SBV to ASS in your browser — dropped: precision.
SBV to CSV
Convert SBV to CSV in your browser — nothing is lost in this direction.
SBV to JSON
Convert SBV to JSON in your browser — nothing is lost in this direction.
SBV to LRC
Convert SBV to LRC in your browser — dropped: timing, precision.
SBV to MICRODVD
Convert SBV to MICRODVD in your browser — dropped: frame rate.
SBV to SMI
Convert SBV to SMI in your browser — nothing is lost in this direction.
SBV to SRT
Convert SBV to SRT in your browser — nothing is lost in this direction.
SBV to SSA
Convert SBV to SSA in your browser — dropped: precision.
SBV to TTML
Convert SBV to TTML in your browser — nothing is lost in this direction.
SBV to TXT
Convert SBV to TXT in your browser — dropped: timing, line breaks.
SBV to VTT
Convert SBV to VTT in your browser — nothing is lost in this direction.
SMI Subtitle Format
What SMI can store, what it cannot, and every format you can convert it to or from.
SMI to ASS
Convert SMI to ASS in your browser — dropped: precision, format-specific content.
SMI to CSV
Convert SMI to CSV in your browser — dropped: styling, positioning, format-specific content.
SMI to JSON
Convert SMI to JSON in your browser — dropped: format-specific content.
SMI to LRC
Convert SMI to LRC in your browser — dropped: timing, styling, positioning, precision, format-specific content.
SMI to MICRODVD
Convert SMI to MICRODVD in your browser — dropped: styling, positioning, frame rate, format-specific content.
SMI to SBV
Convert SMI to SBV in your browser — dropped: styling, positioning, format-specific content.
SMI to SRT
Convert SMI to SRT in your browser — dropped: styling, positioning, format-specific content.
SMI to SSA
Convert SMI to SSA in your browser — dropped: precision, format-specific content.
SMI to TTML
Convert SMI to TTML in your browser — dropped: format-specific content.
SMI to TXT
Convert SMI to TXT in your browser — dropped: timing, styling, positioning, line breaks, format-specific content.
SMI to VTT
Convert SMI to VTT in your browser — dropped: positioning, format-specific content.
SRT Subtitle Format
What SRT can store, what it cannot, and every format you can convert it to or from.
SRT to ASS
Convert SRT to ASS in your browser — dropped: precision.
SRT to CSV
Convert SRT to CSV in your browser — nothing is lost in this direction.
SRT to JSON
Convert SRT to JSON in your browser — nothing is lost in this direction.
SRT to LRC
Convert SRT to LRC in your browser — dropped: timing, precision.
SRT to MICRODVD
Convert SRT to MICRODVD in your browser — dropped: frame rate.
SRT to SBV
Convert SRT to SBV in your browser — nothing is lost in this direction.
SRT to SMI
Convert SRT to SMI in your browser — nothing is lost in this direction.
SRT to SSA
Convert SRT to SSA in your browser — dropped: precision.
SRT to TTML
Convert SRT to TTML in your browser — nothing is lost in this direction.
SRT to TXT
Convert SRT to TXT in your browser — dropped: timing, line breaks.
SRT to VTT
Convert SRT to VTT in your browser — nothing is lost in this direction.
SSA Subtitle Format
What SSA can store, what it cannot, and every format you can convert it to or from.
SSA to ASS
Convert SSA to ASS in your browser — nothing is lost in this direction.
SSA to CSV
Convert SSA to CSV in your browser — dropped: styling, positioning, karaoke, format-specific content.
SSA to JSON
Convert SSA to JSON in your browser — dropped: format-specific content.
SSA to LRC
Convert SSA to LRC in your browser — dropped: timing, styling, positioning, karaoke, format-specific content.
SSA to MICRODVD
Convert SSA to MICRODVD in your browser — dropped: styling, positioning, karaoke, frame rate, format-specific content.
SSA to SBV
Convert SSA to SBV in your browser — dropped: styling, positioning, karaoke, format-specific content.
SSA to SMI
Convert SSA to SMI in your browser — dropped: styling, karaoke, format-specific content.
SSA to SRT
Convert SSA to SRT in your browser — dropped: styling, positioning, karaoke, format-specific content.
SSA to TTML
Convert SSA to TTML in your browser — dropped: karaoke, format-specific content.
SSA to TXT
Convert SSA to TXT in your browser — dropped: timing, styling, positioning, karaoke, line breaks, format-specific content.
SSA to VTT
Convert SSA to VTT in your browser — dropped: styling, positioning, karaoke, format-specific content.
TTML Subtitle Format
What TTML can store, what it cannot, and every format you can convert it to or from.
TTML to ASS
Convert TTML to ASS in your browser — dropped: precision, format-specific content.
TTML to CSV
Convert TTML to CSV in your browser — dropped: styling, positioning, format-specific content.
TTML to JSON
Convert TTML to JSON in your browser — dropped: format-specific content.
TTML to LRC
Convert TTML to LRC in your browser — dropped: timing, styling, positioning, precision, format-specific content.
TTML to MICRODVD
Convert TTML to MICRODVD in your browser — dropped: styling, positioning, frame rate, format-specific content.
TTML to SBV
Convert TTML to SBV in your browser — dropped: styling, positioning, format-specific content.
TTML to SMI
Convert TTML to SMI in your browser — dropped: styling, format-specific content.
TTML to SRT
Convert TTML to SRT in your browser — dropped: styling, positioning, format-specific content.
TTML to SSA
Convert TTML to SSA in your browser — dropped: precision, format-specific content.
TTML to TXT
Convert TTML to TXT in your browser — dropped: timing, styling, positioning, line breaks, format-specific content.
TTML to VTT
Convert TTML to VTT in your browser — dropped: styling, positioning, format-specific content.
TXT Subtitle Format
What TXT can store, what it cannot, and every format you can convert it to or from.
TXT to ASS
Convert TXT to ASS in your browser — dropped: timing, precision.
TXT to CSV
Convert TXT to CSV in your browser — dropped: timing.
TXT to JSON
Convert TXT to JSON in your browser — dropped: timing.
TXT to LRC
Convert TXT to LRC in your browser — dropped: timing, precision.
TXT to MICRODVD
Convert TXT to MICRODVD in your browser — dropped: timing, frame rate.
TXT to SBV
Convert TXT to SBV in your browser — dropped: timing.
TXT to SMI
Convert TXT to SMI in your browser — dropped: timing.
TXT to SRT
Convert TXT to SRT in your browser — dropped: timing.
TXT to SSA
Convert TXT to SSA in your browser — dropped: timing, precision.
TXT to TTML
Convert TXT to TTML in your browser — dropped: timing.
TXT to VTT
Convert TXT to VTT in your browser — dropped: timing.
VTT Subtitle Format
What VTT can store, what it cannot, and every format you can convert it to or from.
VTT to ASS
Convert VTT to ASS in your browser — dropped: precision, format-specific content.
VTT to CSV
Convert VTT to CSV in your browser — dropped: styling, format-specific content.
VTT to JSON
Convert VTT to JSON in your browser — dropped: format-specific content.
VTT to LRC
Convert VTT to LRC in your browser — dropped: timing, styling, precision, format-specific content.
VTT to MICRODVD
Convert VTT to MICRODVD in your browser — dropped: styling, frame rate, format-specific content.
VTT to SBV
Convert VTT to SBV in your browser — dropped: styling, format-specific content.
VTT to SMI
Convert VTT to SMI in your browser — dropped: format-specific content.
VTT to SRT
Convert VTT to SRT in your browser — dropped: styling, format-specific content.
VTT to SSA
Convert VTT to SSA in your browser — dropped: precision, format-specific content.
VTT to TTML
Convert VTT to TTML in your browser — dropped: format-specific content.
VTT to TXT
Convert VTT to TXT in your browser — dropped: timing, styling, line breaks, format-specific content.
Timing
Convert Subtitle Frame Rate
Scale every subtitle timestamp by source frame rate over target frame rate — for any pair, including 23.976, 24, 25, 29.97, 50 and 60.
Fill Gaps Between Subtitles
Close the blank screen between one cue and the next by holding the earlier cue longer — both cues keep their own text and timing.
Fix 23.976 fps Subtitles to 25 fps
Multiply every timestamp by 0.95904 to move NTSC film subtitles onto a PAL version — the 4.096 percent correction, not the round 4 percent.
Fix 23.976 fps Subtitles to 29.97 fps
Multiply every timestamp by 0.8 when frame numbers were divided by the film rate instead of 29.97 — and why 3:2 pulldown is not a reason to convert.
Fix 24 fps Subtitles to 25 fps
Multiply every timestamp by exactly 0.96 for the 4 percent PAL speed-up — the clean film-master pair, with the reading speed cost named.
Fix 25 fps Subtitles to 23.976 fps
Multiply every timestamp by 1.0427094 to spread PAL subtitles back onto an NTSC film version — and why 25 to 29.97 is the wrong pair.
Fix 29.97 fps Subtitles to 23.976 fps
Multiply every timestamp by 1.25 when a film timeline was counted at the NTSC container rate — the mirror of the 0.8 fix, for subtitles that run early.
Fix 50 fps Subtitles to 25 fps
Halve every timestamp to put 50 fps or field-counted subtitle timing back onto a 25 fps version — the one error in the group visible in the file's length.
Merge Overlapping Subtitles
Turn cues that share screen time into one cue holding both texts, running from the earliest start to the latest end — nothing uploaded.
Merge Subtitle Cues
Join neighbouring cues into one when the gap between them is under your limit, with the pause filled and every word kept — in your browser.
Point Sync Subtitles
Name a moment in the file and where it belongs: one pair of points fixes an offset, two also stretch a file that drifts out towards the end.
Remove Overlapping Subtitles
Make every subtitle cue start where the previous one ended — trim or drop, with moved and removed counts reported separately.
Scale Subtitle Timing
Multiply every subtitle timestamp by a percentage to stretch or compress the timeline — the tool for PAL speed-up and drift that grows towards the end.
Set a Minimum Gap Between Subtitles
Leave at least a set number of milliseconds of blank screen between cues, so two lines never read as one — the earlier cue gives up the time.
Set a Minimum Subtitle Duration
Hold any cue shorter than your limit on screen for longer — the extra time comes out of the gap after it, and the last cue simply extends.
Shift Subtitle End Times
Move only the end time of every subtitle cue, leaving each start where it was — make captions linger or take them off screen sooner.
Shift Subtitle Start Times
Move only the start time of every subtitle cue, leaving each end where it was — cues get shorter or longer by the offset you give.
Shift Subtitles
Move every subtitle cue earlier or later by an exact millisecond offset — timings only, text and cue numbers untouched.
Shift Subtitles by Frames
Shift every subtitle cue by a number of frames converted through the frame rate — for 23.976, 24, 25, 29.97 and 30 fps sources.
Shift Subtitles by Timecode
Shift every subtitle cue by a timecode such as 00:00:02,500, including negative values — both edges move, so no cue changes length.
Shift Subtitles in a Time Range
Shift only the cues that start inside a time range and leave the rest of the file alone — fix one scene without retiming the whole file.
Snap Subtitles to Frames
Move every subtitle boundary onto the nearest frame at 25, 23.976, 29.97 or any rate — frame-accurate output with the timeline's length left alone.
Split Long Subtitles
Cut cues holding more than your character limit into readable pieces — text divided at word boundaries, timing shared by length.
Split Subtitles at Sentences
Put one sentence per cue, breaking on full stops, question marks and line breaks — abbreviations and decimals left intact.
Split Subtitles by Duration
Divide any cue on screen longer than your limit into evenly timed pieces — the pieces and their times worked out from the duration.
Split Subtitles Into Multiple Files
Cut one subtitle file into parts by the clock — every cue keeps its own timings and number, and the parts come back as one zip.
Stretch Subtitles to Match Video
Give the length of the video and the subtitle file is stretched or compressed to fit it — the ratio is measured from the file itself.
Sync Subtitles to a Timecode
Move a whole file so its first subtitle starts at the time you give — 00:00:00,000 removes a lead-in, and no cue can be pushed off the front.
Trim Subtitles to a Time Range
Keep only the stretch inside a time window — cues entirely outside are dropped, cues across an edge are cut there, and nothing is uploaded.
Text and styling
Add a BOM to Subtitles
Put a UTF-8 byte order mark in front of a subtitle file for players and tools that read the opening bytes — nothing is uploaded.
Balance Subtitle Line Breaks
Even out the lines a cue already has — the line count stays the same and the words move between the lines until the longest one is as short as it can be.
Capitalise the First Letter of Every Subtitle Line
Give each line the one capital it is missing and change nothing else — safe on a file that is already right, and it skips leading dashes and quotes.
Change Subtitle Colour
Paint every line of a subtitle file in one colour, keeping its bold, italic and karaoke timings — no upload, and the old colours are replaced rather than stacked.
Change Subtitle Position
Move every cue to one of nine screen positions — or strip the position markers off a file — by writing a {\anN} alignment code that ASS reads natively and SRT players mostly honour.
Convert Subtitle Encoding
Write a subtitle file out as UTF-8, UTF-8 with BOM, UTF-16LE or Windows-1252 — characters the target cannot carry are counted.
Convert Subtitle Line Endings
Switch subtitle line endings between LF and CRLF, mixed files included — every cue, timecode and cue number is left exactly as it was.
Convert Subtitles to lowercase
Rewrite every subtitle line in lower case for a platform that asks for it, with acronyms and names lowered too — the file never leaves your browser.
Convert Subtitles to Sentence Case
Lower each line and then rebuild it as sentences, capitalising the first word and every sentence start — the quickest fix for a file in capitals.
Convert Subtitles to Title Case
Capitalise the first letter of each word and leave the small ones alone — brand names and acronyms that already have capitals are left as they are.
Convert Subtitles to UPPERCASE
Rewrite every subtitle line in capitals, ready for a delivery spec that asks for it — nothing is uploaded and the timecodes are untouched.
Find and Replace in Subtitles
Replace text inside every subtitle cue in a file — literal search, whole-word and case options, styling kept where it still fits.
Fix Subtitle Encoding
Read a subtitle file as Shift-JIS, GBK, Big5, EUC-KR, Windows-1251 or ISO-8859-1 when automatic detection shows the wrong text.
Join Bilingual Subtitles on One Line
Merge two subtitle files into one, putting both languages on a single line with a separator you choose — paired by timing, nothing uploaded.
Keep One Timeline When Merging Subtitles
Merge two subtitle files without moving the first one's timing — cues in the second file that match nothing are dropped and counted in the report.
Keep Only One Language In Bilingual Subtitles
Keep one language from a bilingual subtitle file and drop the other — the kept language comes out as a single subtitle file, nothing uploaded.
Limit Lines per Subtitle
Cap how many lines one subtitle may occupy: cues over the count are packed down to it, and cues already within it come through untouched.
Merge Two Subtitles Into One
Combine two subtitle files into one bilingual file, pairing the cues by their timing and keeping both languages — nothing is uploaded.
Regex Replace in Subtitles
Rewrite subtitle text with a regular expression — capture groups, flags, and matches that carry a different replacement each time.
Remove ASS Override Tags from Subtitles
Clear the override codes out of an ASS or SSA file — styling, karaoke timing, leftover {...} blocks and positioning — leaving plain timed text.
Remove Bold Tags from Subtitles
Take the bold off every subtitle line and leave italics, underlines and colours in place — your file never leaves the browser tab.
Remove Bracketed Text from Subtitles
Delete everything inside paired square brackets — the sound and music cues a captioned file carries — and close the gap the removal leaves behind.
Remove Font and Colour Tags from Subtitles
Drop the colour and font ranges from every subtitle line so the text reads in the player's own styling — nothing is uploaded and no cue moves.
Remove HTML Tags from Subtitles
Strip the markup out of subtitle text, including the speaker and class tags a WebVTT file can carry, so what is left is plain readable dialogue.
Remove Italic Tags from Subtitles
Strip every italic range from a subtitle file while the words stay exactly as they are — nothing is uploaded and every cue keeps its timing.
Remove Line Breaks from Subtitles
Put every subtitle cue on a single line — line breaks inside a cue are joined, with the timings and cue numbers left exactly as they were.
Remove Music and Sound Cues from Subtitles
Take the note symbols out of your subtitles, and with them the sung lines they wrap, while the spoken cues in the same file keep every word and every timecode.
Remove Non-Speech Information from Subtitles
Strip the parenthesised remarks a hearing-impaired track carries, matched by bracket shape alone — no upload, and the spoken lines come back untouched.
Remove SDH Annotations from Subtitles
Clear a subtitle file of its hearing-impaired notes in one run — speaker labels, bracketed asides, parenthesised remarks and music cues — without uploading anything.
Remove Speaker Labels from Subtitles
Drop the all-capitals name and colon at the start of each line, so a captioned file reads as plain dialogue with its timing and text otherwise intact.
Remove the BOM from Subtitles
Take the byte order mark off a subtitle file for build scripts and strict parsers — nothing is uploaded and no cue is touched.
Remove Timestamps from Subtitle Text
Strip the timecodes printed inside cue text — [00:01:23] and friends — while leaving sound cues, clock times and frame timecodes alone.
Remove Underline Tags from Subtitles
Remove underlined ranges from a subtitle file without touching the text, the timecodes or the other styling on the same line — no upload.
Split Bilingual Subtitles Into Two Files
Split a bilingual subtitle file into two — one language per file, decided from the writing system each line is written in. Nothing is uploaded.
Split Long Subtitle Lines
Break only the lines that are longer than your column count — every line already within it is left byte for byte as it was, in place.
Strip All Formatting from Subtitles
Remove every styling range a subtitle file carries — italic, bold, underline, colour and karaoke timing — leaving the words and the timing untouched.
Wrap Subtitles to a Line Length
Re-flow every cue to a column count you set — over-long lines break at a word, short lines join up, and dashes that mark a speaker stay put.
Quality checks
Find Empty Subtitles
List every cue that holds no text at all — a subtitle occupying the timeline while showing nothing, which no reading of a file makes correct.
Find Gaps Between Subtitles
List every stretch of blank screen wider than the limit you set, measured from the last cue that was still on screen rather than from the cue before it.
Find Out-of-Order Subtitles
Report files whose cues were not in time order, using the reorder the reader had to perform — so the answer does not depend on which subtitle format you happen to hold.
Find Overlapping Subtitles
List every cue that starts before the previous one has finished — a report you can download, with the cue numbers, the times and the overlap measured in milliseconds.
Find Subtitles That End Before They Start
Report cues whose recorded end time was not later than their start time — zero-length and back-to-front timecodes alike, counted while the file was being read.
Find Subtitles With No Dialogue
List every cue with no letters in it: music notes, bare numbers, dashes. Captions use these on purpose, so the report flags them for a look rather than as faults.
Find Too-Long Subtitles
List every cue still on screen after the maximum you set — subtitles that outstay their line, with the measured duration and your limit printed next to each one.
Find Too-Short Subtitles
List every cue on screen for less time than the minimum you set, with the measured duration and your limit side by side. Nothing in the file is changed.
Scan Subtitles for Structural Problems
Run every structural check at once — overlaps, gaps, empty cues, out-of-order cues, impossible durations and odd ones — and report the count for each in one pass.
Accessibility compliance
Check Captions Against EN 301 549 and WCAG 1.2.2
Run the whole check against the European accessibility standard, which adopts WCAG 2.2 SC 1.2.2 as a requirement — the same file reads as an error here and a warning there.
Check Subtitle Line Length
Measure every subtitle line against Netflix's 42-character and the BBC's 37-character limits, line by line, and download the report. The file is never uploaded.
Check Subtitle Maximum Duration
List every cue still on screen after Netflix's seven seconds, with the duration it measured, the limit it was compared against and the sentence that limit was read from.
Check Subtitle Minimum Duration
List every cue on screen for less than Netflix's five sixths of a second (834 ms), with the measured duration and the sentence the limit came from.
Check Subtitle Reading Speed
Measure how fast every cue has to be read, checked against Ofcom's 180 words per minute or Netflix's 20 characters per second, and download the report.
Check Subtitle Speaker Identification
List every cue where two people speak but neither is named, checked against FCC 47 CFR §79.1 and WCAG 2.2 SC 1.2.2, and download the report.
Check Subtitles Against Ofcom Guidance
Run the whole check against Ofcom's published guidance, whose only figure is a reading speed of 180 words per minute — the report shows what the rest of the document leaves open.
Check Subtitles Against the FCC Caption Rules
Run the whole check against 47 CFR §79.1 — four of the five checks come back with no figure to compare against, because that rule states none, and the report says so.
Check Subtitles Against the Netflix Timed Text Style Guide
Run the whole check against Netflix's numbers at once — 20 characters per second, 42 characters a line, 834 ms to 7 seconds a cue — and name the rule it cannot check yet.
Timecode
Convert Drop-Frame Timecode to Non-Drop-Frame
Re-label every subtitle timecode from 29.97 drop-frame back to 30 fps non-drop — an hour in, 01:00:03,600 becomes 01:00:00,000.
Convert Non-Drop-Frame Timecode to Drop-Frame
Re-label every subtitle timecode from 30 fps non-drop to 29.97 drop-frame — an hour in, 01:00:00,000 becomes 01:00:03,600.
Export and integration
Convert Subtitles to PDF
Lay a subtitle file out as a printable, searchable PDF — one cue per block with its own timecode, three text sizes, optional page numbers.
Export Subtitles as a Plain Text Transcript
Read the cues as flowing paragraphs of plain text — display line breaks joined, cues merged across pauses, timestamps optional.
Generate an HTML Track Element
Wrap your subtitles in an HTML track element with the WebVTT inlined as a data URI, ready to paste into a page.
Make YouTube Chapters from Subtitles
Read a subtitle file as a YouTube chapter list — one line per section, the first stamp forced to 0:00, ten seconds per chapter.
Media input
Convert SUB/IDX (VobSub) to SRT
Turn a VobSub pair into an .srt: the .idx supplies the timings and palette, the .sub the pictures, and OCR reads them into text in your browser.
Convert SUP (PGS) to SRT
Read the text back out of a .sup picture subtitle with on-device OCR and get a .srt file — no upload, and the language model is your choice.
Extract Subtitles from Video
Pull every subtitle track out of a video in your browser — one file per track, named after its language, with nothing uploaded.
Narrate Subtitles with Speech
Speak every subtitle cue aloud at its own start time and download the result as one audio file — ten voices, seven languages, nothing uploaded.
Read Text Out Loud
Paste a paragraph or drop a text file and get back a spoken audio file — ten voices across seven languages, WAV, MP3 or M4A, nothing uploaded.
Resync Subtitles to the Audio
Drop a subtitle file and its video: the shift and any frame-rate drift are measured from the speech itself, and a report says whether the file was touched.
Timed Lyrics Editor
Play an audio file, tap a key as each lyric line starts, and export a .lrc — the audio never leaves the tab and nothing is uploaded.
Transcribe Audio to Subtitles
Turn a recording into a timed .srt or .vtt in your browser — the speech model is downloaded once, and the audio is never uploaded.
Transcribe Audio to Text
Turn a recording into a plain-text transcript in your browser — paragraphs, no timecodes, and nothing uploaded.