gizmobench

Video Reverser

Open a video, choose the part to play backwards and download the reversed copy, made in this browser tab with the codecs your browser already has. Each frame keeps its own length in reverse, so a phone clip recorded at a variable frame rate keeps its rhythm, and the result runs as long as the part you chose, checked to one frame on the finished file. The sound can be reversed sample for sample or left out: Muted writes no sound track at all rather than a silent one. Frames are decoded a short window at a time from the end of the part back, so a two-minute clip never has to sit in memory all at once, and an unsupported codec is refused with the reason before any work starts.

Open a video to reverse

· or drop one anywhere on the stage

Never uploadedNo accountUp to 100 MBUp to 2 minutes
Interval
tos
Frames
none yet
Audio
Format
Output
none yet

Ready. Choose a video, or drop one on the stage.

  • A fixture displaying 1,2,3 in equal intervalsthree frames, 0.500 s each
    exports 3,2,1, each still 0.500 s: 1.500 s in total
  • Audio reversed, then mutedstereo, 5.500 s at 48 kHz
    reversed: 264,000 samples a channel in reverse order; muted: no sound track at all
  • Variable-frame-rate input300 frames, 10.000 s, frame lengths vary
    each of 300 frames keeps its own length (30.0 to 40.0 ms) in reverse: 10.000 s in total, checked to one frame on the finished file

Choose the part to reverse by typing a start and an end, or by playing the original and pressing Start here and End here; Play original plays that part forwards. The times move out to whole frames: the start back to the start of the frame showing then, the end on to the end of the frame showing just before it. Reverse writes that part last frame first, each frame for exactly as long as it lasted, so a variable-frame-rate phone clip keeps its own rhythm. The picture is written upright at the size it plays at, with any rotation flag applied, and a side of odd length loses one pixel because the encoders need even sides. Reversed sound is the source's samples in reverse order, encoded at 128 kbps: an MP4 gets AAC at 44.1 or 48 kHz as the source had it, or 48 kHz otherwise, a WebM gets Opus at 48 kHz, and more than two channels are mixed down to stereo. Muted leaves the sound track out of the file entirely rather than writing a silent one. Frames are decoded a window at a time from the end of the part back, at most 60 frames or 256 MB of pictures a window, and each window is released before the next is decoded. Only codecs this browser can decode and encode are used: every format is listed, and one this browser cannot write is refused with the reason as soon as it is chosen, before any work starts. When the work ends, the file is read back: its container, codecs, picture size and sound track must match the plan or it is not offered, and its length and where its sound starts are measured, not predicted.

Accuracy. Frames come out in exact reverse order and each keeps its own length, and the finished file is read back to measure its length against the part you chose, to one frame. Reversed sound is the source's samples in reverse order, resampled or mixed down to stereo only where the output format needs it, and Muted leaves the sound track out entirely. Only codecs your browser can decode and encode are used, anything else is refused with the reason before work starts and never sent to a server, and files up to 100 MB and two minutes are re-encoded on your device a short window at a time, which can cost some quality.
The encoding is done by your browser, and the file handling by one open source library served from this site. Containers are read and written by Mediabunny 1.55.7 under the MPL-2.0 (licence text, the exact package, source), bundled unmodified. Video and sound are decoded and encoded by the WebCodecs codecs built into your browser, which is why the formats on offer depend on it.

Common questions

How do I reverse a video without uploading it?
Open it here. Your browser reads the file, decodes the frames of the part you chose, and this page writes them last frame first through your browser's own WebCodecs encoder, then hands the file back as a download. Nothing is sent to a server, and there is no account.
Can I reverse just part of a video?
Yes. Type a start and an end in seconds (or as minutes and seconds, like 1:05.5), or play the original and press Start here and End here. The times move out to whole frames, so every frame on screen between them is included: 2.000 s to 7.500 s of a 30 fps clip is frames 61 to 225, 165 frames lasting 5.500 s. Whole clip sets the part back to the entire video.
Does the sound play backwards too?
With Reversed, the sound is the source's own samples in reverse order: 5.500 s of 48 kHz stereo is 264,000 samples a channel, played last to first. An MP4 gets AAC at 128 kbps, at 44.1 or 48 kHz as the source had it or 48 kHz otherwise, and a WebM gets Opus at 128 kbps and 48 kHz; more than two channels are mixed down to stereo. Muted leaves the sound track out of the file entirely. If your browser cannot decode the sound, or it has more than 8 channels, Reversed is refused with the reason and Muted still works.
Will the reversed video have the same length and frame rate?
Each frame is shown for exactly as long as it was in the original, just in the opposite order: three frames of 0.500 s come out as 3, 2, 1, each still 0.500 s. A phone clip whose frame lengths vary keeps every frame's own length, so the total matches the part you chose. The finished file is read back and its length is compared with that part to one frame (the part's length divided by its frame count), and the result says whether it landed within that or by how much it missed.
Why does my phone video come out the right way up?
Phones often store video sideways with a rotation flag that players follow. This page applies the flag to the picture, so the reversed file is written upright at the size the original plays at and carries no flag. H.264 and the other encoders need even sides, so a side of odd length loses one pixel.
Which formats can it open and save, and how big can the video be?
It reads MP4, MOV, WebM, MKV and MPEG-TS, as long as your browser can decode the video inside, and refuses AVI, MPG, WMV and FLV by name. It writes H.264 or HEVC in an MP4, or VP9, VP8 or AV1 in a WebM, and asks your browser whether it can encode that codec at the video's size before any work starts. Videos up to 100 MB and two minutes are reversed, with frames up to 4096 px a side and 9,437,184 pixels, so 3840 x 2160 fits.
Does reversing a video lower its quality?
The picture has to be re-encoded, because the frames are written again in a new order, so some quality can be lost. It is encoded at a high quality setting, and reversed sound is encoded at 128 kbps.
Why does reversing take a while, and can I stop it?
Video decodes forwards only, so the page decodes a window of frames from the end of the part back, at most 60 frames or 256 MB of pictures at a time, writes them last first and releases them before decoding the window before it. A window starts on a key frame where one is in reach; when key frames are far apart, some frames are decoded more than once. Cancel stops the decoders and encoders, and nothing is written.

Frames come out in exact reverse order and each keeps its own length, and the finished file is read back to measure its length against the part you chose, to one frame. Reversed sound is the source's samples in reverse order, resampled or mixed down to stereo only where the output format needs it, and Muted leaves the sound track out entirely. Only codecs your browser can decode and encode are used, anything else is refused with the reason before work starts and never sent to a server, and files up to 100 MB and two minutes are re-encoded on your device a short window at a time, which can cost some quality.