Short answer

Instagram’s feed accepts anything between 1.91:1 landscape and 4:5 portrait. Export 1080 x 1350 for 4:5, 1080 x 1080 for square, 1080 x 566 for landscape and 1080 x 1920 for Reels and Stories. Outside that window the feed trims your image. This checker reads the real pixel dimensions of your file — in the orientation you actually see it — shows what would be cut, and fixes one image or a batch of thirty.

What happens to your file between export and feed

Aspect ratio is enforced first. The feed has a hard window: no wider than 1.91:1, no taller than 4:5. A ratio outside it is trimmed to the nearest edge — taller than 4:5 loses height off the top and bottom, wider than 1.91:1 loses width off the sides. The tool computes the exact pixel loss and flags anything above 35% as a heavy crop, because at that point you are not posting the photo you took.

Then it is resized. Uploads wider than about 1080 px are commonly observed to be scaled down to roughly that width. This is not a published specification — it is behaviour photographers have reported consistently for years, and it can change. Taking it at face value, a 6000 px export is an extra resampling pass handed to a stranger’s encoder rather than an investment in quality. Matching 1080 px yourself is the biggest lever you have.

Then it is re-compressed. The parameters are not published by Meta, differ between the app and the web uploader, and have visibly changed over the years, so any exact quality number you see quoted is a guess. What is observable is which content suffers: smooth gradients band, small text goes mushy, and heavy grain eats the bit budget that should have gone to your subject.

Why 4:5 takes the most vertical space

The feed renders every post at the same column width and derives height from the ratio. At 4:5 the height is 1.25 times the width — the tallest allowed. Square is 1.0; a 1.91:1 landscape only about 0.52. That is pure geometry; whether more screen area translates into more reach is a ranking claim Instagram has not published. The full sizes guide works through every surface.

Instagram size specifications

Surface Export size Ratio Decimal (w/h) Notes
Feed, portrait 1080 x 1350 px 4:5 0.800 Tallest the feed accepts; most screen space per post
Feed, square 1080 x 1080 px 1:1 1.000 Posts untouched; also the profile-grid crop shape
Feed, landscape 1080 x 566 px 1.91:1 1.910 Widest the feed accepts; 1080 / 1.91 rounds to 566
Reels and Stories 1080 x 1920 px 9:16 0.5625 Full-screen vertical; nothing cropped horizontally
Profile photo 1080 x 1080 px 1:1 1.000 Displayed as a circle, so keep the subject clear of the corners

The checker matches 9:16 within 0.02 on the decimal ratio and 1:1 within 0.005, because real exports are rarely mathematically perfect — a 1079 x 1349 file is a 4:5 file for every practical purpose. Set the document size at the start: 1080 x 1350 or 1080 x 1920 as a canvas costs nothing on day one and cannot be undone cheaply on day thirty.

EXIF orientation: measuring the photo you can actually see

A portrait photo shot on a phone is very often stored landscape, with a tag telling the viewer to turn it. That tag is the commonest reason a size checker lies to you: report the stored raster and a 4032 x 3024 phone photo looks like landscape, when the photographer sees 3024 x 4032 portrait and is about to post it that way.

This tool refuses to guess. For JPEG files it walks the marker chain in the first megabyte, finds the EXIF block, and reads the orientation tag along with the raster size in the frame header. Then it answers a second question, because most browsers apply the tag themselves and a few do not — rotating an already-rotated image is as wrong as not rotating it.

  • If the tag calls for a 90° turn and the stored raster size is readable, the tool compares the reported dimensions against the stored ones. Swapped means the browser already did the work; matching means it did not.
  • Otherwise it probes the browser directly: it builds a two-by-one-pixel JPEG in the page, splices an “orientation 6” tag into it, and checks whether the browser reports it back as one by two. Nothing is downloaded to find out.

Only when the browser has not applied the tag does the tool redraw the image. Every measurement, preview and export from that point is in display orientation. A note above the results says which path applied, and in batch mode a rotation symbol marks each affected file.

The orientation read covers JPEG only, because that is where the problem overwhelmingly lives. PNG, WebP, GIF and AVIF files are measured exactly as the browser decodes them. If a converted HEIC arrives sideways, re-export it without the tag from whatever produced it.

