About stabilize.video
Most of the video people film is handheld. Phones are always with us, but arms get tired, feet keep walking, drones catch the wind and cars find every pothole. The moment is worth keeping; the jitter isn’t. Too often, a good result has meant a desktop editor and its learning curve, an upload to somebody’s server, or a one-button app that gave no say over how much of the picture it cropped away.
stabilize.video exists to do the job properly in the browser you already have: the controls a video editor would expect, with plain names, working on your own device so your footage never travels anywhere. It is an independent, self-funded project with no investors and no advertising.
What it does
- Opens the clip straight from your device: phone videos, action-camera and drone footage, screen recordings and most other formats.
- Measures how the camera moved between every pair of frames, and plans the path it should have taken.
- Starts from one of twelve presets for how the clip was filmed, from Walking and Vehicle to Tripod and Jelly fix, and lets you change the Camera style, Smoothness, Zoom limit, Framing and much more under More options.
- Straightens the lean and wobble of a rolling shutter, and can keep the whole frame with Full frame instead of zooming in.
- Shows the result next to the original, with the shake reduction and the zoom it used, before anything is saved.
- Saves a steady MP4 or WebM with the original sound, or a before-and-after video to share.
How it works
The page is a static web app; nothing about your video is computed anywhere but in your browser. When you open a file, it is read with the WebCodecs API and the open-source mediabunny library, and a longer clip is split into parts that background workers analyse at the same time, up to six at once, one per spare processor core.
Tracking. Each frame is reduced to a small greyscale copy on your graphics chip. A few hundred distinct corners spread across the picture are followed into the next frame with a pyramidal optical-flow tracker, then followed back again, and points that don’t make the round trip are discarded. A robust fit (RANSAC, followed by a refinement that down-weights stragglers) finds the camera movement the most points agree on, so objects moving through the scene count for less than the background. Changes of shot are detected along the way.
Planning. The measured movements add up to the camera’s real path. An optimiser then finds a smoother one, separately for left–right, up–down, rotation and zoom, under one rule: the picture may never need more zoom than you allow. Smooth paths come from a least-squares fit; Cinematic paths from an L1 fit, which prefers holding still and moving in straight lines; Locked keeps one position per shot. The same step estimates your sensor’s rolling-shutter readout from the motion and works out the zoom for every frame. It is fast enough to run again each time you move a control, so the preview follows without a new analysis; only changing Analysis or Ignore an area measures the clip again.
Rendering. Your graphics chip, through WebGL2, moves every frame onto the new path with high-quality resampling, shifts its rows to undo the rolling shutter, bends small regions when the Warp correction is on, and fills any gap at the edges. For the export, the frames are drawn the same way and encoded by the browser’s own video encoder, in several chunks at once where that is faster, then joined into one file, and the sound is copied across untouched whenever the format allows. Formats the browser can’t read (AVI, WMV, MTS and others) are converted on your device first by an open-source converter that loads only when it’s needed.
What it can’t do
A stabiliser can only move frames, and it is better to know its limits before you rely on one:
- Motion blur from a fast shake is inside each frame and stays there.
- Steadying exposes the frame’s edges, so the picture is either zoomed in slightly or the gaps are filled; nothing recovers what was outside the shot.
- Near and far objects move differently as the camera moves, and very strong parallax can’t be held completely still.
- Clear sky, fog, water, night scenes and crowds give the tracker less to hold on to.
- It works from the picture alone: it doesn’t read gyroscope or lens data, and it isn’t AI.
- HDR and 10-bit footage is saved as standard 8-bit video, and very long 4K clips can be too much for a phone.
Our promises
- Your footage stays on your device from the moment you open it to the moment you save the steady copy.
- It costs nothing. There’s no watermark on the result, no account to create, no premium tier and no cap on how many clips you steady.
- We never quote speeds or results we haven’t measured, and the guides say plainly when another tool would serve you better.
- There are no adverts. The measurement tools we do use are listed on the privacy page, and Google Analytics turns off with one click in the footer’s Cookie settings.
Who it’s for
Parents filming a first bike ride, travellers with walking tours on their phones, cyclists and skiers with helmet cameras, drone pilots on a breezy day, estate agents with handheld walk-throughs, video editors who want a second opinion on a stubborn clip, and anyone who has watched a clip back and wished they’d brought a tripod.
Get in touch
Found a clip that won’t open, a result that wobbles, or an idea? The contact page has the address.