You hold the phone vertically, record a video, send it to a friend on Windows, and their player shows a sideways clip. You hold the phone horizontally, accidentally tap the rotation lock off mid-recording, and now half the video is right-side-up and half is sideways. You import a perfectly-fine iPhone clip into Adobe Premiere and the entire timeline shows it rotated. Every one of these problems is the same problem: the rotation flag in the video's metadata says one thing, and the playback software reads or ignores that flag differently.

This is one of the most consistent sources of video frustration in 2026, and it doesn't seem to be improving. Apple's stack is internally consistent — every Apple player respects the rotation metadata, so an iPhone clip always plays correctly on iOS, macOS, and QuickTime. Everything else is a coin flip. Windows Media Player respects it sometimes. VLC respects it. Chrome's built-in player respects it. Most video editors don't, on the theory that they're for editing and the metadata is a display hint, not source-of-truth.

TL;DR

  • Use Clipy's video rotation tool. Drop the file in, pick 90° CW, 90° CCW, 180°, or flip horizontally, download. The rotation is applied to the actual pixels and the metadata is cleared, so the output plays correctly everywhere.
  • The metadata rotation flag is the cause of "looks fine on iPhone, sideways on Windows." Clearing the flag and rotating the pixels for real is the only universal fix.
  • If your iPhone video is already in MOV format, you may also want MOV to MP4 to convert the container, since Windows doesn't ship a MOV decoder by default.
  • If you want to change aspect ratio (not just rotate), use aspect ratio converter.
  • FFmpeg one-liner: ffmpeg -i in.mp4 -vf "transpose=1" -metadata:s:v rotate=0 -c:a copy out.mp4 (transpose=1 is 90° clockwise; 2 is 90° CCW; use transpose=2,transpose=2 for 180°).

Why the rotation flag exists and why it ruins everything

The reason your phone has a rotation flag at all is hardware-driven. The camera sensor on a phone is fixed in one orientation relative to the phone body. When you hold the phone vertically, the sensor is still recording in its native landscape orientation — the video frames are landscape, but you wanted portrait. Re-rotating the actual pixels at recording time would burn CPU and battery on a hot mobile device. So the phone takes the easy path: record the frames in the sensor's native orientation, then write a rotation flag in the file metadata that says "display this rotated 90 degrees clockwise."

iOS reads that flag religiously. Every iOS app respects it. macOS QuickTime respects it. The video plays as if it was recorded in portrait, even though the actual pixel grid is landscape.

Windows is where it falls apart. Windows Media Player ignored the rotation flag for years. Windows 11's built-in Movies & TV app respects it most of the time but not always. Third-party players are inconsistent. Browsers are mostly consistent now — Chrome and Firefox both respect the rotation flag in MP4 — but the situation in 2020 was much worse, and a lot of installed software predates the fix.

The other place it falls apart is video editors. Adobe Premiere, DaVinci Resolve, Final Cut Pro, and almost every editor treats the rotation flag as a display hint that doesn't affect the actual editing timeline. When you import a portrait iPhone clip, the editor shows the underlying landscape frames sideways on the timeline and asks you to rotate the clip manually. Some editors auto-apply the rotation; most don't, on the theory that you might have wanted the original orientation.

And the final place is uploaders. Some social platforms re-encode uploaded video and lose or strip the rotation metadata in the process. So a video that played correctly on your phone before upload plays sideways after Twitter or LinkedIn touches it.

The permanent fix — rotate the pixels for real

The only way to make a rotated video play correctly everywhere is to rotate the actual pixel data and clear the rotation metadata flag. This bakes the rotation into the frame buffer, so any player that just opens the file and renders frames will get the correct orientation. There's no flag to misinterpret.

This is what Clipy's video rotation tool does. You pick the rotation direction (90° clockwise, 90° counter-clockwise, 180°, or horizontal flip), and the tool re-encodes the video with the pixels physically rotated and the metadata rotation flag set to zero. Output is a clean MP4 that plays correctly in every player, every editor, every upload validator.

The cost is that it's a transcode. Rotating pixels means re-encoding the video, which means the operation takes time proportional to the video length. A 1-minute clip takes seconds; a 10-minute recording takes a few minutes. The Clipy tool runs FFmpeg in your browser via WebAssembly, so the CPU work happens on your machine. No upload, no server queue, no account.

The shortcut that doesn't work as often as people think

There's a faster operation than re-encoding: just change the rotation flag in the metadata without touching the pixels. FFmpeg can do this with -metadata:s:v rotate=90 and -c copy, and it takes about a second regardless of file length.

The problem is it only fixes the players that respect the flag. The players that ignore the flag — including most video editors and a chunk of Windows-side software — will see the same sideways video they always saw. If you're sharing the file with someone whose stack is unknown, the metadata-only fix is a coin flip. The pixel-rotation fix always works.

