2.0 KiB
Subtitle Tools
Edit, validate, synchronize, compare, and convert subtitle files locally in the browser. Subtitle Tools is an independently versioned application in the add·ideas Toolbox.
Version 0.2 scope
- Bounded SRT, WebVTT, ASS/SSA and flat-profile TTML/DFXP parsing
- Cue timeline, add/duplicate/split/merge/delete operations, direct text/timestamp editing, cue text transforms and configurable diagnostics for overlaps, order, duration, reading speed, line count and line length
- Shift and anchor-based stretch operations, negative-time protection, source/target frame-rate conversion and frame-grid snapping
- SRT, WebVTT, ASS and safe flat TTML serialization with format-specific preservation where possible and a visible cross-format loss warning
- Deterministic index-aligned revision comparison
- Immediate browser-native audio/video playback while cancellable, worker-based waveform peak extraction continues; failed or stale jobs retain the last valid waveform; the scrollable waveform provides zoom, cue selection, previous/next navigation and a live playhead
- UTF-8, UTF-16 LE/BE and ISO-8859-1 file decoding
All source, media and generated output stays in the current browser. The app makes no external request. Validation is configurable editorial guidance, not a broadcast, accessibility, or legal compliance certificate. Version 0.2 does not perform speech recognition, automatic alignment, semantic revision matching, or pixel-perfect ASS rendering. TTML regions, styling definitions and inherited timing are not laid out; cue-level references are inspected and export is a flat, resource-free profile.
Development
Requires Node.js 22 and npm 11.
npm ci
npm run check
npm run test:browser
Release
npm run release:artifact creates the deterministic
release/subtitle-tools-0.2.0.zip and checksum sidecar.
Licence
GPL-3.0-or-later. Runtime dependencies retain their own licences; see THIRD_PARTY_NOTICES.md.