Reading the before-and-after view

Drop an image and the panel splits in two. On the left is the whole frame with the target crop rectangle laid over it, everything outside dimmed, and rule-of-thirds guides inside the rectangle. On the right is the crop exactly as it would export, with its own thirds overlay and its output size printed along the bottom edge.

The two focal-point sliders move that rectangle as a percentage of the leftover space, so 50/50 is a centre crop and 0/0 pins it to the top-left. If the crop is discarding a third of the frame anyway, land the subject on a thirds line while you choose. Underneath sit the crop rectangle in source pixels, the percentage discarded and the output size, plus a “copy report” button summarising the EXIF and alpha findings.

The compression read

Four figures sit under the geometry, answering a different question: not “will this be cropped” but “how much quality is left to lose”.

  • File size and megapixels, from the file and the decoded dimensions.
  • Bytes per pixel — file size divided by pixel count. Below about 0.25 the file is already compressed hard, and another re-encode — which Instagram will perform — tends to surface as blocking in flat areas like skies. Above that there is headroom for one more pass.
  • Width vs 1080 — how far over or under the width threshold you are, in pixels.

None of this predicts what Instagram will do. Bytes per pixel is a crude proxy that varies with content — a brick wall legitimately needs more of them than fog. Read it as a smoke alarm, and note that the fix is always a less compressed original, never re-saving the one you have.

Transparency, and what Instagram does with it

PNG, WebP, GIF and AVIF files can carry an alpha channel. The tool samples yours down, counts how many pixels are not fully opaque, and reports the approximate percentage. If any transparency is found, a background control appears: flatten on white, flatten on black, or keep the alpha in the exported PNG.

Instagram flattens transparency when it re-encodes, and which colour ends up behind your logo is not something you control from the upload side. Deciding here bakes it in before the file leaves your machine. Keeping the alpha is right only when the export is going into another design tool. The detection is sampled from a downsized copy, so the percentage is approximate.

Batch mode and the export presets

Switch to batch and you can drop up to 30 images at once — dropping several files in single-file mode switches modes for you rather than checking only the first. Every file is measured, EXIF-corrected where needed, and listed in a table of name, pixel size, ratio, verdict and what to do about it. Four counts sit above it: how many fit the feed, how many are wider than 1080 px, how many carry transparency, and how many the tool had to turn.

“Fix all to this ratio” renders every image in the batch to your chosen target and downloads them as one ZIP of PNGs, numbered in batch order with the ratio in each filename. One caveat the tool states on screen: batch crops are always centred. There is one focal point and thirty images, so applying yours to all of them would be worse than an honest centre crop. When a specific image needs specific framing, check it on its own.

The preset ZIP is the other export: it re-crops the one image you are looking at to every common surface at once, from your current focus point.

Preset File in the ZIP Output size What it is for
Feed 4:5 …-4x5.png 1080 x 1350 px The default feed post
Square 1:1 …-1x1.png 1080 x 1080 px Feed square, and the profile-grid shape
Reels / Stories 9:16 …-9x16.png 1080 x 1920 px A still posted as a Story
Profile photo 1:1 …-profile.png 1080 x 1080 px The square, masked to a circle so you can see what gets cut
sizes.txt Lists each file, its size and the source

Video: length, ratio, and what this tool will not do

Drop a video and the checker reports its track dimensions, ratio, duration, orientation, file size and an approximate bitrate, then says how it would behave in a 9:16 Reel. A 0.5625 ratio fits full screen with nothing cropped horizontally; narrower and the top and bottom are trimmed; wider and Reels either pillarboxes or crops the sides, with the percentage computed. A landscape clip is flagged as a poor fit, because at 16:9 you lose roughly 68% of the width.

On duration, the tool uses 90 seconds as the common Reel cap and 180 seconds as the longer ceiling available on many accounts, and notes that Story segments split every 60 seconds. Treat those as current behaviour rather than fixed law — Instagram has changed maximum Reel length more than once, and limits have differed between accounts and regions during rollouts.

