GALAXY OF TOOLS

VIDEO SECTOR

Subtitle Converter

Convert between SRT, VTT, ASS, SSA, SBV, TTML, DFXP, SUB, LRC, TXT and JSON, and fix timing and frame rate.

Drop a subtitle file here or click to choose SRT, VTT, ASS, SSA, SBV, TTML, DFXP, SUB, LRC, TXT or JSON · or paste below · nothing is uploaded
ms
Positive delays every cue, negative shows them earlier (−1500 = 1.5 s sooner).
From the frame rate the subtitles were made for to your video’s rate.
Auto reads UTF-8/UTF-16 and falls back to Windows-1252 for old files. Change it if accents look wrong.
Clean-up
Removes italics, colours, positions and karaoke timings.
Output file
For old TVs and players that need them. Applies to the downloaded file.
PreviewDrag the slider or click a cue
00:00:00.000
#StartEndText

Runs entirely in your browser. Nothing you enter or upload is sent to a server.

One subtitle converter for every common caption format

This subtitle converter reads eleven subtitle and caption formats and writes any of them: SubRip SRT, WebVTT, Advanced SubStation (ASS) and SubStation Alpha (SSA), YouTube SBV, TTML and DFXP, MicroDVD SUB, LRC lyrics, plain text and JSON. Drop a file or paste the text — the format is detected automatically — choose the output and download. It also fixes the problems that tend to come with subtitle files: wrong timing, the wrong frame rate, garbled accents and overlapping lines.

Everything runs locally in your browser. There is no queue, no account and no upload, which matters when the subtitles belong to an unreleased film, a client project or a private recording.

How to use the Subtitle Converter

  1. Drop a subtitle file onto the upload area or paste its text into Input subtitles. Leave Input format on Auto-detect unless the guess shown underneath is wrong.
  2. Choose the Output format. The converted text appears next to the input and updates whenever you change a setting.
  3. To fix sync, enter a Time shift in milliseconds; to fix gradual drift, set Frame-rate conversion from the rate the subtitles were made for to your video’s rate.
  4. Read the badges and the list below them: overlaps, cues out of order and cues that end before they start are reported. Tick Sort cues and fix overlaps to repair them.
  5. Check the result in the Preview, then press Download or Copy.

Subtitle Converter features

Eleven formats in, eleven out

SRT, VTT, ASS, SSA, SBV, TTML, DFXP, MicroDVD, LRC, TXT and JSON. On the input side it also reads Whisper-style JSON segments and YouTube json3 caption files.

Formatting translated, not just dropped

Italics, bold, underline and colours move between SRT tags, WebVTT classes, ASS override codes such as {\i1}, TTML span styles and MicroDVD {y:i} codes. Top-of-screen positions survive as {\an8}, line:0 or a TTML region.

Time shift and frame-rate fix

Move every cue by any number of milliseconds, or rescale all times between 23.976, 24, 25, 29.97, 30, 50, 59.94 and 60 fps.

Validation and repair

Each file is checked for overlapping cues, cues out of order, negative or zero durations and empty cues, with cue numbers so you can find them. One tick sorts the cues and trims overlaps.

Encoding detection

UTF-8 and UTF-16 are detected automatically and older files fall back to Windows-1252. Nineteen encodings cover Cyrillic, Central European, Greek, Turkish, Hebrew, Arabic, Thai, Chinese, Japanese and Korean subtitles.

Supported subtitle formats

When the output cannot hold something, such as colours in SBV, the text is kept and that formatting is left out. ASS styles are preserved when converting ASS to ASS or SSA; other inputs get a clean Default style you can restyle in any subtitle editor.

FormatExtensionTimingFormatting kept
SubRip.srtMillisecondsItalic, bold, underline, colour, {\an} position
WebVTT.vttMillisecondsTags, classes, cue settings, STYLE blocks
ASS / SSA.ass, .ssaCentisecondsStyles, override tags, alignment
YouTube SubViewer.sbvMillisecondsPlain text
TTML / DFXP.ttml, .dfxp, .xmlClock time, frames or ticksSpan styles, colours, top and bottom regions
MicroDVD.subVideo framesWhole-line italic, bold, underline, colour
LRC lyrics.lrcStart times in centisecondsPlain text
Plain text.txtNone (automatic when read)Plain text
JSON.jsonMillisecondsSRT-style tags

Frame rates: fixing subtitles that drift

When subtitles start in sync but gradually run ahead or fall behind, they were timed for a version of the video with a different frame rate. Films shot at 24 frames per second are usually released at 23.976 fps; PAL television and many European DVDs play the same film at 25 fps, which makes it about 4% shorter. Subtitles timed for one version drift by roughly 2.5 seconds for every minute on the other.

Set Frame-rate conversion to the rate the subtitles were made for on the left and your video’s rate on the right. Every time is multiplied by the ratio between them: going from 25 to 23.976 fps, a cue at 10:00.000 moves to 10:25.626. Add a small time shift if the first line is also offset.

Formats that need extra information

  • MicroDVD (.sub) counts video frames instead of time, so choose the MicroDVD frame rate of your video. If the first line of the file declares a rate, like {1}{1}23.976, that value wins; files written here include such a line.
  • LRC lyric files only say when each line starts. A line lasts until the next one, and the empty timestamped lines this converter writes mark when text should disappear.
  • Plain text has no timings at all. Each paragraph, or each line if there are no blank lines, becomes one subtitle lasting 1.5 to 7 seconds depending on its length, starting at 0:00 — a quick way to rough out subtitles before fine-tuning them.
  • VobSub (.sub with .idx) stores pictures of text, not text. It needs OCR software before any converter can read it.

Subtitle Converter FAQ

Which formats can this subtitle converter handle?

SRT, WebVTT, ASS, SSA, YouTube SBV, TTML, DFXP, MicroDVD SUB, LRC, plain text and JSON, in any direction. The input format is detected automatically.

How do I convert ASS to SRT without losing italics?

Drop the .ass file and choose SubRip as the output. Italic, bold, underline and colour override codes become SRT tags, \N line breaks become real line breaks and top-aligned styles get {\an8}. Vector drawings and effects that SRT cannot show are removed.

How do I fix subtitles that are out of sync?

If every line is early or late by the same amount, use Time shift. If the gap grows as the video plays, use Frame-rate conversion — usually 25 → 23.976 fps or the reverse.

Why does my DFXP or TTML file convert with the wrong times?

TTML can express time as clock time, frames or ticks. The converter reads ttp:frameRate, ttp:frameRateMultiplier and ttp:tickRate from the file; if frames are used without a declared rate, the TTML default of 30 fps applies.

Can I turn subtitles into a plain transcript?

Yes. Choose Plain text as the output: timings and tags are removed and each subtitle becomes its own paragraph.

Are my files uploaded or stored?

No. Reading, converting, previewing and downloading all happen inside your browser tab.

What about subtitles inside an MKV or MP4 file?

Those are tracks inside the video rather than separate files. Pull them out first with Extract Subtitles, then convert them here.

You might also need