Rotate a GIF in 90° steps or by a fine angle online for free. Save as GIF, PNG, JPG, WebP and more.
Unlike JPG, GIF has no EXIF orientation tag — the W3C GIF89a specification defines a Logical Screen Descriptor and Image Descriptors but no rotation field. That means a GIF recorded sideways on a phone or saved from a sideways video stays sideways everywhere, with no metadata fix possible: the pixels themselves have to be re-arranged. Common reasons:
| Rotation | Pixel data | Corners | Notes |
|---|---|---|---|
| 90 degrees CW ("90° right") | Identical, transposed | None | Every pixel moves to a new position; none are invented or blended |
| 90 degrees CCW ("90° left") | Identical, transposed | None | Same as above, opposite direction |
| 180 degrees (either button twice) | Identical, inverted | None | Pixel-for-pixel inversion, no quality loss |
A non-orthogonal angle (say 15 or 45 degrees) can't map source pixels 1:1 onto the output grid — every output pixel becomes a weighted blend of several source pixels, and the corners need filling. That resampling is why tilted rotations look slightly soft in any tool. The quarter turns here are orthogonal, so that rotation step itself costs no quality; "Fine angle" (−45° to 45°) does resample. After that, your choice of download format decides the rest: PNG is lossless, JPG is not, and a GIF is written as one frame with a 256-colour palette and 1-bit transparency.
| Direction | Source -> Result | Typical fix |
|---|---|---|
| "90° right" (90 degrees CW) | Subject's head on the left -> upright | Sideways phone screen recording, Orientation 6 source video |
| "90° left" (90 degrees CCW) | Subject's head on the right -> upright | Sideways phone screen recording, Orientation 8 source video |
| Either button twice (180 degrees) | Upside-down -> right-side-up | Inverted webcam capture, mirror-mounted phone rig |
For mirror flips (left-right or top-bottom swap) instead of rotation, use Flip GIF. For static images, see Rotate PNG or Rotate JPG. To shrink an animated GIF that's too large for chat apps, use Compress GIF.
No. An animated GIF is detected when it opens, with the note "Animated GIF: an edit here keeps only the first frame." Every "Save as" format writes a still — GIF included — so a rotated animated source comes out as an upright still of its first frame; downloading the file without an edit gives back your original animation. XConvert doesn't currently offer an animation-preserving rotate. If the animation itself is what you need smaller (in its existing orientation), Compress GIF rescales, palette-reduces, and frame-drops the whole loop while it keeps playing.
PNG keeps the 90-degree rotation completely lossless and preserves transparency. WebP is smaller with the same alpha support in modern browsers, but it is always lossy here. JPG compresses photographic frames hardest but flattens transparency onto white and adds lossy artifacts. TIFF (lossless Deflate, keeps transparency) suits print or archives; BMP is uncompressed 24-bit with the transparency flattened onto white. Saving back as GIF gives a still with a 256-colour palette and 1-bit transparency.
Transparent pixels rotate along with everything else, so a transparent background stays transparent in the editor. Whether it survives the download depends on the format: PNG and WebP keep alpha, JPG doesn't. GIF sources only ever carry 1-bit transparency (a single palette index marked transparent), so there are no soft edges to lose in the first place.
JPG stores an EXIF Orientation tag that tells viewers how to display the file — many "rotated" JPGs are actually just a metadata flip with the original pixels untouched, which is fully lossless. GIF has no orientation metadata at all (the W3C GIF89a spec defines no such field), so fixing a sideways GIF always means physically re-arranging pixels. The orthogonal 90/180/270-degree turns still avoid resampling and stay pixel-perfect.
Yes. Use "Fine angle" in Rotate: drag it anywhere from −45° to 45° (0.1° steps), nudge it with the "−0.5°" / "+0.5°" buttons or type the angle — for example −2 to level a horizon that slopes up to the right. Combine it with "90° left" or "90° right" for larger turns. "Background for exposed corners" decides what fills the new corners: "Auto-crop corners" trims them away, or pick "White", "Black" or "Transparent" (transparent needs a format with alpha, such as PNG or WebP). A tilted GIF is resampled, so expect slightly softer edges than a 90° turn, which stays pixel-exact.
Not on XConvert currently — this editor exports a still, and the animation-preserving pipeline in Compress GIF resizes and re-encodes but doesn't rotate. If the destination accepts video, a practical route is converting the GIF with GIF to MP4 (MP4 typically lands 10x to 100x smaller than the same animation as GIF) and rotating the video in a player or editor that writes orientation, then sharing the MP4.
Per-frame GIF editing isn't offered — the editor works on the image as one picture and saves a still. If you need to edit individual frames and reassemble them into an animation (rare), the GIF has to be decomposed in a frame editor like Photoshop or a frame-extractor, edited frame by frame, then rebuilt.
Autoplay is a property of animated files, and this editor's output is a still image — it will display as a normal picture everywhere. If you're posting the original animated GIF alongside it, the usual platform caps apply: Twitter/X takes GIFs up to 15 MB on desktop (~5 MB on mobile), Reddit up to 100 MB but transcodes to MP4 on display, and Discord's free tier caps uploads at 20 MB (50 MB with Nitro Basic, 1 GB with Nitro). If the animated file exceeds a cap, Compress GIF or a video conversion brings it under.