Subtitle & Caption Tools
Browse 40 curated subtitle & caption tools resources for video development on Awesome Video.
Topics
Resources
- imscED — IMSC subtitle/caption editorIMSC (TTML) subtitle/caption editor built on imscJS, with a Video Image Burner REST service for IMSC burn-in.
- subconv — SCC (CEA-608) to WebVTT converterRuby library converting SCC (EIA-608/CEA-608) caption files to WebVTT; niche 608 conversion path.
- Whisper-WebUI — subtitle generation UIGradio UI generating subtitles from files/YouTube/mic using faster-whisper; outputs SRT/WebVTT, translation (NLLB/DeepL), Silero VAD, diari…
- whisper-vtt2srt — AI transcript WebVTT→SRT cleanerZero-dependency CLI/Python tool converting Whisper WebVTT to clean SRT, fixing karaoke-accumulation and filtering glitches.
- AutoSubSyncSubtitle auto-sync GUI wrapping ffsubsync/autosubsync/alass; can sync against a reference subtitle instead of the video.
- subtpRust parser for SRT and WebVTT with round-trip parse/render of cues, comments, styles, and regions.
- subsaiSubtitle generation tool with WebUI, CLI, and Python API using faster-whisper; exports srt/ass/ssa/sub/json/txt/vtt with translation suppor…
- whisper-subtitle-generatorCross-platform GUI for batch subtitle generation with SRT/VTT/JSON export, translation, and GPU acceleration. MIT.
- WhisperXASR pipeline producing word-level timestamps via wav2vec2 forced alignment plus speaker diarization, useful for accurate subtitle cue timin…
- stable-tsWhisper-based transcription with forced alignment and audio indexing, including a mode that loads audio in 30s chunks for near-streaming su…
- AutoSubtitle — Whisper subtitle GUI with burn-inPyQt5 GUI that generates bilingual subtitles using faster-whisper and Silero VAD with LLM translation and FFmpeg burn-in/hardcode.
- SCF — Subtitling Conversion Framework (EBU)IRT's Subtitling Conversion Framework converting between EBU STL, EBU-TT Part 1 (Tech 3350/3360) and EBU-TT-D (Tech 3380) with strict confo…
- STL2TTML — EBU STL to TTML/WebVTT converterJava tool converting EBU STL (Tech 3264) binary subtitle files to TTML and WebVTT for streaming delivery.
- vidstack/captions — Lightweight JS Caption Parser/RendererModern ~5kB JS library parsing and rendering VTT/SRT/SSA captions, with server-side support, VTT-region rollup captions, and CSS styling.
- WhisperTimeSync — Transcript-to-Whisper Subtitle AlignerAligns an existing accurate transcript over Whisper timestamps to produce SRT with both good text and good timing.
- subgen — Whisper Auto-Subtitles for Media ServersAuto-subtitle generator using Whisper (stable-ts + faster-whisper) for Jellyfin/Plex/Emby/Bazarr, CPU or CUDA.
- CcextractorCCExtractor - Official version maintained by the core team
- PycaptionPython module to read/write popular video caption formats
- LibcaptionFree open-source CEA608 / CEA708 closed-caption encoder/decoder
- AutoSubAutoSub is a CLI application to generate subtitle file (.srt) for any video file using Mozilla DeepSpeech
- Webvtt RubyWebVTT Ruby parser and segmenter.
- Webvtt PyRead, write and segment WebVTT caption files in Python.
- IMSC validator
- ttconv: subtitle/caption format converterConverts EBU STL, IMSC/TTML/SMPTE-TT/EBU-TT-D and 608/SCC into IMSC, WebVTT and SRT
- imscJS: IMSC/TTML/SMPTE-TT/EBU-TT-D rendererRenders IMSC/TTML/SMPTE-TT/EBU-TT-D subtitles and captions to HTML
- The ultimate guide to CCs
- Cea608 JSA JavaScript project designed to extract CEA-608 captions.
- Caption InspectorCaption Inspector is a reference decoder for Closed Captions (CEA-608 and CEA-708).
- Pycaption CLIA command line interface for the pycaption module.
- Extract SubtitlesExtract Subtitles From Video
- TV Subtitle ExtractionSystem for extraction of subtitles from TV broadcasts.
- Subs ExtractExtracts per-sentence subtitles + audio from a subtitle file + video file.
- Pysub ParserUtility to extract the text and timestamps of a subtitle file (.srt, .ssa, .sub, .txt).
- Node Thumbnails WebvttVideo thumbnail generator generating WebVTT spec file
- Autosub (BingLingGroup)Command-line utility to transcribe/translate from video/audio/subtitles to subtitles
- STRCleanerScript that extracts all the text from a subtitles file ignoring time indications, HTML tags and other alien info.
- Serverless SubtitlesServerless Subtitles can handle a video input, extract the sound, transcript it and generate different subtitle files for your video.
- Extract Subtitleextract subtitles from video.
- Cea ExtractorParsing and display logic for CEA-608 caption data in fragmented MP4 files.
- Vtt JSA JavaScript implementation of the WebVTT specification