Essential Subtitles Toolkit
The complete toolkit for your subtitles, 100% in your browser.
Extract the existing tracks from a video file, remove annotations and formatting tags, fix the encoding, resync, change the frame rate or speed, convert between SRT, WebVTT, SubViewer and SSA/ASS, fine-tune each cue by hand, and translate locally — all for free, without ever sending your files to a server.
The exported subtitle file will work with any compatible player, such as our free and full-featured LooPlayer.
Exclusive: your working document stays in the browser’s memory from one section to the next. Clean, resync, convert or translate in sequence, on the same file — with no re-downloading or re-importing at each step. Download or copy the result whenever you’re happy with it.
The only exception: the “Extraction” section asks you to download the extracted subtitle, so you always keep an original backup copy.
100% free, and independent
Essential Subtitles Toolkit is entirely free, ad-free and requires no account. An independent enthusiast at the helm, not affiliated with the Apple Store® in order to stay 100% free in its choices.
Buy the developer a coffeeSupport is free and optional: the app stays free for everyone.
Clean subtitles
“Highlighted preview” shows what will be removed. “Apply cleanup” edits the source directly — the result therefore carries over to the Encoding tab and the video preview. “Undo” reverts to the previous state.
Resync subtitles
Block 1 — constant shift : adds or removes the same duration everywhere. It fixes a subtitle that is steadily late or early from start to finish, and keeps each cue’s duration. Block 2 — frame-rate conversion : multiplies all timecodes by a factor (and therefore also changes the durations). It fixes a proportional drift — when the offset keeps growing throughout the film because the file was made for a different frame rate than your video (typically PAL 25 ↔ NTSC/cinema 23.976). If you have both a drift and a wrong starting point, apply the frame-rate conversion first, then a constant shift. If the drift is not proportional, neither of these two corrections will be enough.
Fix subtitle encoding
If you see broken accents (e.g. “é” instead of “é”, or “�”), the file was saved in a different encoding than assumed. Choose the original encoding here until the preview displays correctly, then “Apply”. The text is then cleanly re-converted and will be saved in UTF-8 — the universal encoding, read by all modern players. This function re-reads the original bytes of the imported file; it therefore does not apply to text that was simply pasted, and “Apply” replaces the source with the re-reading (manual edits to the source would be lost).
Convert subtitles: SRT, WebVTT, SubViewer, SSA/ASS
Conversion always works on the subtitles in their latest state (cleanup, resync and encoding already applied). The supported formats are SRT, WebVTT, SubViewer (SBV) and SSA/ASS. These formats are treated as timed text: formatting and styles are not preserved. In particular, converting a file from ASS/SSA to a simple format (SRT, VTT, SBV) permanently removes colors, fonts and positions.
Extract subtitles from a video
Extraction reads the video locally (nothing is sent) and pulls out the text subtitle tracks text. Choose a track, then download it — it is not kept in the app : you must keep your source file. Image tracks image (PGS from Blu-rays, VobSub from DVDs) appear but cannot be extracted. The track is extracted in SRT format. Notes: the engine (~30 MB) is downloaded on first use and needs a connection at that moment.
Translate subtitles locally in your browser
Translation happens in your browser with the open-source Bergamot engine (the one from Firefox): nothing is sent to a translation service. The engine and the language-pair model are downloaded on first use (a few tens of MB).