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.

🔒 100% Private — no upload🧊 0.5s – 15s hold🔇 Audio padded with silence
🎬

Drag & drop your video here, or click to browse

Max file size: ~2 GB (memory permitting)

How to Use — Hold the Last Frame

1

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.

2

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.

3

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 containersMP4, MOV, WebM, MKV, AVI, FLV, WMV, M4V
Input codecsH.264, H.265, VP8, VP9, MPEG-4, MJPEG. Not AV1 — this WebAssembly build has no software AV1 decoder.
Output containerMP4 (default) — interoperable with iOS, Android, YouTube, Instagram, X
Output codecH.264 video + AAC audio
Max file sizeUp to ~2 GB (limited by browser memory)
Max durationNo hard limit — depends on file size
CostFree for any use. No signup. No watermark.

Freeze Frame vs. the usual alternatives

FeatureThis toolVEED (free)Kapwing (free)CapCut Online
Processing modelRuns locally in your browserUpload-based project editorUpload-based project editorUpload-based online editor
File limitsNo upload cap; practical limit is browser memoryPlan-specific upload limitsPlan-specific upload and export limitsFeature- and account-specific limits
Watermark on outputNo watermark addedFree exports include a VEED watermarkFree exports include a Kapwing watermarkStandard edits can be watermark-free; templates/assets may add branding
Signup / accountNo account for toolsWorkspace/account flowWorkspace/account flowCapCut account flow
Works offlineYes after cache, subject to browser supportNoNoNo
Best forPrivate one-step file operationsFull editor, templates, AI toolsCollaboration, templates, AI toolsSocial 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.

Related Tools