Edit SRT and WebVTT cues, inspect timing and preview plain-text captions over your local video.
Your content stays on your device Free, with no account
Subtitle Editor · local text processingNo uploads
No file selected.
Choose or drop one local SRT / VTT, up to 2 MiB. Text import is optional.
No guessed legacy encoding. A failed import keeps your previous working text. Output is UTF-8.
Source & settings
Output settings
SRT conversion discards VTT header blocks, cue identifiers and positioning settings. Markup stays as text unless explicitly stripped. Original source files are unchanged. Generate validates the actual canonical output before enabling its download.
Paste or import subtitles, or try the sample.
Scope & limits
SRT and WebVTT cue timing/text, with inert VTT NOTE / STYLE / REGION blocks retained in single-document VTT transformations. This is not a complete WebVTT conformance checker or rich styled subtitle renderer. No ASS/SSA, OCR, speech recognition, translation, online video or burned-in subtitles. Up to 2 MiB / 1,000,000 characters, 10,000 cues total, 8192 characters per cue and timeline through 99:59:59.999. Local worker limit: 10 seconds. Inputs remain in memory only until cleared or the page closes.
Review exact serialized text above. The downloaded UTF-8 bytes are this result. Setting or source edits invalidate it. Output timings do not guarantee synchronization with an unknown video.
Local video / audio preview
No file selected.
Up to 256 MiB, supported browser codecs and finite duration. Subtitles work without media.
Optional local media preview; nothing plays automatically.
Plain-text caption preview only. VTT CSS, positions, regions, karaoke and rich markup are not applied. Overlaps show together; at most 20 active cues / 8192 characters display. Subtitle exports never contain or modify the video.
Source cue navigator
Inspect source text to view cues.
Page 0 / 0
Selected cue
Apply or discard changes before selecting another cue. To fix multiple malformed cues, edit working source text directly. Add creates a one-second cue; adjust its time before exporting.
A FEW SIMPLE STEPS
How to use Subtitle Editor
Paste SRT or WebVTT, import a local subtitle file or try the sample. Check filename, size and decoding status.
Inspect the source to navigate cues and read syntax, timing and overlap notices. The editor can preview plain-text captions over optional local media.
Choose output format and the selected tool’s operation. Review any explicit format losses or split boundary rules.
Generate and inspect the actual canonical subtitle text, then download the UTF-8 file. Original source files stay unchanged.
PRIVATE BY DESIGN
Why use this tool?
Your text is never uploaded to any server; all analysis is completed locally in your browser. Subtitle parsing, cue editing, timing calculations, optional media preview and exports run with self-hosted JavaScript. No account, online processing or application history is required.
Tool inputs stay in your browser. Only your theme preference is saved on this device.
A few things worth knowing
Which formats and encodings are supported?
Text-based SRT and WebVTT with millisecond cue timestamps. UTF-8 is strict by default, with UTF-16 BOM detection; explicit UTF-16LE/BE and Windows-1252 choices are available for imports. Output is canonical UTF-8. SRT has differing legacy conventions; unsupported syntax is reported rather than silently discarded.
Is styling preserved?
Single-document WebVTT transformations retain inert header, NOTE, STYLE and REGION blocks and cue identifiers/settings; canonical export can relocate notes before cues. Preview is plain text only and ignores rich styling/positions. SRT conversion loses VTT metadata/settings/identifiers and requires explicit acknowledgment when affected. Strip markup is an optional destructive text change.
Are overlaps or short cues invalid?
Overlaps can be intentional and remain warnings. Empty cues, nonpositive durations, invalid timestamps or out-of-range times block ordinary exports. Cleaner can explicitly remove empty/nonpositive-duration cues; it never removes distinct overlapping dialogue automatically. This is a bounded syntax/timing validator, not full WebVTT conformance certification.
What are the limits?
2 MiB per file, 1,000,000 text characters per source/output, 10,000 cues in total, 8192 text characters per cue, and timeline up to 99:59:59.999. Processing is canceled after 10 seconds. Editor media preview supports local files up to 256 MiB with codecs and finite duration supported by the browser.
Does this generate, translate or burn subtitles into a video?
No. These tools edit existing text-based subtitles. They do not recognize speech, translate, OCR, process remote URLs or burn captions into a video. The editor’s local video/audio preview is optional and its original media is not included in subtitle exports.