Subtitle Preview
Processed locally in your browser — nothing is uploaded.
Quick answer
Subtitle Preview plays your local video and subtitle file together, right in the browser, so you can watch the captions in context before publishing. It loads both files with `URL.createObjectURL` and an HTML5 `<track>` element — neither the video nor the subtitles is uploaded. It is the fastest way to eyeball sync, timing and positioning, and it converts SRT to VTT on the fly so any format previews.
How to subtitle preview
Choose your video
Pick a local video file — MP4, WebM or MOV. It is loaded straight into the player via an object URL; it is not uploaded.
Add the subtitle file
Select your .srt or .vtt (or other) subtitle file. SRT is converted to VTT in the browser so the `<track>` element can display it.
Play and check
Press play and watch the captions over the video. Scrub to any point to verify sync, timing and on-screen positioning.
How does it play both files without uploading them?
Two browser features make this possible entirely on your device. URL.createObjectURL() takes the file you picked and hands back a temporary blob: URL that points at the file in memory — the <video> element streams from that local reference, never from a server. The subtitles ride along on an HTML5 <track> element, which the browser overlays on the video and keeps in sync with playback automatically. Both URLs live only in your tab and are revoked when you are done.
<video controls>
<source src="blob:…local-video" type="video/mp4" />
<track kind="subtitles" src="blob:…local-vtt" srclang="en" label="Preview" default />
</video>Why does SRT get converted to VTT first?
The <track> element has one strict rule: it only accepts WebVTT. Hand it a raw SubRip file and the captions silently never appear. So when you load an .srt, this tool converts it to VTT in memory before wiring it up — adding the WEBVTT header and switching the timestamp commas to periods — purely so the browser will render it. Nothing about your original .srt on disk changes; the VTT exists only for the preview.
What should you check in the preview?
Seeing captions on the real footage catches problems that reading the file never will:
- Sync — does each line appear exactly when the words are spoken?
- Timing — do cues linger too long or flash by too fast to read?
- Positioning — do captions sit where you expect, and clear on-screen text or faces?
- Line breaks — do two-line cues wrap sensibly, or awkwardly mid-phrase?
- Reading comfort — can you comfortably finish each line before it disappears?
| Problem you see | Likely fix |
|---|---|
| Every line is late or early by the same amount | Subtitle shifter |
| One cue is mistimed or misworded | Subtitle editor |
| Captions never appear at all | Wrong format — convert to VTT |
| Lines read too fast throughout | Timing checker |
Are my video and subtitles uploaded?
No — and here it is worth being emphatic, because a video is a large, private file. Both the video and the subtitles stay entirely local. They are opened as in-memory object URLs and played by your browser; neither is ever sent anywhere. You can prove it: open DevTools, switch to the Network tab, load a multi-gigabyte video and press play — no upload request appears, because the bytes never leave your machine. That is what makes previewing unreleased footage safe.
Related subtitle tools
Once the preview looks right, keep a real .vtt with SRT to VTT, correct a constant offset with the subtitle shifter, or fix individual lines in the subtitle editor. When everything checks out, add the subtitles to your video to burn or mux them in permanently.
Your files never leave your device
Processed locally in your browser — nothing is uploaded. You can verify it yourself: open your browser’s developer tools, watch the Network tab, and use the tool — no upload request is ever made.
Frequently asked questions
Do I have to upload my video to preview the subtitles?
No. The video is opened as a local object URL and played by your browser. It never leaves your device — you can confirm no upload happens in the Network tab of your developer tools.
Why do my SRT captions not show in some players but they work here?
The HTML5 `<track>` element only reads WebVTT. This tool converts your SRT to VTT in memory so it displays, whereas a player fed raw SRT through `<track>` shows nothing.
What video formats can I preview?
Whatever your browser can play natively — typically MP4 (H.264), WebM and often MOV. If a file will not play, its codec is unsupported by the browser, not by the tool.
Can I check the subtitle positioning, not just the words?
Yes. Because the captions render over the actual video via `<track>`, you can see exactly where each line sits and whether it clears faces or on-screen text.
Does previewing change my subtitle file?
No. The SRT-to-VTT conversion happens only in memory to satisfy the player. Your original file on disk is untouched, and nothing is saved unless you export it elsewhere.
The captions are consistently a bit late — how do I fix that?
That is a constant offset. Note how many seconds off it is, then correct the whole file at once with the subtitle shifter.
Is there a file size limit on the video?
There is no upload, so there is no server limit; the practical ceiling is your device’s memory. Because the video is streamed from a local object URL, even large files play smoothly.