You have a GIF, maybe a reaction, a product demo or a little animation you made, and you post it to Instagram. It arrives as a still picture, or the app will not pick it at all. That is not a bug in your file. Instagram simply has no GIF format: posts are photos or videos, and a GIF is neither. The fix is to turn your GIF into a short video, and the details of that video matter more than most guides admit.
This guide is based on Meta's own publishing rules for Instagram, which we read on 11 October 2026, and on our own conversion tests in Chrome on Windows 11. We did not test the Instagram app on a phone, so the in-app steps below describe Instagram's menus as Instagram documents them, and we say where that is the case.
The quick answer
| Where you want the GIF | What works |
|---|---|
| Feed post or Reel, your own GIF | Convert it to an MP4 (30 fps, at least 3 seconds) and post the video |
| Story, your own GIF | Same: post it as a video |
| Story, a GIF from a library | The GIF sticker in the Story editor (search GIPHY’s library) |
| A comment or a direct message | The GIF button in the comment or chat box (also GIPHY’s library); your own files can’t be added there |
Why your GIF turns into a still photo
Meta's documentation for publishing to Instagram lists exactly two kinds of media: images, which must be JPEG, and videos, which must be MP4 or MOV. There is no animated image type. That is why a GIF picked from the camera roll shows up as a single still frame. So whatever app or website you use, the GIF has to become a video before Instagram will play it.
The rules the video has to meet
The same documentation spells out what a Reel or Story video must be. These are the lines that matter for a converted GIF:
| Rule (Reels and Stories) | What a GIF usually has |
|---|---|
| MP4 or MOV, H.264 or HEVC video | Not a video at all |
| 23 to 60 frames per second | Often 10 to 20; our eight test GIFs ran at 3 to 20 |
| At least 3 seconds | Often 1 to 3 seconds; five of our eight were shorter than 3 |
| No edit lists, index (moov) at the front of the file | Depends on the converter |
| No transparency (H.264 has none) | Many GIFs have a transparent background |
The frame rate is the line most guides miss. A GIF does not have a frame rate as such: each frame has its own delay, often a tenth of a second, and a converter that copies those delays makes a video at around 10 frames per second, below Instagram's minimum of 23. The fix is to put the animation on a steady 30 fps grid, holding each GIF frame for as many video frames as it lasts. The picture and the timing do not change; there are simply more, identical frames. They are almost free in H.264: our 3.6-second screen recording GIF grew from 13.8 KB as a variable-rate MP4 to 16.4 KB at 30 fps.
Length is the other trap. A 2-second GIF is a perfectly normal GIF and too short for a Reel or Story. Because MP4 has no loop setting, the only way to lengthen it is to repeat the animation inside the video: two plays of our 2.57-second test GIF made a 5.14-second MP4 of 155 frames.
Step by step: your own GIF to the feed, a Story or a Reel
- Open GIF to MP4 on a computer or an Android phone (Chrome, Edge or Firefox) and drop the GIF on it. Nothing is uploaded; the conversion happens in the browser.
- Choose Constant 30 fps and Enough for 3 seconds. If the GIF has a transparent background, pick the background colour you want behind it; white is the default.
- Press Convert to MP4. The result card should say the video meets the Reels and Stories rules; play it on the page to check the speed.
- Get the MP4 onto your phone if you converted on a computer: AirDrop, a cloud folder, or email it to yourself. On Android, the download is already in your Downloads or Files app.
- In Instagram, tap +, choose Post, Story or Reel, and pick the MP4 from your camera roll like any other video. Instagram loops short videos in the feed on its own. (These in-app steps are from Instagram's interface; we did not test them on a device.)
Two things the result card tells you are worth a glance. If the MP4 is bigger than the GIF, which happens with small, flat-colour animations, that is normal and Instagram does not mind at that size. And if some frames in your GIF are set to 0 or 0.01 seconds, the card says how many: browsers play those at 0.1 seconds, and the MP4 does too, so the video runs at the speed you saw on screen rather than racing ahead.
Library GIFs in Stories, comments and messages
For a reaction GIF rather than your own file, you do not need to convert anything. Instagram's Story editor has a GIF sticker that searches GIPHY's library; comments and direct messages have a GIF button in the text box that does the same. These only search that library, so your own GIFs cannot be posted that way. If you want your own animation to appear in that search for everyone, it has to be on GIPHY first, through GIPHY's own upload and verification process.
Common problems
- “The video is too short.” It is under 3 seconds. Convert again with Enough for 3 seconds.
- The transparent background turned black. MP4 cannot be transparent, and some converters fill it with black without asking. Choose the background colour before converting.
- It plays too fast or too slow. The converter copied frame delays the browser never used, or forced every frame to the same length. A converter that keeps each frame's own timing fixes it.
- The edges look soft or the colours bleed on small text. Video stores colour at half resolution, so tiny coloured text blurs by a pixel. Making the GIF larger before converting helps.
- Your GIF started as a video. Then skip the GIF: post the original clip, which has better quality and sound. If you need a GIF elsewhere too, Video to GIF makes one from the clip, and Compress GIF shrinks one you already have.
Sources: Meta, Instagram Platform documentation, “IG User Media” (Reel and Story video specifications, image specifications), read 11 October 2026. Measurements: our own conversions of eight test GIFs with GIF to MP4, decoded with FFmpeg to check frame times, frame rate and the file structure.