How to rotate a video 90 degrees in your browser
- Step 1Drop the sideways clip onto the rotator — Drag in an MP4, MOV, MKV, WebM, AVI, M4V, or TS file, or click to browse. The clip is read into the in-browser FFmpeg.wasm sandbox — it is not uploaded anywhere.
- Step 2Read the source dimensions — The file row shows size, duration, and resolution (e.g.
1920×1080) once the hidden probe finishes. That tells you which way it is currently oriented before you pick an angle. - Step 3Pick the rotation angle — Open the Angle dropdown and choose 90 (clockwise), 180 (flip upside-down → right way up), or 270 (counter-clockwise). 90 is the default and fixes most phone clips held with the home button on the right.
- Step 4Run the rotation — Click Run Rotate. JAD applies the matching
transposechain, re-encodes the video at CRF 20, copies the audio, and resets the rotation flag to 0. A 30-second 1080p clip finishes in seconds; multi-GB files scale with length. - Step 5Confirm orientation in the preview — Check the result — a 90° or 270° rotation will have swapped width and height (portrait ↔ landscape). If you picked the wrong direction, hit Start over and choose 270 instead of 90 (or vice-versa).
- Step 6Download the MP4 — Download the rotated MP4. Because
rotate=0is written into the container, the file is upright everywhere — no need to warn the recipient which player to use.
What each angle does
The Angle dropdown exposes exactly three values. Each maps to a specific FFmpeg transpose chain in runRotate.
| Angle | Direction | FFmpeg filter | 1920×1080 input becomes |
|---|---|---|---|
| 90 (default) | Clockwise quarter-turn | transpose=1 | 1080×1920 (portrait) |
| 180 | Upside-down → upright | transpose=2,transpose=2 | 1920×1080 (unchanged) |
| 270 | Counter-clockwise quarter-turn | transpose=2 | 1080×1920 (portrait) |
Input and output reality
Verified against the rotator's processor and client. The tool always produces an H.264 MP4, regardless of input container.
| Property | Value | Notes |
|---|---|---|
| Accepted input | MP4, MOV, MKV, WebM, AVI, M4V, TS | Anything else is rejected at the dropzone |
| Output container | MP4 (always) | An MKV or WebM source still exits as MP4 |
| Video codec out | H.264 (libx264, preset medium, CRF 20) | Re-encode — not a metadata-only flag |
| Audio | Stream-copied (-c:a copy) | Bit-identical, original codec preserved |
| Rotation flag | Reset to rotate=0 | Prevents players from double-rotating |
| Free tier cap | 1 GB / 1 file | Pro 10 GB / 5, Pro+Media 100 GB / 50 |
Cookbook
Real before/after orientations for the quick-rotate case. Dimensions shown are what the dropzone and result panel report.
Landscape clip held sideways → portrait, 90° clockwise
The most common case: the phone was rotated the wrong way and the subject appears lying down. A 90° clockwise turn stands it back up and converts the canvas to portrait.
Source: beach.mov 1920×1080 00:42
Angle: 90 (transpose=1)
Result: rotate-90.mp4 1080×1920 00:42
H.264 CRF 20, audio copied, rotate=0
→ upright in VLC, Chrome, and on a TVUpside-down clip → right way up, 180°
GoPro mounted inverted, or a phone whose auto-rotate misfired, gives footage that is flipped end-over-end. 180° rights it without changing the aspect ratio.
Source: helmet.mp4 2704×1520 01:15
Angle: 180 (transpose=2,transpose=2)
Result: rotate-180.mp4 2704×1520 01:15
dimensions unchanged, picture flipped uprightCounter-clockwise fix, 270°
When a 90° turn rotates the clip the wrong way, 270° is the opposite quarter-turn. There is no "undo direction" toggle — pick the complementary angle.
Tried 90 → subject now upside-down-ish / wrong side up.
Start over → Angle: 270 (transpose=2)
Result: rotate-270.mp4 1080×1920
correct counter-clockwise orientationMKV source still exits as MP4
The rotator normalises every input to an H.264 MP4. If you specifically need to keep the MKV container, rotate first, then re-wrap with the transcoder.
Source: capture.mkv 1920×1080
Angle: 90
Result: rotate-90.mp4 1080×1920 (MP4, not MKV)
Want MKV back? → /video-tools/video-transcoder
container MKV, codec H.264 (copy)Quick portrait export for a story
Rotating a sideways landscape clip to 1080×1920 already lands you in vertical territory. If you also need exact platform framing, hand the upright file to a formatter.
rotate 90 → 1080×1920 upright Need exact 9:16 with safe margins? → /video-tools/youtube-shorts-formatter Need a centred crop instead of a turn? → /video-tools/auto-reframe
Edge cases and what actually happens
You expected a lossless metadata-only rotation
By designJAD does not do metadata-only rotation. Every run re-encodes the video with H.264 at CRF 20 so the orientation is correct in players that ignore rotation flags. CRF 20 is visually near-transparent, but it is a re-encode, not a stream copy.
Picked 90 but it turned the wrong way
Expected90 is clockwise and 270 is counter-clockwise. If the result is upside-relative to what you wanted, Start over and choose the other angle. There is no separate direction switch.
Wanted a mirror image, not a turn
Use siblingRotation re-orients the whole frame; it does not flip left-for-right. For a mirror (selfie un-flip, matching a reverse shot), use the video flipper.
Output container changed from MKV/WebM to MP4
By designThe rotator always muxes to MP4. If you need the original container, rotate here then re-wrap with the transcoder.
Free file larger than 1 GB
RejectedThe dropzone blocks files over the free 1 GB cap and shows the size and your tier. Pro raises it to 10 GB, Pro+Media to 100 GB.
Non-video file dropped
RejectedOnly MP4, MOV, MKV, WebM, AVI, M4V, and TS pass the dropzone filter. A .gif or image is refused with a "No video files in the drop" message.
Variable-rotation clip (orientation changes mid-file)
Not supportedThe rotator applies one fixed angle to the whole clip. A video that was already partly rotated cannot be selectively corrected — trim it into segments first with the lossless trimmer.
Tab closed mid-encode
No outputProcessing happens in this tab. Closing it cancels the run with no partial file saved — and nothing was ever uploaded, so there is nothing to clean up server-side.
Source had a baked-in rotation flag
Preserved (reset)Some iPhone clips carry a rotate=90 tag. JAD bakes the visual rotation into pixels and then writes rotate=0, so the final orientation is exactly what the preview showed — no surprise double-turn on the recipient's player.
Frequently asked questions
Is the rotation lossless?
No. The rotator re-encodes the video with H.264 at CRF 20 (preset medium). CRF 20 is high quality — the loss is hard to spot — but it is genuinely a re-encode, not a metadata-only flag. This is deliberate: it makes the orientation correct even in players that ignore rotation tags. The audio, however, is stream-copied and stays bit-identical.
Which angles can I choose?
Exactly three: 90 (clockwise), 180 (upside-down to upright), and 270 (counter-clockwise). 90 is the default. There is no free-form degree input and no flip option — flipping is a separate tool.
Does 90° turn it clockwise or counter-clockwise?
90 is a clockwise quarter-turn (FFmpeg transpose=1). 270 is the counter-clockwise quarter-turn. If 90 turns your clip the wrong way, pick 270 instead.
What output format do I get?
Always an MP4 with H.264 video and your original audio copied over, no matter what you put in. An MKV, WebM, or MOV source comes out as MP4.
Will the resolution change?
For 90° and 270° the width and height swap — a 1920×1080 landscape clip becomes a 1080×1920 portrait file. A 180° rotation keeps the same dimensions.
Why did my video look fine in VLC but sideways on my TV?
VLC honours rotation metadata; many TVs and web embeds ignore it. JAD bakes the rotation into the actual pixels and sets rotate=0, so the orientation is correct on every player, not just the ones that read the flag.
Is my video uploaded anywhere?
No. The rotation runs in FFmpeg compiled to WebAssembly inside this browser tab. The file never leaves your device — this holds on every tier, including free.
How big a file can I rotate for free?
Free tier allows one file up to 1 GB. Pro raises that to 10 GB and 5 files, Pro+Media to 100 GB and 50 files. There is no duration limit — only file size and batch count.
Can I rotate several clips at once?
Each run takes one file, but if your tier allows more than one file you can queue several and JAD processes them in sequence, downloading each rotated MP4.
Will the audio drift out of sync after rotating?
No. Audio is stream-copied without re-timing, and only the video stream is transposed, so sync is preserved exactly.
I need to crop the bars after rotating — can this do that?
Rotation does not crop. After rotating, send the file to the cropper or resizer: crop a region or set exact dimensions.
Can I strip the location and camera data while I'm at it?
The rotator rewrites the container but is not a privacy tool. To remove GPS, camera make/model, and capture dates, run the result through the metadata scrubber.
Privacy first
Every JAD Video tool runs entirely in your browser via WebCodecs and FFmpeg (WebAssembly). Your video files never leave your device — verified by zero outbound network requests during processing.