Instagram Media Checker
Drop a photo or video and see whether Instagram will accept it. Real file type, format, size, ratio and length, checked in your browser. Nothing is uploaded.
How to use the Instagram Media Checker
Drop in your photo or video
Drag a file onto the box or pick one from your device. It is read on your own machine, so nothing is sent to a server and no account is needed.
Pick Post or Story
Instagram applies different rules to the two placements. A Post video is checked against 300 MB, a Story video against 100 MB, and Story captions are dropped by Instagram on publish.
Read the verdict, rule by rule
The checker reads the real file type from the file’s own bytes, not its extension, then reports format, file size, dimensions, aspect ratio and video duration. Each rule passes, warns or fails with the number that caused it.
Fix an image in the page
For photos you can convert to JPEG, compress under 8 MB, crop into the accepted ratio or resize, then download the corrected file. Every step runs in the browser.
For video, re-export from your editor
Video is checked and reported, never converted or uploaded. Take the failing numbers back to your editor and export again, then drop the new file in to confirm.
What Instagram actually accepts
Photos must be JPEG. The publishing endpoint takes jpg and jpeg and nothing else, so a PNG, a WebP or a HEIC comes back as a format error even though every guide on the first page of results tells you PNG is fine. The photo ceiling is 8,000,000 bytes, which is 8 MB, for both feed posts and Stories.
Video must be MP4 or MOV. A feed or Reels video published through the API is capped at 300,000,000 bytes, which is 300 MB, and a Story video at 100,000,000 bytes, which is 100 MB. Carousels hold between 2 and 10 items, photos and videos can be mixed, and every item has to share one aspect ratio.
Aspect ratio has two bands. The hard limit runs from 9:16 up to 1.91:1, and anything outside it is refused outright. Between 0.8 and 1.91 the image publishes as framed; outside that narrower band Instagram crops it, so the checker warns rather than fails. Meta’s Reels reference documents a much wider range of 0.01:1 to 10:1, but the endpoint does not enforce that, so the checker uses the measured range instead.
Why the extension lies, and why that breaks uploads
The single most common cause of a format error is a file whose name says one thing and whose contents say another. A HEIC saved out of a phone and renamed to .jpg opens fine on a Mac and still gets refused, because Instagram reads the bytes, not the label. Converter pages miss this because they trust the extension too.
This checker reads the first bytes of the file and reports the real type. If your file claims to be a JPEG and is really a PNG or a HEIC, that shows up as the first failing rule with the actual type named, and the convert to JPEG fix is one click away in the same page.
The error codes people paste into search map to specific file properties. Codes 36001 and 2207005 come back on an image format Instagram will not take, which in practice means anything that is not a real JPEG. Codes 36003 and 2207009 come back on an aspect ratio outside the accepted range, which is what a very tall or very wide crop hits.
The phone app and a scheduler are not the same thing
Search results disagree wildly on Instagram’s limits because they mix two different routes together. Posting by hand from the phone app is more forgiving: it converts formats for you and accepts much larger video files. Publishing through the API, which is what any scheduler does, is stricter and refuses files the app would have quietly fixed.
That is why the same video can post from your phone and fail in your scheduler. The numbers this checker uses are the API numbers: JPEG only, 8 MB for photos, 300 MB for a feed video, 100 MB for a Story video, and a 9:16 to 1.91:1 ratio range. If you post by hand only, treat the verdict as a safety margin rather than a hard wall.
The rules here are the same ones JuzPost applies before it schedules a post, taken from a real publish against the Graph API on 2 September 2026 rather than copied from another blog. Duration and codec are reported for information: Meta documents 3 seconds to 15 minutes for Reels and 3 seconds to 60 seconds for Stories, with H.264 or HEVC video and AAC audio, but those bounds have not been confirmed by our own publish tests yet.
Checked here, fixed here, and nothing leaves your browser
The file never goes to a server. It is read, measured and, for images, rewritten entirely on your own device, which matters when the thing you are testing is a client’s unpublished video. It also makes the check instant, because there is no upload to wait through.
Images get a remedy attached to the verdict: convert to JPEG when the real type is wrong, compress when the file is over 8 MB, crop when the ratio falls outside the accepted range, or resize. Video is reported honestly and left alone. Transcoding video in a browser tab would be slow and lossy, so the report tells you exactly which setting to change on the next export instead.
Frequently asked questions
What video format does Instagram accept?
MP4 and MOV. Those are the two container formats Instagram accepts for publishing, and anything else needs re-exporting first. A feed or Reels video is capped at 300 MB and a Story video at 100 MB. Meta also documents H.264 or HEVC video with AAC audio, though that is a documented figure rather than one we have measured.
Why does Instagram say my media format is not supported?
Almost always because the file is not really the type its name claims. Instagram reads the bytes, so a HEIC, PNG or WebP renamed to .jpg is refused with error 36001 or 2207005. Drop the file into this checker and it reports the real type from the file’s own header, then converts it to JPEG for you.
Does Instagram accept PNG images?
No. Instagram publishing takes jpg and jpeg only, so PNG, WebP and HEIC are all refused, whatever the guides say. Plenty of pages still list PNG as supported, which is the most common wrong answer on this topic. Convert to JPEG before you post, or use the convert step in this checker.
What is the maximum photo size for Instagram?
Photos are capped at 8,000,000 bytes, which is 8 MB, for both feed posts and Stories. The checker flags anything over that and can compress the image under the limit in the page. Aspect ratio also matters: outside 9:16 to 1.91:1 the upload is refused with error 36003 or 2207009.
What is the maximum video size for Instagram?
300 MB for a feed or Reels video and 100 MB for a Story video, when publishing through the API. Numbers of 650 MB and 4 GB circulate in guides, but those describe the phone app, not scheduled publishing. This checker uses the API figures, so a pass here means your scheduler will take the file.
Can I upload MOV to Instagram?
Yes. MOV and MP4 are both accepted, so a QuickTime export does not need converting on format grounds alone. Check the file size as well: 300 MB for a feed or Reels video, 100 MB for a Story. MOV files out of an editor are often far larger than the equivalent MP4.
How long can an Instagram Reel be?
Meta documents 3 seconds as the minimum and 15 minutes as the maximum for Reels, and 3 seconds to 60 seconds for Story video. Those are documented figures rather than ones we have confirmed with a publish, so the checker reports your video’s duration and shows them as guidance rather than a hard verdict.
Does this checker upload my file anywhere?
No. The file is read and measured entirely in your browser, and image fixes are applied on your device too. There is no server, no account and no copy kept, which is why a client’s unpublished video is safe to test here and why the result appears immediately.
