字 AI-SRTSub

How to batch convert subtitles

A whole season of subtitles usually has to end up in one format, and uploading them one by one takes forever. Drop them all in here, convert them together and download one ZIP — files that cannot be parsed are flagged, never quietly bundled in as if they had worked.

Updated 2026-10-17Tool guides

What this tool does

Subtitles for a whole season or a box set usually have to be uniform before anything else can be done with them. Here is what the batch page does:

  • Take dozens of SRT or VTT files in one go (multi-select is supported)
  • Convert them all to SRT or VTT, renumbering cues and normalising timestamps to the target format
  • Pack everything into one ZIP for download, keeping original filenames and changing only the extension
  • Flag files with no recognisable cues and leave them out of the archive

Adding files

Drag several subtitle files into the dashed box together, or click and multi-select in one go. The file list shows each one: parsed files display their cue count, unparsed ones are marked simply as not recognised. The top bar totals the file count, cue count and how many went unrecognised.

⚠️ This page reads UTF-8 only. Anything with broken encoding (a screenful of question marks or boxes) should go through Mojibake repair first.

File list: name and cue count per file, unrecognised ones marked in red
Each file listed, and unrecognised ones flagged on the spot

What to convert everything to

Pick the target format under "Convert all to" — SRT or VTT. Every file in the list is then regenerated in that format: cue numbers renumbered from the top, timestamps normalised to the target (SRT separates milliseconds with a comma, VTT with a dot).

Original filenames are kept and only the extension changes; duplicate names get a number appended so nothing overwrites anything.

Target format picker and list state, with the stat bar showing file and cue counts
Pick a target format and every file regenerates; filenames only change extension

Packing and downloading

Click "Pack into one ZIP and download" and the archive contains every converted file. Files with no recognisable cues stay out of the archive — they remain in the list, flagged, rather than being mixed in as though they had succeeded. Once packed, you get a count of how many files are inside.

Packing area: ZIP download button and packing result message
Unrecognised files stay out of the archive and stay flagged in the list

Why a file gets flagged as unrecognised

A file is flagged when no cues can be read out of it. Three usual reasons: it is not a subtitle at all (say a stray .txt readme), the encoding is not UTF-8 (so it reads as nothing but replacement characters), or the content has been flattened into one block with no timestamps.

Flagged files can be dealt with individually: encoding problems go to Mojibake repair, format problems to Format converter for a solo conversion before going back into the list.

FAQ

How many files can I add? There is no hard limit; it depends on your browser's memory, and a few hundred SRT files are usually fine.

Does it change my dialogue? No. Batch conversion only changes the container format — renumbering cues and normalising timestamps — never a word of dialogue.

What if I need to change the content? This page only converts formats. To change timing in bulk use Timing adjustment; to change wording use Term replacement; both work file by file.

Is ASS supported? This page converts between SRT and VTT only. ASS carries styling — use Format converter on it individually.

Privacy

Conversion and packing run entirely in your browser. No subtitle content is ever sent to a server.

Related tools and guides

What to change for a whole season and in what order — Batch editing a whole season of subtitles; more formats for a single file — Format converter; proofreading in a spreadsheet — Subtitle ⇄ table.

Runs entirely in your browser, nothing to install.

Open batch conversion

Related guides