Hold the Last Frame
Extend a clip by freezing its final frame for as long as you need — for an end card, a caption, or a beat to land.
Drag & drop your video here, or click to browse
Max file size: ~2 GB (memory permitting)
How to Use — Hold the Last Frame
Drop in the clip
Any common video file. It is read in the tab and never uploaded, so the size limit is your own memory rather than an upload quota.
Pick how long to hold
The slider runs from 0.5 to 15 seconds. The panel shows the finished length and a rough encode time before you commit to it.
Freeze the end and download
FFmpeg clones the last frame for that long with tpad, appends the same amount of silence with apad so the audio still ends with the picture, and writes an H.264 MP4.
Who uses the Freeze Frame
- Content creators preparing footage for YouTube, Instagram, TikTok, or X who need a quick fix without installing software.
- Teachers, marketers, and students who want a no-learning-curve way to handle everyday video tasks.
- Developers and editors who need a predictable FFmpeg-backed result on any machine.
Supported formats & limits
| Input containers | MP4, MOV, WebM, MKV, AVI, FLV, WMV, M4V |
|---|---|
| Input codecs | H.264, H.265, VP8, VP9, MPEG-4, MJPEG. Not AV1 — this WebAssembly build has no software AV1 decoder. |
| Output container | MP4 (default) — interoperable with iOS, Android, YouTube, Instagram, X |
| Output codec | H.264 video + AAC audio |
| Max file size | Up to ~2 GB (limited by browser memory) |
| Max duration | No hard limit — depends on file size |
| Cost | Free for any use. No signup. No watermark. |
Freeze Frame vs. the usual alternatives
| Feature | This tool | VEED (free) | Kapwing (free) | CapCut Online |
|---|---|---|---|---|
| Processing model | Runs locally in your browser | Upload-based project editor | Upload-based project editor | Upload-based online editor |
| File limits | No upload cap; practical limit is browser memory | Plan-specific upload limits | Plan-specific upload and export limits | Feature- and account-specific limits |
| Watermark on output | No watermark added | Free exports include a VEED watermark | Free exports include a Kapwing watermark | Standard edits can be watermark-free; templates/assets may add branding |
| Signup / account | No account for tools | Workspace/account flow | Workspace/account flow | CapCut account flow |
| Works offline | Yes after cache, subject to browser support | No | No | No |
| Best for | Private one-step file operations | Full editor, templates, AI tools | Collaboration, templates, AI tools | Social templates and timeline editing |
Vendor plan limits were checked on April 29, 2026 and can change by region, account state, and export option. Verify critical limits on the vendor pricing/help page before relying on them.
Why choose this freeze frame
- 100% private — your files never leave your browser, so nothing is uploaded to our servers.
- No watermark, no signup, no hidden limits. Completely free to use, for any purpose.
- Runs on top of FFmpeg compiled to WebAssembly, giving you the same results professionals get in the terminal.
- Works on desktop and mobile, on any OS — only a modern browser is required.
Frequently Asked Questions
Does it freeze the last frame, or one I choose?
The last frame, always — tpad=stop_mode=clone repeats whatever frame the clip ends on. To hold a frame in the middle, cut the clip there with the Video Splitter, freeze the first half, then join the pieces back together with the Video Merger.
What happens to the audio during the freeze?
It gets the same number of seconds of silence appended, through apad=pad_dur. tpad extends the picture only, so without that the audio would stop where the source did and the two streams would end seconds apart. Measured on a 3.00 s clip with a 3 second hold: a 6.000 s video stream and a 6.018 s audio stream, the 18 ms being AAC frame rounding at the end of the file rather than a gap, with the appended section measuring as digital silence. A clip with no audio track stays silent — there is no stream for the filter to attach to.
Why is the output always MP4 even when I upload a WebM?
A frozen tail is new frames, so there is no stream copy that can produce it — the video has to be re-encoded. That is done with libx264 at preset veryfast, with AAC audio at 160 kbps, in an MP4. Re-encoding a WebM back to VP9 in the browser would be several times slower for no benefit, so it is not offered.
How long does it take?
Roughly as long as the source clip itself at 720p. Measured in this engine on an 8.0 s 1280×720 clip: 7.7 seconds for a 2 second hold, 12.0 seconds for a 15 second hold. The hold barely costs anything because every frame in it is identical to the one before; what costs time is re-encoding the original footage. Four times the pixels is roughly four times the wait, and a phone is slower than those numbers.
Why does the slider stop at 15 seconds?
That is the slider, not the filter — tpad has no limit of its own. Fifteen seconds covers end cards, title holds and letting a beat land. Past that the file is mostly one repeated frame, and exporting a still with the Frame Extractor gives you something far smaller to work with.
Does the frozen frame look blurry?
It is an exact copy of the last decoded frame, so it is as sharp as the footage. The rest of the clip goes through one more H.264 generation, which at the default quality is not visible on normal footage but is still a re-encode — it is not lossless.