The Clipy tool deliberately does the pixel rotation, not the metadata-only flip. It's the slower option but it's the option that actually solves the problem.

90° vs 180° vs flip — which one you actually want

The four common rotation operations:

90° clockwise. The top of the original frame becomes the right side of the output. Useful for: video shot in portrait on a phone that played sideways with the top of your phone on the left.

90° counter-clockwise. The top of the original frame becomes the left side. Useful for: video shot in portrait on a phone that played sideways with the top of your phone on the right.

180°. Everything upside down. Useful for: a tripod that was mounted upside down, or a webcam clamped to the back of a screen.

Horizontal flip (mirror). Not technically a rotation but the same tool. Useful for: webcam recordings where the image was mirrored by the camera software but you wanted the natural view. The default for most webcam tools is mirrored because it matches what you see while recording, but if the final viewer should see the natural orientation, you need to flip.

Pick the one that gives you the right result. Most phone-clip problems are 90° clockwise or counter-clockwise depending on which way the phone was rotated.

The iPhone special case — MOV plus rotation

iPhones record video in MOV containers by default (QuickTime format). The combination of MOV container plus rotation metadata flag is where most cross-platform problems compound.

The MOV container alone causes issues on Windows because Apple discontinued the Windows QuickTime player in 2016, and Windows doesn't ship a MOV decoder out of the box. Some files play because the underlying codec is H.264 and some Windows software can extract H.264 from MOV containers, but it's inconsistent.

So an iPhone clip on Windows can fail in two independent ways: the container isn't recognized, or the rotation flag is ignored. Sometimes both at once. Sometimes the file plays but sideways. Sometimes it shows a black thumbnail in File Explorer.

The fix is a combined operation: convert MOV to MP4 (universal container) and bake the rotation into the pixels. The Clipy rotation tool does the rotation; if your source is also MOV, follow it with MOV to MP4. Or do the conversion first and the rotation second. Either order produces a universally-playable file.

Why some uploaders strip the rotation flag (and what to do about it)

When you upload a video to a social platform, the platform usually re-encodes it. Twitter shrinks bitrate, normalizes audio, possibly downscales. LinkedIn does similar. Most re-encoders preserve the rotation metadata flag — but not all of them, not consistently.

Some uploaders read the flag, rotate the pixels accordingly, and produce a non-rotated output with the flag cleared. That's the correct behavior. The video plays correctly on every viewer.

Some uploaders ignore the flag entirely. The pixels are uploaded in their original (sensor-native) orientation and the rotation metadata might or might not be preserved. The result is the same as if the upload had been done with the pixels physically rotated wrong.

Some uploaders preserve the flag but re-encode the video in a way that changes the metadata structure, causing some players to no longer find the flag where they expect it. Same outcome.

The defensive move: always rotate the pixels before uploading. If the rotation is baked in, no uploader can mess it up. The file plays correctly regardless of what the platform does to the metadata.

The bigger picture — other orientation fixes besides rotation

Not every "my video looks wrong" problem is a rotation problem. Three adjacent fixes:

Aspect ratio. If your video is the right way up but the wrong shape — vertical when you wanted square, or 16:9 when you wanted 9:16 — you want the aspect ratio converter, not the rotator.

Crop. If your video has a black bar at the top or bottom, or you want to remove a corner element, you want the crop tool.

Resize. If your video is in the right orientation and shape but too high a resolution for some downstream use, you want resize video.

These are separate operations and combining them is sometimes necessary. A common flow for repurposing a horizontal iPhone clip for TikTok: rotate (if needed) → crop to remove unwanted edges → change aspect ratio to 9:16.

The FFmpeg command line version

Rotating pixels and clearing the metadata flag:

# 90° clockwise
ffmpeg -i input.mp4 \
  -vf "transpose=1" \
  -metadata:s:v rotate=0 \
  -c:v libx264 -crf 20 -pix_fmt yuv420p \
  -c:a copy \
  -movflags +faststart \
  output.mp4

# 90° counter-clockwise
ffmpeg -i input.mp4 -vf "transpose=2" ...

# 180°
ffmpeg -i input.mp4 -vf "transpose=2,transpose=2" ...

# Horizontal flip
ffmpeg -i input.mp4 -vf "hflip" ...

The -metadata:s:v rotate=0 is the part that prevents double-rotation (where a player both rotates the pixels and respects the rotation flag and ends up with the video back to its original orientation). The Clipy tool handles this automatically — don't worry about it.

The summary path

Open Clipy's video rotation tool. Drop the file in. Pick the rotation direction (90° CW, 90° CCW, 180°, or horizontal flip). Click rotate. Download the output.

The output has the rotation baked into the pixels and the metadata flag cleared, so it plays correctly in every player and every editor. The whole thing runs in your browser; no upload, no signup.

If your source is MOV (iPhone default), follow with MOV to MP4 for universal Windows playback. For aspect ratio changes use aspect ratio converter. For cropping unwanted regions use crop video.