Video Freeze Frame

Freeze the last frame of a video or hold any specific moment for a set duration

Hold a Single Frame in Place for a Few Seconds

This tool inserts a still pause into a video by cloning one frame and holding it for a duration you set, then letting the footage continue normally. Under the hood it builds an ffmpeg filter graph around tpad when freezing the ending: tpad's stop_mode=clone repeats the final frame for stop_duration seconds, extending the video without touching anything before it. Freezing at a mid-video timestamp is more involved, since ffmpeg has no single filter for that: the clip is split into three pieces with split=2, the middle piece is trimmed down to a single frame with trim and held with the same tpad clone trick, and the three segments (before, frozen, after) are stitched back together with concat. It's the kind of effect you'd reach for on a reaction video punchline, a dramatic beat before a reveal, or the freeze-frame narration moment sports highlight reels use before cutting to the next play.

Because the mid-video path relies on trim/concat rather than a straightforward re-mux, it re-encodes the video track with libx264 and drops the fine-grained audio track from that branch (the end-of-video freeze keeps audio via -map 0:a?, matching audio to video when present). Everything runs through ffmpeg.wasm in the browser tab itself, so the source file is never sent anywhere. There's no server round-trip and no account gate; the tradeoff is that longer clips or a timestamp deep into a long file take noticeably longer to process, since the concat path has to decode and re-encode three separate segments rather than one continuous stream.

How to Use

  1. 1

    Drop in a video file

    MP4, WebM, MOV, MKV, and AVI containers are all read the same way before processing starts.

  2. 2

    Pick where the freeze happens

    'Freeze last frame' clones the final frame using tpad. 'Freeze at timestamp' splits the clip at a point you choose and holds that exact frame instead.

  3. 3

    Enter the timestamp, if applicable

    For a mid-video freeze, type the exact second (supports decimals) where playback should pause.

  4. 4

    Set how long the frame holds

    The duration slider covers 1 to 30 seconds, added on top of the original runtime.

  5. 5

    Process and download

    The output is an MP4 with the freeze spliced in; playback resumes normally right after the held frame.

Key Features

  • →A last-frame freeze is the cheaper operation: it's a single tpad filter, so it processes faster than a mid-video freeze which needs a full split/trim/concat pass.
  • →Freezing partway through drops the audio on that branch of the filter graph in this implementation; a last-frame freeze keeps audio throughout via -map 0:a?.
  • →Adding a freeze always makes the video longer: a 20-second clip with a 4-second hold becomes 24 seconds.
  • →For a dramatic slow-to-stop feel, pair this with the Video Speed tool first, then apply the freeze at the very end of the slowed section.
  • →A 2-3 second hold reads as a natural pause in most reaction or highlight content; 30 seconds is really meant for title-card-style endings.
  • →If the timestamp lands within a few frames of the very end, use 'Freeze last frame' instead, it's simpler and avoids an off-by-a-frame seam.

Frequently Asked Questions

What ffmpeg technique actually holds the frame in place?

For an end-of-video freeze, the tpad filter with stop_mode=clone repeats the last decoded frame for the number of seconds you set. For a mid-video freeze, the clip is split into a before/frozen/after trio with split and trim, the middle segment is held with the same tpad clone approach, and concat joins the three pieces back into one output.

Does freezing a frame in the middle keep the original audio?

In the current implementation, no. The mid-video freeze path maps only the reconstructed video stream. If you need the audio track intact, freeze the last frame instead, since that path explicitly maps the original audio with -map 0:a?.

Why does a mid-clip freeze take longer to process than an end freeze?

The end-of-video version is one filter applied once. The mid-video version has to decode the source three times over (before, held frame, after) and re-encode them as a single concatenated stream, which is inherently more work for ffmpeg.

Can I chain a freeze with other effects like speed changes?

Yes, just run them as separate passes: apply the speed change first, download that result, then upload it here to add the freeze. Each EzyIMG tool works on whatever file you feed it, so chaining tools is just a matter of order.

Is there a limit to how long I can hold the frame?

The slider caps at 30 seconds, which covers title-card and outro-style holds. There's no server-side limit since everything runs in ffmpeg.wasm locally, but very long holds combined with large source files will take proportionally longer to encode.

Last updated: June 2026

Related Tools