Subtitle Converter & Editor

Convert SRT, VTT, SBV and ASS subtitles, fix out-of-sync timings, and edit the lines by hand.

100% private — runs entirely in your browser. Your data is processed on your device and never sent to the internet.

Click to upload or drop a subtitle file here

SRT, VTT, SBV, ASS or SSA — read in your browser, never uploaded

or paste the subtitles below

About the Subtitle Converter & Editor

Drop in a subtitle file and it is read into a list of lines you can actually see and change: every start time, every end time, every piece of text. Convert it to another format, move the timings, tidy up the mess left by whatever produced it, then download.

Your file is never uploaded. It is read and written in your own browser.

Formats it reads and writes

  • SubRip (.srt) — the universal one: media players, uploads, editing software
  • WebVTT (.vtt) — HTML5 video on the web, and streaming players
  • YouTube (.sbv) — YouTube's own caption upload format
  • Advanced SubStation (.ass / .ssa) — styled and positioned subtitles, fansubs
  • Plain text (.txt) — the words on their own, as a transcript
  • Spreadsheet (.csv) — sending lines to a translator, or checking them in Excel

.ass and .ssa are read as well as written, with the styling codes stripped back to plain text.

Subtitles out of sync? Work out which kind

This is the part people get stuck on, and there are only two real cases.

They are out by the same amount all the way through. The first line is two seconds late and so is the last one. That is an offset — use Shift every line by. Type how far out it is, then press minus to bring them earlier or plus to push them later. Check the start and the end of the film to be sure the error really is the same at both ends.

They start close and drift further apart as the film goes on. By the end they are ten or twenty seconds out. That is a frame-rate mismatch — the subtitles were made for a copy of the film running at a different speed. Use Stretch the timing and pick the conversion. The common ones are:

  • 23.976 → 25 fps — a US/film release used against a European (PAL) copy
  • 25 → 23.976 fps — the other way round
  • 24 → 25 and 25 → 24 — the same problem, one step smaller

Stretch first, then shift, because stretching moves the start point too.

What the tidy-up buttons do

  • Fix overlapping times — sorts the lines into order, gives any line that ends before it starts a sensible one-second length, and pulls back the end of a line that runs into the next one. Overlaps make some players show two subtitles at once, or drop one.
  • Remove styling tags — strips <i>, <b>, <font …> and {\an8}-style codes, leaving the words. Do this when converting from ASS to SRT, or when a player is showing the tags on screen instead of obeying them.
  • Join each line into one row — puts a two-line subtitle onto one line. Useful before exporting a transcript, or for a player that breaks lines badly on its own.
  • Undo steps back through your last 25 changes, including edits you typed yourself.

The warning strip above the table counts overlaps and impossible timings as you work, so you can see whether there is anything to fix.

Features

  • Reads SRT, VTT, SBV, ASS and SSA, and detects which one it is given
  • Writes SRT, VTT, SBV, ASS, plain text and CSV
  • Shift every line by any number of seconds, forwards or back
  • Stretch the timing for frame-rate mismatches, with the usual conversions ready to pick
  • Edit any start time, end time or line of text by hand, right in the table
  • Delete lines you do not want
  • Fix overlaps, strip styling tags, join wrapped lines
  • Undo, 25 steps deep
  • A live preview of exactly what the saved file will contain
  • Handles files with thousands of lines without bogging down
  • 100% in your browser — nothing uploaded, nothing stored

Common jobs

  • SRT to VTT so a subtitle file works with an HTML5 <video> player
  • VTT to SRT so a downloaded caption file works in VLC or a TV
  • SRT to SBV for uploading captions to YouTube
  • ASS to SRT to drop styling a player cannot handle anyway
  • Subtitles to plain text to get a transcript out of a video you already have captions for
  • Subtitles to CSV to send the lines to a translator and keep the timings intact

Related tools

Good to know

  • Times can be typed in any of the usual shapes — 00:01:02,500, 00:01:02.500, 1:02.5 — and are tidied to SRT style in the table.
  • A file with more than 60 lines shows the first 60 with a Show more lines button, so a two-thousand-line film does not slow the page down.
  • The preview box shows the first 20,000 characters. The download always contains everything.
  • Subtitle files are usually UTF-8. If yours arrives full of odd characters it was probably saved in an older encoding — run it through File Encoding Converter first.

How to use it

  • Upload your subtitle file, or paste the subtitles in and press *Load what I pasted*
  • Check the warning strip for overlaps or impossible timings, and press *Fix overlapping times* if there are any
  • If the subtitles drift, pick a frame-rate change under *Stretch the timing* — do this before shifting
  • If they are out by a fixed amount, type the number of seconds and press minus or plus
  • Edit any line directly in the table, and delete the ones you do not want
  • Choose the format you want under *Save as*, and check the preview underneath
  • Press Download

We add new tools regularly — subscribe on YouTube to be notified when each one goes live.

More tools

View all

Recommended Apps

View all