Subtitle editor that works on your device
Open an SRT, VTT, ASS or SBV file, play it over your own video, and fix the text, the timing and the format in one place. Files stay in your browser.
workbench · no file open
.srt .vtt .ass .ssa .sbv
Drop a subtitle file here
Drop the video too to preview the lines over it and to set each start and end by its sound. Nothing is uploaded. No subtitle yet? Make one from the audio with transcribe.tools.
Formats it reads and writes
| Format | Timecode | Kept when saved here |
|---|---|---|
| SRT.srt | 00:01:23,450 | Italic, bold, underline, font tags |
| WebVTT.vtt | 00:01:23.450 | Italic, bold, underline |
| ASS.ass .ssa | 0:01:23.45 | Styles, actors, {\an8} and {\pos} when the file was ASS |
| SBV.sbv | 0:01:23.450 | Text only |
Reading speed and timing limits
The presets of the checker: Netflix English. Every number can be changed.
| Limit | Adult | Children’s |
|---|---|---|
| Characters per line | 42 | 42 |
| Lines per subtitle | 2 | 2 |
| Reading speed, CPS | 20 | 17 |
| Shortest on screen | 833 ms | 833 ms |
| Longest on screen | 7 s | 7 s |
| Gap between lines (2 frames at 24 fps) | 83 ms | 83 ms |
Source: Netflix Partner Help Center, English (USA) Timed Text Style Guide; Netflix Partner Help Center, Timed Text Style Guide: General Requirements; Netflix Partner Help Center, Timed Text Style Guide: Subtitle Timing Guidelines, opened .
Check a file against these limitsHow to use the subtitle editor
- 00:01
Open the subtitle
Drop an SRT, VTT, ASS or SBV file, and the video if you have it. Both stay on your device.
- 00:02
Find the offset
Pause where a line is heard, pick that line, and use the difference between the two times.
- 00:03
Shift and save
Move the lines earlier or later, check over the video, fine-tune a line’s edges on the waveform, and download.
How do I edit a subtitle file online?
Drop the file on the editor or choose it with Open subtitle. Each line appears in the list with its start and end time and its text. Pick a line to edit it in the box above the list: change the words, type a new time, split the line in two, join it with the next one, or delete it. Load the video the subtitle belongs to and the line under the playhead is drawn over the picture, so you see a change the moment you make it. When you are done, choose the format and download. Undo takes back the last change, including a whole shift or clean-up.
Which subtitle formats can I open and save?
SubRip (.srt), WebVTT (.vtt), Advanced SubStation (.ass and the older .ssa) and YouTube SubViewer (.sbv), plus plain text (.txt) for a transcript. The format is read from the content, not just the file name, so a VTT saved as .txt still opens as VTT. Older SRT files in Windows-1252 and files in UTF-16 are decoded too, so accents do not turn into “é”. Every download is UTF-8.
Can I see the subtitles over my video while I edit?
Yes. Choose Load video and pick the file from your computer or phone. The video plays from your own disk through a temporary local address; it is not uploaded and it does not need to be small. The line on screen is drawn in the lower third as a player would, and the matching row in the list is marked with a yellow bar. Click a row to jump the video to that line, or use the buttons next to the times to set a start or end at the current frame.
What can I fix besides the text?
Timing, with a fixed offset, a two-point resync, a frame-rate change or the start and end of one line set by the sound of the video; structure, by joining two files or splitting one at a time; quality, with checks for overlapping lines, gaps too small to notice, lines on screen too briefly or too long, lines too long to read and reading speed above a limit you choose, plus a fix that gives fast lines the time they need; and clean-up, removing formatting tags, sound descriptions in brackets, music notes and speaker labels from SDH captions.
Can I set a line’s start and end by the sound of the video?
Yes. Load the video and, under the picture, the editor draws its sound around the selected line as a waveform, with the start and the end of the line as two yellow edges. Drag an edge to where the speech starts or stops, click the picture to move the video to that point, or nudge an edge by 50 ms with the buttons. Snap to sound moves an edge to the nearest start or end of a sound within one second. It finds where the sound changes and does not recognise words, so check the result by ear. The sound is read in your browser and the video is not uploaded. A video over 150 MB, or one whose sound your browser cannot decode, skips the waveform and everything else keeps working.
I only have the video, not a subtitle file. Can this make one?
No. This site edits subtitles that already exist; it does not transcribe speech. To make a first draft from speech, use transcribe.tools, which runs speech recognition on your device and exports SRT or VTT. Then open that file here to correct the timing, split long lines and check the reading speed.
Questions
Is my file uploaded anywhere?
No. The page reads the file with your browser’s File API and every change is made by code running in the tab. There is no server step and no account, and nothing is saved after you close the tab, so download your work before you leave.
Does it work on a phone?
Yes. The editor stacks the player, the tools and the line list on a narrow screen. Phones play most MP4 and WebM videos; a format your browser cannot play, such as some MKV files, still lets you edit the subtitle without the preview.
Will I lose ASS styles if I edit an ASS file?
Not if you save back to ASS: the script info, the styles, the style and actor of each line and override tags such as {\an8} are kept. Saving an ASS file as SRT or VTT keeps italic, bold and underline and drops positioning and effects, because those formats cannot express them.
How large a file can I open?
A feature film has one to two thousand lines and opens instantly. The list is plain text, so even long series files stay responsive; the practical limit is your device’s memory, not the site.
Is the sound of my video uploaded to draw the waveform?
No. The browser decodes the audio of the file on your device and keeps only a list of loudness values, one for every 10 milliseconds. Nothing is sent anywhere, and closing the tab discards it.
Can I undo a change?
Yes. Undo steps back through every change of the session: an edit to one line, a shift of the whole file, a clean-up or a merge.
Is it free?
Yes. There is no sign-up, no watermark and no limit on files or downloads.
More subtitle tools
- SRT to VTTWebVTT for HTML5 players, with header and timestamps rewritten.
- Shift timingMove every line earlier or later, or only from a point on.
- Fix syncTwo-point resync and frame-rate change for drifting subtitles.
- ASS to SRTPlain SRT from ASS or SSA, with italics and line breaks kept.
- Merge and splitJoin two parts, combine two languages, or cut a file in two.
- Line length and CPSCharacters per line, reading speed and timing against your limits.
Sources
- English (USA) Timed Text Style Guide
42 characters per line, maximum two lines, up to 20 characters per second for adult programs and 17 for children’s programs, and where to break a line.
Netflix Partner Help Center. Opened on .
- Timed Text Style Guide: General Requirements
Minimum duration of 5/6 of a second per subtitle event (20 frames at 24 fps) and maximum duration of 7 seconds.
Netflix Partner Help Center. Opened on .
- Timed Text Style Guide: Subtitle Timing Guidelines
Subtitles must have a minimum of 2 frames between them, at any frame rate; gaps should be either 2 frames or half a second or more.
Netflix Partner Help Center. Opened on .
- WebVTT: The Web Video Text Tracks Format
A WebVTT file starts with the string WEBVTT; timestamps use a dot and three digits for milliseconds, and hours are optional when zero.
W3C. Opened on .
- ASS Override Tags
What \i, \b and \u (italic, bold, underline), \N (forced line break), \h (hard space) and \an (alignment) do inside an ASS line.
Aegisub documentation. Opened on .
- Supported subtitle and closed caption files
YouTube accepts SubRip (.srt), SubViewer (.sbv) and WebVTT (.vtt) among others; SBV must be plain UTF-8 and puts start and end on one line separated by a comma.
YouTube Help. Opened on .
Style limits differ between broadcasters, languages and clients; the presets are one published guide, and every limit can be changed. Your files never leave your browser.