Rotate a video
Rotate sideways phone footage 90° or 180°. The instant path just rewrites the rotation flag; the bake-in path redraws every frame. Nothing is uploaded.
- Runs in your browser
- Files are never uploaded
- Free, no account
First use downloads the 10 MB video engine from this site. After that it is cached and works offline. It is WebAssembly served from onthisdevice.com — no third-party CDN — and your file is still processed entirely on your own device.
Why phone video ends up sideways
A phone camera sensor is wired in one orientation and always records landscape frames. When you hold the phone upright, the camera app does not turn the picture — it records the same landscape frames and writes a rotation flag into the file saying "display this turned 90 degrees". Your photo app reads the flag and shows the video the right way up, so everything looks fine until the clip meets software that ignores it.
Plenty of software does ignore it: old media players, some upload forms, several web video pipelines, more than a few TVs. The footage is not damaged. The instruction attached to it is simply being thrown away.
Two ways to fix it, and when to use each
| Rewrite the rotation flag | Bake it into the pixels | |
|---|---|---|
| What changes | One metadata field | Every frame is decoded, turned and re-encoded |
| Speed on a 2 GB file | Seconds | Around real time |
| Quality | Untouched — bit-for-bit identical | One generation of H.264 loss |
| Works in | Anything that honours the flag | Everything, without exception |
| Container support | MP4, MOV, 3GP only | Any input; the output is MP4 |
The sensible order is: try the flag first, since it is free and lossless. If the app that was misbehaving still shows the video sideways, come back and bake it in — at that point there is no flag left for anything to ignore.
Which way should I turn it?
- 90° clockwise — the picture currently lies with its top on the left. This is the usual fix for a phone held with the volume buttons upward.
- 90° counter-clockwise — the top of the picture is on the right.
- 180° — the video is upside down, which usually means the phone was held the other way up, or the clip came from a dashcam or action camera mounted inverted.
The live preview above the button applies the rotation with CSS, so you can confirm the direction before spending any time on it.
A quarter turn swaps the resolution
Rotating 90 degrees turns 1920×1080 into 1080×1920 — the pixels are the same, the shape is not. The tool shows the exact output dimensions before you start. A 180° turn leaves the dimensions unchanged.
Rotating is not mirroring
If your problem is that text in the frame reads backwards, or that a selfie recording feels the wrong way round, rotation will not help — that is a mirror, and it is fixed on the flip video page. Rotation only turns the frame; it never reverses left and right.
Nothing leaves your device
The whole operation runs in this tab through FFmpeg compiled to WebAssembly. That matters here more than it sounds: the files people rotate are personal recordings, and the flag-only path in particular means a multi-gigabyte holiday video is fixed in seconds without ever being copied anywhere, queued behind anyone, or held on a server for an hour "for your convenience".
Questions
Why is my video sideways in the first place?
Phones always record landscape frames and add a rotation flag saying how to display them. Photo apps honour that flag; a surprising number of upload forms, editors and TVs ignore it, so your portrait clip arrives on its side. Nothing is wrong with the footage — only with how it is being read.
What is the difference between the two methods?
Rewriting the flag copies the audio and video streams untouched and changes one metadata field, so it finishes in seconds even on a 2 GB file and loses nothing at all. Baking it in decodes every frame, physically turns it and re-encodes, which is slower and slightly lossy but survives any player, however old.
Which one should I pick?
Start with the flag. If the video is still sideways in the app that was misbehaving, come back and bake it in — that always works, because there is no flag left to ignore.
Why is the flag option unavailable for my file?
A rotation flag only exists in MP4, MOV and 3GP containers. WebM, MKV and AVI have no equivalent, so those files are always baked and the result comes out as an MP4.
Does rotating change the resolution?
A quarter turn swaps width and height — 1920×1080 becomes 1080×1920. A 180° turn leaves the dimensions alone. The exact result is shown before you press the button.