About this tool
Phone videos shot in portrait sometimes save with the wrong rotation flag - they look upright in Photos.app but land sideways when emailed or uploaded to a different platform. Rotating bakes the rotation into the video frames so it plays correctly everywhere.
This tool rotates in-browser using FFmpeg.wasm. 90 / 180 / 270 rotations are supported.
How it works
Open your video
Drop the file. Auto-orientation is applied so what you see is what gets saved.
Pick rotation
90 CW / 180 / 270 CW.
Process and download
Rotated video saves to your device.
Use cases
Sideways iPhone video
Phone shot vertically often plays sideways on Windows / Android.
Action camera footage
GoPro / Insta360 occasionally records with wrong orientation flag.
Drone footage
Some drones save with the rotation flag instead of rotating frames.
Format and spec details
| Rotation options | 90 CW, 180, 270 CW |
|---|---|
| Source formats | MP4, MOV, WebM, AVI, MKV |
| Lossless | When fast-rotation flag is set; lossy when re-encoding required |
Tips and best practices
- Always rotate before uploading to a platform that may strip the rotation flag.
- For long videos, lossless rotation (when supported) is much faster than re-encoding.
How browser-based audio/video tools work
Modern browsers ship with Web Codecs API, MediaRecorder, and Web Audio API - enough to decode, manipulate, and re-encode most media formats client-side. This tool uses those APIs (with FFmpeg.wasm as a fallback for less common codecs).
The processing flow
- File is loaded as a binary Uint8Array.
- The codec is detected from the container (MP4 = MPEG-4, MKV = Matroska, WebM = WebM) and the codec atoms.
- Frames are decoded into raw audio samples (PCM) or video frames (YCbCr / RGB).
- The requested transformation (trim, convert, resize) is applied frame-by-frame.
- Frames are re-encoded into the output codec and packaged into the output container.
Common audio/video formats
| Container | Common codecs | Best for |
|---|---|---|
| MP4 | H.264 / H.265 video, AAC audio | Universal compatibility; default for web video |
| WebM | VP9 / AV1 video, Opus audio | Open-source web standard; smaller than MP4 |
| MKV | Any codec (container only) | High-quality archival; not browser-native |
| MOV | ProRes / H.264, PCM / AAC | Apple ecosystem; ProRes for professional editing |
| MP3 | MP3 audio only | Universal audio; lossy |
| WAV | PCM audio (lossless) | Editing source; CD-quality archival |
| FLAC | Lossless compressed audio | Music archival; ~50% of WAV size, perfect quality |
| AAC / M4A | Advanced Audio Coding | iOS default; better quality than MP3 at same bitrate |
Lossy vs lossless
- Lossy (MP3, AAC, Opus, H.264): discards data the human ear/eye can't notice. 80-90% size reduction. Each re-encode loses more quality (generation loss).
- Lossless (FLAC, WAV, ALAC, FFV1): bit-perfect reproduction. ~50% size of raw. Each re-encode is identical to the source.
Bitrate quick reference
| Use case | Audio bitrate | Video bitrate (1080p) |
|---|---|---|
| Voice (phone, podcast) | 32-64 kbps | n/a |
| Music (mid-quality) | 128 kbps MP3 | n/a |
| Music (transparent) | 256-320 kbps MP3 or 128 kbps Opus | n/a |
| Streaming HD | n/a | 5,000-8,000 kbps |
| Streaming 4K | n/a | 15,000-25,000 kbps |
| Archival | FLAC lossless | ProRes 422 or H.265 CRF 18 |
Privacy and offline operation
Every operation in this tool runs client-side using your browser's built-in APIs (Canvas, Web Audio, WebAssembly). No data is uploaded. After the initial page load you can disconnect from the internet and the tool keeps working.
We use Google Analytics and AdSense for the page itself, but neither sees the content of the files you process.
Frequently asked questions
Why does my video look correct on iPhone but sideways on Windows?
iPhone reads the rotation flag in the metadata. Some Windows / Android players ignore it. Baking the rotation into frames fixes it everywhere.
Does rotation reduce quality?
When the file format supports lossless rotation, no. When re-encoding is needed (most formats), there is a small quality loss.
Is my video uploaded anywhere?
No. All processing happens in your browser using Web Codecs / FFmpeg.wasm. Files stay in your tab's memory. Disconnect from the internet after page load and the tool still works.
Why is conversion slow?
Video re-encoding is CPU-intensive. A 1-minute 1080p clip can take 30-90 seconds to encode in the browser - desktop apps with hardware acceleration are 5-10x faster. Use this tool for short clips; for hour-long footage use HandBrake or FFmpeg on your machine.
Will the converted file lose quality?
Yes, slightly, if the source and destination are both lossy formats. Going from H.264 to H.264 at the same bitrate adds a small amount of generation loss. Going from H.264 to a lossless codec preserves the existing quality but doesn't restore what was lost on the first encode.
Can I convert between any two formats?
Most common pairs (MP4 <-> WebM, MP3 <-> AAC, WAV <-> FLAC) work in any modern browser. Exotic codecs (ProRes, FFV1, JPEG 2000) may require FFmpeg.wasm and run slowly.
What's the maximum file size I can process?
Practical limit is your browser's available memory (typically 2-4 GB). 30-minute 1080p videos process fine. 2-hour 4K source files may crash the tab; use a desktop tool for those.
How accurate is the Video Rotate?
It applies the standard formula. Accuracy is limited only by your input precision. For decisions with material consequences (taxes, medical, legal, structural), use the result as a starting point and verify with a qualified professional in the relevant field.
Is the Video Rotate free to use?
Yes. 100% free, no signup, no payment, no API key. The site is funded by display ads around the tool but not inside the calculation flow.
Are my inputs saved anywhere?
No. All inputs stay in your browser tab. Closing the tab discards them. The site uses Google Analytics for traffic measurement (anonymized) but the analytics never see what you type into the form.
Can I use the Video Rotate on my phone?
Yes. The tool is responsive and tested on iOS Safari, Android Chrome, and major desktop browsers. Touch targets meet Apple's 44pt and Google's 48dp minimum.
Does the Video Rotate work offline?
Yes. Once the page has loaded, it works without internet. The calculation runs in JavaScript on your device.
How do I report a bug or suggest improvement to the Video Rotate?
Email hi@3tej.com with the URL of this page and a description of what you saw vs expected. We typically respond within 72 hours.
Can I share results from the Video Rotate?
Take a screenshot or copy the output. The page doesn't generate shareable URLs for specific calculations - inputs stay in your browser only.
Why are the results different from another video rotate tool?
Most likely: different formula assumptions, different default values, different rounding rules, or different applicable rates. Check the methodology if both tools document it. Both can be valid for different scenarios.
