Free Video Speed Changer

Speed up or slow down your videos. Preview in real-time, then export the modified video. No upload, no sign-up.

Your files never leave your device

What changing video speed actually does

Speeding up or slowing down video is conceptually simple: each frame's presentation timestamp (PTS) is recomputed by the speed factor. At 2x, a frame that was meant to show at the 4-second mark now shows at the 2-second mark. At 0.5x, the 4-second frame shows at the 8-second mark. The pixel data inside each frame is unchanged; only when each frame appears changes. This is why pure speed change is fast: no pixel re-encoding required to alter the timeline, just rewriting frame timestamps. The tool re-encodes anyway because the audio track typically needs adjustment, and to ensure the output is a valid MP4 with consistent timestamps.

Audio is trickier. Naive speed change makes audio sound like a tape played at the wrong speed: faster makes voices chipmunk-pitched and higher, slower makes them sluggish and lower. The pitch shifts because the same number of audio samples plays over a different duration. Pitch correction (the option enabled by default in this tool) uses time-stretching algorithms like PSOLA (Pitch-Synchronous Overlap-Add) or phase vocoding to change duration while preserving pitch. The result sounds natural at modest speed changes (0.5x to 2x); at extreme settings (4x or 0.25x) some artifacts become audible. Without pitch correction, the audio just shifts pitch like an old tape effect, which can be the desired effect for comedic or creative use.

True slow motion needs source frames. A 30 fps source slowed to 0.5x stretches over twice the duration but still has only 30 frames per original second of footage. Output ends up at 15 displayed frames per second, which looks stuttery. For smooth slow motion, the source must be shot at high frame rates: 60 fps slowed to 0.5x gives smooth 30 fps; 120 fps slowed to 0.25x gives smooth 30 fps. Phone cameras now record at 240 fps in slow-mo modes specifically for this reason. The tool faithfully presents whatever frames the source has; it does not interpolate new frames (which would require AI tools like Topaz Video AI or Twixtor).

How this tool works under the hood

Same ffmpeg.wasm engine as the other video tools: FFmpeg compiled to WebAssembly via Emscripten, ~30 MB browser-side binary, runs entirely in the tab via SharedArrayBuffer multi-threading. When you drop a video, the file is read into the WebAssembly virtual filesystem via a streaming reader.

The speed command FFmpeg runs uses the setpts filter for video and atempo for audio. For 2x speed: -vf "setpts=PTS/2" -af "atempo=2". For 0.5x speed: -vf "setpts=PTS*2" -af "atempo=0.5". The atempo filter handles pitch-corrected time-stretching using a phase-vocoder-style algorithm. For speeds outside its native range, FFmpeg chains multiple atempo filters: 4x becomes atempo=2,atempo=2; 0.25x becomes atempo=0.5,atempo=0.5.

The browser's real-time preview uses the HTML5 video element's playbackRate property, which the browser applies for playback only; the underlying file isn't modified. When you click Export, the tool sends the source file to ffmpeg.wasm with the appropriate filter graph, which produces a new file with the speed change baked in. Progress messages stream from FFmpeg's stderr and update the on-screen progress bar in real time. The output file plays at its new natural duration on any device, no special player support needed.

Brief history of video speed manipulation

How It Works

  1. Upload your video: Select or drop a video file (MP4, WebM, MOV) you want to change the playback speed of.
  2. Set the speed: Choose a speed multiplier (0.25x (slow motion) to 4x (fast forward)) or enter a custom speed.
  3. Export the video: Click Process and download the speed-adjusted video file.

Why Use Video Speed Controller?

Changing video playback speed is a common editing need, creating slow-motion highlights, speeding up tutorials, making timelapse from long recordings, or adjusting the pace of a talking-head video. Most video editing tools that offer speed adjustment are complex and require installation. This browser-based speed controller processes your video locally and exports a properly speed-adjusted file without requiring any software.

Features

Real-world speed-change workflows

Common pitfalls and what they mean

Privacy: your video never leaves your device

Cloud video speed services (Kapwing, Clideo, Online Video Cutter, dozens more) all upload your full video, run FFmpeg on their hardware, and send back the speed-adjusted result. For a 200 MB phone video that's 200 MB up plus 50 to 200 MB down through their infrastructure. Video content commonly includes faces, locations, audio of conversations, GPS-tagged scenes, screen recordings of private interfaces. Most operators publish privacy policies committing to delete uploads within 1 to 24 hours and encrypt in transit, and major ones hold ISO/IEC 27001 certifications. They have strong business reasons to honor those policies. But "deleted within an hour" is not "never seen." During that window the file sits on operator infrastructure, accessible to any process or person with the right permissions, visible in logs and backups per the operator's retention policy.