The video side measures, it never modifies

This tool reads video metadata only. It hands the file to your browser’s decoder, waits for the metadata event, and reports the width, height and duration it found. It does not transcode, re-encode, resize, trim, rotate or compress your video, and it never will. The bitrate shown is the whole file divided by its length, audio included, so it is an estimate rather than a measured video bitrate. For a real re-crop, use a video editor.

The honest limits

Codec support is your browser’s, not ours. If your browser cannot decode the file, the tool cannot read it. A 15-second timeout catches files that stall and the error suggests an MP4 with H.264. Some MOV and MKV files refuse to report metadata at all, and some containers report no duration — in which case the tool says unknown rather than inventing one.

Practical ceilings. Images up to 100 MB and roughly 80 megapixels; anything larger is refused rather than risking the tab. Batches stop at 30, and files past that are named in a skip message rather than dropped silently. Exported crops are PNG — lossless but large, deliberately, so the only lossy step in the chain is the one Instagram applies.

Nothing here touches your account. There is no login, no password field and no connection to Instagram — the tool cannot post, schedule or read anything. That is the correct posture for anyone else’s tool too; the account safety guide covers which services genuinely need access and which are simply collecting credentials.

This runs in your browser

No sign-in, no Instagram password, no account connection. Images and videos you open here are read by your own browser from a local object URL — images through the Canvas API, videos through the built-in decoder. There is no upload endpoint on this site, so there is nowhere for the file to go. Open your browser’s network tab and watch: after the page loads, there are no further requests.

Frequently asked questions

What size should Instagram photos be?

1080 px on the width, with the height set by the ratio: 1080 x 1350 for 4:5 portrait, 1080 x 1080 for square, 1080 x 566 for 1.91:1 landscape, and 1080 x 1920 for Reels and Stories.

What is the tallest photo Instagram allows in the feed?

4:5, a decimal ratio of 0.800, which is 1080 x 1350 px. Anything taller is trimmed top and bottom to fit, and the checker tells you how many pixels would be lost on your file.

Why does my phone photo show up sideways in other size checkers?

Because it carries an EXIF orientation tag and they read the stored raster instead of the displayed one. This tool parses the JPEG marker chain for that tag, works out whether your browser already applied it, and only rotates when it has not — so measurements and exports are always in the orientation you see.

Can I check a whole folder at once?

Yes. Batch mode takes up to 30 images and lists each with its size, ratio, verdict and what to do about it. “Fix all to this ratio” exports the lot as a ZIP of PNGs. Batch crops are centred, so anything needing specific framing should be checked on its own.

What does bytes per pixel tell me?

Roughly how much compression has already been applied. Below about 0.25 the file is squeezed hard and one more re-encode — which Instagram will perform — is likely to show as blocking in flat areas. It is a proxy that varies with subject matter, not a measurement of quality.

My PNG has a transparent background. What happens on Instagram?

It gets flattened during re-encoding and you do not control the colour behind it. The tool detects the alpha channel, reports roughly how much of the image it covers, and lets you flatten on white or black before export so the result is predictable.

Does this tool resize or convert my video?

No. It reads video metadata only — width, height and duration straight from your browser’s decoder. It does not transcode, trim, re-encode or resize anything, and the bitrate shown is an estimate from file size and length. Use a video editor for the re-crop. Images are different: the tool exports real cropped PNGs.

Should I export bigger than 1080 px for better quality?

No. Uploads wider than 1080 px are commonly observed to be scaled down anyway, so a larger export just adds a resampling pass you did not control. Export at exactly 1080 px wide from your own software.

What is in the preset ZIP?

Four PNGs cropped from your current focus point — 1080 x 1350, 1080 x 1080, 1080 x 1920 and a circle-masked 1080 x 1080 profile preview — plus a text file listing them. Upload the plain square as your profile photo, since Instagram applies the circle itself.

How long can a Reel be?

The tool flags anything over 90 seconds as beyond the common cap and anything over 3 minutes as beyond the longer ceiling many accounts have. These limits have changed more than once and vary during rollouts, so check the app if your clip is near a boundary. Story segments split every 60 seconds.