Subtitle Editor
Edit, sync and convert subtitle files in your browser - free, private, no upload.
This subtitle editor opens an SRT, VTT, SBV, ASS/SSA or plain text file, lets you fix the timing and wording against your actual video, and exports it back out in the format you need. Everything runs in your browser - your subtitle file and your video both stay on your device, and nothing is uploaded.
100% private. Your subtitle file and video stay on this device - nothing is uploaded. Undo, export and autosave all run locally in your browser.
No video loaded - the editor works without one.
Load a video to see its waveform. Drag a cue block's edges to adjust timing.
Bulk actions
Shift all timings
Scale for frame-rate drift
Fixes subtitles that start fine but drift further out of sync as the video plays.
Sync to a point
Select a cue, play the video, then press M (or the button) exactly when that cue should start. Every cue shifts to match.
Find and replace
Validation 0
Keyboard shortcuts
| Space | Play / pause |
| [ / ] | Previous / next cue |
| I | Set selected cue's start to the playhead |
| O | Set selected cue's end to the playhead |
| Ctrl/Cmd+Enter | Split the focused cue at the cursor |
| Ctrl/Cmd+M | Merge selected cue with the next |
| M (during sync) | Mark sync point |
| Ctrl/Cmd+Z | Undo |
| Ctrl/Cmd+Shift+Z | Redo |
| Ctrl/Cmd+S | Export / download |
Why use this editor
Nothing is uploaded
Your subtitle file and your video stay on your machine.
Fix timing properly
Shift, scale and sync against the actual video, not by guessing.
Catches what breaks captions
Overlaps, reading speed and line length flagged as you work.
How to edit a subtitle file
- Click Open subtitle file and choose an SRT, VTT, SBV, ASS/SSA or TXT file.
- Optionally click Open video so you can check timing against the real footage.
- Fix text and timing: edit a line directly, drag a waveform block's edges, or nudge start/end.
- Use Shift, Scale or Sync to a point to fix timing problems across the whole file at once.
- Check the validation panel for warnings, then pick a format and click Download or Copy to clipboard.
Common subtitle problems and fixes
- Subtitles are out of sync from the start: if every line is early or late by roughly the same amount throughout the video, that's a constant offset. Use Shift all timings to move everything by the same number of seconds.
- Subtitles drift further out as the video plays: if the sync looks fine early on but gets worse toward the end, that's almost always a frame-rate mismatch, not an offset. Use Scale, not Shift - the common case is a file timed for 23.976fps played against a 25fps video (or the reverse), and the editor has a preset for exactly that.
- Accented characters show as garbage: older SRT files are frequently Windows-1252 or Latin-1, not UTF-8, so letters like é, ñ or ü render as odd symbols. Use the Encoding dropdown next to the file picker to re-read the file with the correct encoding - the text updates live.
- The player won't load the file: the editor tries to repair what it can (missing sequence numbers, blank lines, backwards timestamps) rather than rejecting the file outright - check the import report for exactly which line failed and why, then fix that line and re-import.
- Subtitles overlap each other: the validation panel flags every overlap - click one to jump straight to it, then either shorten the earlier cue's end time or nudge the later cue's start.
- Text disappears too fast to read: this is a reading-speed problem - the validation panel flags any cue above roughly 20 characters per second. Either shorten the text or extend the cue's duration.
- Converting between SRT and VTT: the cue text and timing are identical - what changes is the header (VTT needs a
WEBVTTline), the timestamp separator (a comma in SRT, a period in VTT), and VTT's optional extras like cue settings and styling, which SRT doesn't support at all. - Styling is lost when converting from ASS: ASS/SSA supports fonts, colours, positioning and animation that SRT and VTT simply have no way to represent. This editor keeps your ASS style catalog intact for re-export to ASS, but inline style overrides are stripped from the plain text you edit - exporting to SRT or VTT will always be plain, unstyled text.
Got a raw recording instead of a subtitle file? Run it through the free subtitle generator first to generate captions with AI, previewed live over your video, then bring the export in here to fix the timing. Just want a plain transcript? Use audio to text instead. You can also browse all Meetrix features, or read how Meetrix's self-hosted Jitsi platform handles closed captions and live transcription.
Frequently Asked Questions
Is this free?
Yes. The subtitle editor is free to use, requires no sign-up, and there is nothing to install.
Is my file uploaded anywhere?
No. Your subtitle file and your video are read and edited entirely in your browser. Nothing is sent to Meetrix or anyone else. The video is loaded from a local file reference and is never uploaded.
Which subtitle formats are supported?
Import: SRT, VTT (WebVTT), SBV (YouTube), ASS/SSA, and plain text. Export: SRT, VTT, SBV, plain text, and ASS if your file carried ASS styling.
Do I need to load the video?
No, the editor works fully without one - you can still edit text, shift and scale timing, and export. Loading a video adds the preview, the waveform, and sync-to-a-point, which make timing work far easier.
How do I fix subtitles that drift out of sync?
A constant offset from the very start needs Shift. Subtitles that start fine but drift further out as the video plays need Scale - that is almost always a frame-rate mismatch, and the tool has a preset for the common 23.976fps/25fps case.
Why do accented characters look wrong?
Older subtitle files are frequently Windows-1252 or Latin-1, not UTF-8. The editor detects the encoding automatically, but if it guesses wrong, use the Encoding dropdown next to the file picker to re-read the file correctly.
Is my work saved if I close the tab?
Your cues autosave to this browser's local storage as you work, labelled clearly so you know it never leaves your device. Reopening the page offers to restore it. Use Clear saved work to remove it. The video file itself is never saved - only the cues.
Which browsers are supported?
Any modern browser: Chrome, Firefox, Edge, and Safari (recent versions). The waveform needs Web Audio support to decode your video's audio - if that fails, the rest of the editor still works, just without the waveform.
Does this replace a professional captioning workflow?
For a lot of real work, yes - shift, scale, sync, find-and-replace and the validation panel cover what most editors need. For volume captioning across many videos, see the CTA below about Meetrix's transcription and captioning pipelines.
Captioning at volume? Meetrix builds transcription and captioning pipelines.
For teams captioning many videos, see our self-hosted Transcriber AMI - deployed on your own AWS account, no per-file upload to a third party.
Talk to Us