This tool never uploads anything. The full pipeline (file selection, decoding via browser-native readers, speed adjustment via ffmpeg.wasm WebAssembly, download via the browser's blob API) runs inside your browser tab. No uploads, no network requests carrying video data, no log entries. You can verify by opening browser dev tools on the Network tab before processing: no requests leave with video content. Only the initial page load and the one-time roughly 30 MB ffmpeg.wasm download (cached for subsequent visits) touch the network. Put the browser in airplane mode after page load and the speed changer still works on local files.

When another tool is the right pick

Frequently Asked Questions

What happens to audio when I change the speed?

By default, audio pitch rises when sped up and drops when slowed down (like a tape effect). Enable the pitch correction option to maintain natural-sounding audio regardless of speed, similar to professional video editing software.

Can I create slow motion video?

Yes, set the speed to 0.25x or 0.5x to create slow motion. For true smooth slow motion, the source video needs a high frame rate (60fps or 120fps). Slowing down 30fps footage creates a stuttery effect because there aren't enough frames to fill the extended duration.

Is there a quality loss when changing speed?

The video frames themselves are not re-encoded at different qualities, speed change affects timing only. However, any re-encoding step involves some generation loss. At high quality settings, the loss is imperceptible.

Other frequently asked questions

Why does my 0.5x slow motion look stuttery?

Because slowing 30 fps source video to 0.5x gives 15 displayed frames per second, below the 24 fps threshold where the eye perceives smooth motion. For smooth slow motion, the source must be recorded at high frame rate (60 fps gives smooth 30 fps when slowed to 0.5x; 120 fps gives smooth 30 fps when slowed to 0.25x). The tool can't invent intermediate frames; that requires AI frame interpolation (Twixtor, Topaz Video AI's Apollo/Chronos models, RIFE).

What's the difference between pitch-corrected and uncorrected audio?

Without pitch correction, speeding up audio raises its pitch (chipmunk effect) and slowing it lowers pitch (demon voice). This is what happens when a tape is played at the wrong speed: the same audio samples are output at higher or lower frequency. With pitch correction (the default), an algorithm like phase vocoding or PSOLA changes duration while keeping pitch constant, so voices and music sound natural at the new speed. Uncorrected is faster to compute and useful for comedic effect; corrected sounds professional.

Will the output file be larger or smaller than the original?

Roughly proportional to the duration change. At 2x speed, output duration is half the original, so file size is roughly half (slightly more because of re-encoding overhead). At 0.5x, output is double duration and roughly double size. The bitrate stays similar; what changes is total bytes because of the duration. Re-encoding adds a small overhead (typically 5 to 10%) that depends on encoder preset and CRF.

Can I apply different speeds to different parts of the video?

Not directly in this tool. The tool applies one constant speed across the whole clip. For "speed ramping" (smoothly transitioning between speeds, common in sports highlights where action slows down for a key moment) you need a desktop video editor with keyframed speed curves: DaVinci Resolve, Premiere Pro, Final Cut Pro. As a workaround, you can trim the source into segments, speed-change each separately, and concatenate them, but the result will have hard cuts rather than smooth transitions.

Is there a desktop or command-line equivalent?

Yes. FFmpeg CLI: ffmpeg -i input.mp4 -vf "setpts=PTS/2" -af "atempo=2" output.mp4 for 2x speed, swap to setpts=PTS*2 and atempo=0.5 for 0.5x. HandBrake doesn't directly offer speed change in its GUI (use FFmpeg or an editor instead). DaVinci Resolve has a Speed Change effect with full control. All produce essentially the same output as this browser tool because they share FFmpeg or similar speed-change algorithms underneath.

Does this work for time-reversed (backwards) playback?

Not this tool. Reversing video requires reading all frames into memory and outputting them in reverse order, which is a different operation from speed change (memory-heavy and bounded by frame count). For reverse playback, FFmpeg CLI offers -vf reverse and -af areverse, but it's memory-intensive on long clips. Some desktop video editors offer reverse as a single click.

Drop a video file here or click to browse

MP4, WebM, MOV, AVI · up to 500 MB

Related Tools