Drop your subtitle here or import it. It stays intact. Click “Download” or “Copy” to get the edited file.
Drop your video here or import it to preview your subtitles over it. The preview only covers timing, not styling. Playable formats depend on your browser.
100% free

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 coffee

Support is free and optional: the app stays free for everyone.

Clean subtitles

Remove descriptions
Remove formatting
Remove technical parts
0 in (xyz) 0 in [xyz] 0 description(s) in total
Source

“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

1 · Constant shift
Line none — click a line
New start
Shift —
Scope
2 · Frame-rate conversionExperimental
From to
Factor —
Anchor point
3 · Speed change
Manual
Recomputes all timecodes according to speed (1.25× speeds up → shorter subtitles; 0.75× slows down → longer). Reversible with “Undo”.
0 lines affected
Dialogue lines
Two different corrections.

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

Interpret the file as
Detected—
Decoded text preview
Fix unreadable characters.

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

Current format—
Convert to
Result preview
Format conversion.

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

Drop your video here MKV, MP4, WebM, MOV… The video stays on your machine. Extraction may fail if your computer does not have enough RAM. In that case try a smaller video file and/or a different browser.
Extracting 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

Translate from to
Do not translate (comma-separated)Experimental
0
in
Source (to translate)
Translated preview
Local translation (Bergamot).

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).

Edit subtitles

0
Case (selection)
Cue no.
Characters per line (average)
Editor