Reverse any video to play from end to start. Option to reverse audio too or mute. Create unique visual effects, boomerang videos, and creative content. Instant preview.
Play any video backward. Upload a clip, and the Video Reverser produces an output where every frame plays in reverse order. Audio can be reversed along with the video or muted entirely. Great for creative effects, comedic content, or analyzing motion in reverse.
Initializing in your browser…
Rotate videos 90°, 180°, 270° or flip horizontally/vertically. Fix sideways videos, create mirror effects. Quick presets for portrait-to-landscape and selfie mirror fix.
Trim and cut videos precisely with frame-by-frame scrubbing. Set start/end points visually, preview clips in real-time, and export trimmed videos instantly. No upload required - runs 100% in browser.
Convert videos between MP4, WebM, OGG, MOV, AVI, and MKV formats. Device presets for YouTube, Instagram, TikTok, iPhone, Android. Quality options from fast to high quality encoding.
You want a satisfying reverse of a pour shot for a social clip.
Input
pour.mp4 · reverse video · reverse or mute audio
Output
A backwards-playing clip, audio handled to taste
Frames are reordered end-to-start; reversed audio usually sounds odd, so muting or replacing it is offered. It is the one-click route to a common, eye-catching effect.
Play any video backward. Upload a clip, and the Video Reverser produces an output where every frame plays in reverse order. Audio can be reversed along with the video or muted entirely. Great for creative effects, comedic content, or analyzing motion in reverse.
Create visually striking reverse-motion clips for music videos, social media posts, or artistic projects.
Watch sports plays, dance choreography, or mechanical movements in reverse to study technique.
Video Reverser runs FFmpeg compiled to WebAssembly (ffmpeg.wasm) entirely in your browser, so the clip is never uploaded. The reversal helper (reverseVideo) first probes the file by running 'ffmpeg -i' and parsing the Duration line from the log, then branches on length. Clips of 10 seconds or less are reversed in a single pass with the FFmpeg filter chain '-vf reverse' (and '-af areverse' when you keep audio, or '-an' when you mute), encoded with libx264 at '-preset ultrafast -crf 23' and '-movflags +faststart'. Because the 'reverse' filter must buffer the entire stream to emit the last frame first, this whole-clip-in-memory approach is why reversing is the most memory-intensive operation in the toolbox (its processing-time estimate is 4 seconds per megabyte, versus ~0.1 for stream-copy trims).
For clips longer than 10 seconds, or whenever the single-pass attempt aborts with an out-of-memory error, the tool falls back to a segmented strategy: it splits the source into 5-second chunks (SEGMENT_DURATION = 5), extracts each with a fast '-ss/-t -c copy' stream copy, reverses each chunk individually with the same libx264/AAC settings, and then concatenates the already-reversed chunks in reverse order via FFmpeg's concat demuxer ('-f concat -safe 0'). This keeps peak memory bounded to one segment at a time so long or high-resolution videos that would otherwise crash the WebAssembly heap can still finish. Multi-threaded FFmpeg (@ffmpeg/core-mt 0.12.6) is used when your browser is cross-origin isolated and exposes SharedArrayBuffer; otherwise it transparently loads the single-threaded core.
Two behaviors are worth understanding before you export. First, audio: choosing Reverse Audio applies areverse so the soundtrack plays backward (musical and ambient sound can be a deliberate creative effect, but spoken dialogue becomes unintelligible), while Mute Audio drops the track entirely with '-an'. Second, and importantly, the Output Speed slider (0.25x-4x) and the creative presets (Boomerang, Dramatic, Quick Loop) only drive the in-browser reverse preview, which is animated with requestAnimationFrame by stepping video.currentTime backward; they are not passed into reverseVideo, so the downloaded file is always a straight reversal at the original playback speed and is never a true forward-then-reverse boomerang. The output reuses your input's container extension and filename (saved as name_reversed.ext) but is always re-encoded to H.264 video and AAC audio regardless of the source codec.
The output keeps the same container as your upload (for example MP4 stays MP4). The video is re-encoded with H.264 and, when you keep audio, AAC, then downloaded as filename_reversed with the original extension.
Yes. It uses ffmpeg.wasm (FFmpeg compiled to WebAssembly) running locally in your browser, so your video is never uploaded to a server. It uses multi-threaded FFmpeg when your browser supports it and falls back to single-threaded otherwise.
Both. Choosing Reverse Audio plays the soundtrack backward, which often sounds unusual, while choosing Mute Audio removes the audio track from the output entirely.
There is no fixed limit, but processing happens in browser memory. Clips up to 10 seconds are reversed in one pass, and longer videos are split into 5-second segments and reassembled, so very long or high-resolution files take more time and memory and may strain low-memory devices.
Video is decoded and re-encoded on your own device. Large files never leave your machine.