Skip to tool

Categories

VideoRotate

Rotate MP4 or MOV video without re-encoding

Instant lossless rotation (90°, 180°, 270°, flip). Rewrites nine numbers in the header without re-encoding or quality loss.

Runs in this tab

Select an MP4 or MOV video

Select a video file to rotate orientation.

Runs 100% locally in your browser. Never uploaded.

Related Video Tools

About this video rotator

Select an MP4 or MOV video file, choose your rotation angle (90° clockwise, 180°, or 270° counter-clockwise) or flip orientation, and click Apply Rotation. The video track display matrix in the container header is updated instantly without re-encoding, preserving 100% original video and audio quality.

When smartphone videos are filmed upside down or sideways, standard web rotators force a full re-encode of the entire video. Re-encoding takes several minutes, degrades resolution, and introduces compression artifacts. This tool exploits the ISO Base Media File Format specification: it rewrites nine 32-bit fixed-point numbers inside the track header (tkhd) transformation matrix. The video frames themselves are untouched, completing in milliseconds.

Runs in this tab — no uploadFree, no account, no watermark

Step by step

  1. 1Select sideways or upside-down videoChoose an MP4 or MOV file up to 2 GB. The tool reads the current track header matrix and dimensions.
  2. 2Choose rotation angle or flipSelect 90° clockwise, 180° upside-down, 270° counter-clockwise, or toggle horizontal and vertical flip mirrors.
  3. 3Apply matrix transformationClick Apply Rotation. The engine computes the new 3x3 affine transformation matrix and updates the container header.
  4. 4Download rotated videoSave the rotated file immediately. The export finishes in milliseconds regardless of video file size.

How QuickTime and MP4 display matrices work

In ISO/IEC 14496-12 (ISOBMFF) and Apple QuickTime specifications, the track header box (tkhd) defines a 3x3 affine transformation matrix: [a, b, u, c, d, v, x, y, w]. Values a and d represent coordinate scaling, while b and c represent shearing and rotation in 16.16 fixed-point arithmetic. By changing these coefficients, media players are instructed to rotate or mirror the rendering viewport during playback without modifying the underlying compressed frame bitstream.

Instant processing on large video files

Because the video stream is not decoded or re-encoded, rotating a large 4K video takes virtually the exact same processing time as rotating a 5 MB clip (under 50 milliseconds). The output file is byte-identical to the source file with the exception of the nine transformation numbers inside the moov box.

Player compatibility considerations

All modern operating systems, mobile devices (iOS and Android), web browsers (Chrome, Safari, Edge, Firefox), and modern media players (VLC, QuickTime Player, mpv, Windows 11 Media Player) fully support matrix-based rotation. However, some legacy players (such as Windows Media Player 11) or certain custom web upload pipelines ignore container transformation matrices and display the raw camera sensor orientation.

Zero upload security guarantee

Every response from this site is served with a Content Security Policy whose connect-src directive is set to none. That is not a promise in marketing copy; it is an instruction to your browser, and the browser is the one enforcing it. While this page is open it cannot open a connection to anywhere — not to this site, not to anyone else — so there is no path by which your document could be uploaded, not by a bug, not by a future change, not by a script that should not be here. e2e/egress-proof.spec.ts asserts the served header and then tries to send data out by every route a page has and requires each attempt to be refused, and it runs on every build.

The second half of the guarantee is that the code has nowhere to send anything from. lib/tools/local-source-policy.test.ts reads every source file under lib/tools, workers, components and app on every test run and fails the build if any of them contains fetch, XMLHttpRequest, WebSocket, EventSource, sendBeacon or a peer connection, or even a remote address written down in a comment. A tool here cannot acquire an upload by accident, because the file that would have to contain one cannot be committed.

Client-side processing limits

Computations run directly on your own device using WebAssembly, Web Workers, and modern browser APIs including Web Crypto and TextDecoder. There are no server queues, no background telemetry, and no temporary cloud files created. Large operations remain responsive by offloading heavy parsing and conversion tasks to dedicated worker threads, ensuring the browser UI never freezes during intensive document and data processing tasks.

Questions people ask

Does rotating a video reduce quality or resolution?
No. Not a single pixel is re-encoded. The rotation is achieved entirely by updating display metadata in the container header, preserving exact bitstream fidelity.
Can I flip or mirror a video?
Yes. You can mirror videos horizontally or vertically alongside 90, 180, or 270-degree rotation options with instant preview updates.
Why does my rotated video still look sideways in an old player?
Some older desktop media players or web upload forms ignore container matrix metadata and render the raw camera sensor orientation. Modern players like VLC, QuickTime, and mobile browsers render the matrix correctly.
What is the maximum file size for rotation?
Videos process in milliseconds in your browser using zero-copy streaming ByteSource disk range slices without buffering whole files into RAM.
Is my video uploaded to the internet?
No. All processing happens 100% locally on your machine with zero server network access under strict connect-src none Content Security Policies.