Plugins for Subtitle Edit 5 - they run on Windows,
Linux and macOS (x64 + arm64). The plugins live in se5/ and are listed in the online
index se5-plugins.json.
- Turn on the Plugins menu: Options → Settings → Appearance → Show Plugins menu.
- Choose Plugins → Manage plugins... → Get plugins online... to install or update
plugins from
se5-plugins.json. - Run a plugin from the Plugins menu. Its changes are applied as one undo step.
| Plugin | Description |
|---|---|
| ARTE check | Checks and fixes EBU STL teletext subtitles for ARTE delivery. |
| American to British | Converts American English spellings to British English. |
| British to American | Converts British English spellings to American English. |
| Haxor | Translates text to "haxor" - the minimal reference plugin. |
| Italic each line | Switches italic tags between one tag per subtitle and a tag on each line. |
| Persian Subtitle Fixes | Fixes common errors in Persian (Farsi) subtitles - 1,500+ rules in 12 groups. |
| Remove Unicode characters | Finds non-ANSI characters and lets you remove or replace each one. |
| Split dialogs | Splits dialog lines ("- Hi!" / "- Hello.") into one subtitle per speaker. |
| Transliterate | Converts between scripts: Serbian, Montenegrin, Macedonian, Uzbek Cyrillic ↔ Latin; Russian, Ukrainian, Belarusian, Bulgarian, Kazakh, Greek, Korean → Latin. |
| Typewriter effect | Reveals the text character by character in short timed parts. |
| Word censor | Censors offensive words (grawlix, custom text, or a random replacement). |
See se5-plugins.json for current versions and downloads.
An SE5 plugin is a normal executable, so it can be written in any language and may show its own window (the plugins here use .NET 8 + Avalonia):
- Subtitle Edit writes a
request.json(subtitle as SubRip + native format, selected lines, video file, settings, ...) and starts the plugin with the request file path as the first argument. - The plugin does its work and writes a
response.jsonto theresponseFilePathgiven in the request. - The plugin exits with code
0. OnokSubtitle Edit replaces the subtitle (with undo), oncancellednothing happens, onerrorthe message is shown.
The full specification is in
docs/plugin.md.
se5/Haxor is the smallest complete example, and se5/Plugin-Shared
contains the shared contract DTOs, SubRip parser and Avalonia theming used by the other plugins.
Every plugin is a folder with a plugin.json manifest:
Plugins/
MyPlugin/
plugin.json
MyPlugin.exe (Windows) / MyPlugin (Linux, macOS)
...
{
"apiVersion": 1,
"name": "My plugin",
"description": "What it does.",
"version": "1.0.0",
"author": "Your name",
"url": "https://github.com/you/my-plugin",
"minSeVersion": "5.0.0",
"executables": {
"windows": "MyPlugin.exe",
"linux": "MyPlugin",
"macos": "MyPlugin"
}
}Instead of executables you can use "runtime": "dotnet" + "entry": "MyPlugin.dll"
(launched as dotnet MyPlugin.dll <requestFile>, needs the .NET runtime installed) - handy
while developing. Optional fields: menu, shortcut and icon.
- Build self-contained for each platform you support, e.g.
dotnet publish -c Release -r linux-x64 --self-contained(win-x64,win-arm64,linux-x64,linux-arm64,osx-x64,osx-arm64). - Zip each build so the zip has a single top-level folder containing
plugin.json. - Attach the zips to a GitHub release.
- Open a pull request adding an entry to
se5-plugins.jsonwith adownloadsmap from platform key to zip URL. A plugin with no zip for the user's platform is listed but cannot be installed there.
The plugins in this repository are built and released by the workflows in
.github/workflows.