Text and styling
Change case, strip tags and SDH descriptions, recolour or reposition lines, merge or split bilingual tracks, find and replace, rewrap lines, fix encoding.
37 tools
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.
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.
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.
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.
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.
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 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 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 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.
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.
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.
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.
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.
Other categories
Format conversion
Move subtitles between SRT, WebVTT, ASS, SSA, SBV, SMI, LRC, MicroDVD, TTML, JSON, plain text and CSV — and see what each conversion drops before it runs.
Timing
Shift, scale, re-frame and re-align subtitle timing: frame-rate conversion, overlap and gap repair, trimming to a range and splitting a file into parts.
Quality checks
Detect structural subtitle defects: overlaps, gaps, empty cues, non-monotonic timing and unusual cue durations — one page per problem or all at once.
Accessibility compliance
Check subtitles against reading speed, line length and display-duration thresholds from EN 301 549, WCAG 1.2.2, FCC, Ofcom, Netflix and BBC rules.
Timecode
Re-label subtitle timecodes between 30 fps non-drop and 29.97 drop-frame, two conventions that drift 3.6 seconds apart every hour, in both directions.
Export and integration
Turn subtitles into an HTML track element, a YouTube chapter list, a plain text transcript or a printable PDF — outputs no subtitle format can carry.
Media input
Extract subtitle tracks from video, transcribe speech with Whisper, OCR PGS and VobSub bitmaps, voice subtitles and resync audio — all inside your browser.