Add your existing SRT captions to a video
An SRT file contains text and the times when each caption should appear. This tool reads that existing file and draws its captions into a new video recording. The exported subtitles are burned into the picture: viewers can see them even in a player without a separate subtitle track, but they cannot switch them off in the finished file.
This is not automatic speech recognition. You must supply a prepared SRT file and a compatible video. The tool does not listen to speech, translate captions or decide whether their wording is accurate. It offers a timing shift and three text-size choices, then records a locally generated WebM preview that you can review before sharing.
Prepare the video and subtitle files
Choose an MP4, WebM or MOV video that your browser can decode. It must be at most 100 MB, have a finite duration no longer than 60 seconds, and contain at most 16 million pixels per decoded frame. Both dimensions must be at least 240 pixels. File extensions describe containers; unsupported codecs can still prevent a normal-looking file from opening.
Choose a UTF-8 file ending in .srt, no larger than 1 MB. It may contain up to five hundred caption cues. A cue needs an increasing start and end time, followed by non-empty text of up to 160 Unicode codepoints. A timing line follows HH:MM:SS,mmm –> HH:MM:SS,mmm. Dot milliseconds are also accepted, but arbitrary timing syntax or extra positioning instructions are not.
Overlapping cues are rejected. This prevents the maker from silently choosing one caption while hiding another at the same moment. Correct overlaps or split captions into consecutive intervals before importing. Cue numbers are optional; the timing and text are essential. HTML-like tags are stripped and do not provide font styling, color or positioning controls.
Generate and review the captioned recording
Select Small, Medium or Large text. Their nominal sizes are 28, 36 and 44 pixels. Captions wrap within approximately eighty-five percent of the output width. Longer lines are reduced as needed to fit up to four lines; a cue that cannot fit even at the minimum size is rejected so that its text is not silently cut off.
Use Timing shift to move all cues by between minus thirty and plus thirty seconds. A positive value delays captions; a negative value makes them appear earlier. It is a uniform shift, not a correction for gradual drift. If the gap grows over the clip, repair the SRT timing separately before using this maker. At least one shifted cue must overlap the video.
Choose Keep source sound or Silent output. Create the preview and keep the tab visible until the clip ends. The recording runs in real time, so a thirty-second source generally needs approximately thirty seconds plus setup and export time. Cancel discards an incomplete recording. Changing settings after completion clears the old link and requires a new preview.
Replay the resulting video, checking an early caption, a middle caption and the final caption. Inspect whether the timing makes reading comfortable and whether a caption obscures an important object or existing text. There is no automatic subject-aware placement. Captions appear near the bottom with a translucent dark backing, regardless of what the scene contains.
Understand the output and caption appearance
The export is WebM, not MP4. A browser-supported WebM codec is chosen at runtime and the download uses the correct .webm extension. If WebM recording is unavailable, the tool explains that limitation. It does not disguise an unsupported recording as MP4 by changing the filename. A separate genuine conversion is needed for a destination accepting only MP4.
The video keeps its aspect ratio and is reduced only when its longest edge exceeds 1280 pixels. Output dimensions are rounded to even pixel values for recording compatibility. Small accepted sources are not enlarged. The source is re-encoded through a Canvas stream recorded at a requested 24 frames per second and an approximate target video bitrate of 2.5 Mbps.
Caption text is rendered using available system fonts. Hindi character shaping and emoji appearance depend on the device. SRT line breaks are joined before wrapping, and tags do not recreate the appearance of a styled subtitle project. Burned-in captions are part of the final picture; keep the original uncaptioned video and SRT if you may need to change their wording later.
Examples and common timing mistakes
For a short Hindi explanation, prepare concise captions that divide the idea into readable phrases. A caption containing a whole paragraph may technically fit within the character limit but still be uncomfortable to read in its allotted time. The tool validates syntax and drawing limits, not reading speed, grammar or the accessibility quality of the captions.
If every cue is two seconds early, a positive two-second shift delays them uniformly. If the first cue is correct and the last is noticeably late, a uniform shift will not solve the problem. Check whether the SRT came from a different edit or playback speed, then repair timing with the appropriate timing tool before burning the captions into a recording.
A caption that originally extends beyond the end of this short video appears only while the video is playing. Negative shifts can move some cues before the start. Cues completely outside the clip are not visible in the output. Review coverage near the start and end rather than assuming that importing a valid SRT guarantees every sentence will be shown. The browser recording may lack duration metadata or a seeking index understood by some players. A player can initially show an unknown or unbounded duration even though the clip contains a finite recording. If reliable seeking or a specific editing workflow is essential, inspect the saved file in the intended player and use a suitable conversion or remuxing tool when needed.
Privacy and browser troubleshooting
The custom implementation reads selected files locally, draws the captions with Canvas and records the result. It does not upload the video or SRT, call a transcription service or retain an online project history. Ordinary page resources, including advertising or analytics where enabled, may still use the network. No camera or microphone permission is required.
Use a recent browser supporting Canvas capture and WebM MediaRecorder recording. Source-sound export also needs Web Audio routing. On mobile, keep the screen awake and the page in front. For decode failures, try a compatible smaller video. For unreadable Hindi, save the subtitle file in UTF-8 rather than an older encoding. Do not claim success until you have replayed the completed result.
Related tools and reading
- Repair subtitle delay or gradual drift
- Trim a source video before captioning
- Clean Hindi caption text before preparing SRT
Review captions containing names, addresses or other private details before sharing the recorded video. How data leaks can harm ordinary people
Frequently asked questions
Does this automatically generate captions?
No. Supply an existing UTF-8 SRT. The tool does not recognize speech, translate languages or validate the accuracy of the words. It draws the text and times you provide.
Can viewers turn the captions off?
No. They are burned into the recorded video pixels, not added as a switchable subtitle track. Keep the original video and SRT for later edits or versions without captions.
Which files can I use and download?
Use a supported MP4, WebM or MOV video plus a .srt file. Video limits are 60 seconds and 100 MB; SRT is limited to 1 MB. Export is WebM only.
Why are captions early, late or missing?
Check the cue times and the uniform timing shift. Completely out-of-range cues will not appear; overlaps are rejected. Gradual drift requires repairing the subtitle timings rather than one constant offset.
Can I keep sound and use a phone?
Keep source sound routes decoded file audio into the recording. Use a mobile browser supporting WebM recording and Canvas capture, keep the tab visible, and replay the output to check sound and timing.
Are the selected files uploaded?
The tool code processes the video and SRT locally without uploading them or calling a transcription service. Other page resources can use the network. Download your result before refreshing or leaving the page.