Instagram, YouTube and LinkedIn Image Sizes, Checked at the Source

Search for “Instagram post size” and you’ll find a dozen tables that don’t agree with each other. Some are years old, some copy each other, and some mix up what a platform recommends with what it accepts. When I added resizers for Instagram, YouTube and LinkedIn to ToolOnTap, I made one rule before writing any code: a size goes in only if I’ve read it on the platform’s own help page, and that page is written in a comment next to the size.

The sizes, and the comment next to each

All three pages use the same component. Each page passes it a list of sizes and, where the platform sets one, a file size limit. Above the YouTube entry, the comment reads “16:9, 3840×2160 recommended, min width 640, 2 MB on mobile / 50 MB on desktop”, with the address of YouTube’s help page. The entry itself:

preset: {
  sizes: [
    { label: 'HD 1280 × 720', width: 1280, height: 720 },
    { label: '4K 3840 × 2160', width: 3840, height: 2160 },
  ],
  maxFileKB: 2000,
},

Here is everything the three pages offer, as it stands in the code:

Page Sizes (px) File size warning Source in the code
Instagram post 1080 × 1080, 1080 × 1350 (4:5), 1080 × 1440 (3:4), 1080 × 566 (landscape) none help.instagram.com/1631821640426723
YouTube thumbnail 1280 × 720, 3840 × 2160 over 2 MB support.google.com/youtube/answer/72431
LinkedIn banner 1584 × 396 over 8 MB linkedin.com/help/linkedin/answer/a568217

A few of these numbers need a word.

Instagram’s landscape is 1080 × 566. Instagram’s help page says feed photos are up to 1080 pixels wide, with shapes from 1.91:1 landscape to 3:4 portrait. 1080 divided by 1.91 is 565.4. Rounding down to 565 would make the photo slightly wider than 1.91:1, outside the allowed range. 566 gives a ratio of about 1.908, just inside it.

YouTube has two sizes because of two limits. 3840 × 2160 is what YouTube’s help page recommends. The same page sets a 2 MB limit for thumbnails uploaded from the mobile app, against 50 MB from a computer. A detailed 4K image can easily go over 2 MB as a JPG, so 1280 × 720 stays as the safer choice for people who upload from their phones.

LinkedIn is one size. 1584 × 396 is the recommended size for a personal profile background, JPG or PNG under 8 MB.

Some sizes are missing on purpose. Instagram stories, Facebook covers and WhatsApp profile photos are all popular searches, but I haven’t confirmed their sizes on the platforms’ own pages yet, so they don’t have pages. A comment in the code says exactly that, so nobody adds them from a third-party table by accident.

Why the resizers crop to fill

There are two ways to get an image into a box of a different shape.

  • Fit: scale the image until it fits inside the box and keep its shape. Nothing is cut, but the result is smaller than the box in one direction, or it needs bars to fill the gap.
  • Cover: scale the image until it fills the box and cut off what sticks out. The result is exactly the box size, and part of the picture is lost.

ToolOnTap’s general image resizer does fit. With “Keep aspect ratio” ticked, a 4000 × 3000 photo resized to a 1080 × 1080 box comes out at 1080 × 810, because it’s scaled by whichever side hits the box first.

For a social platform, fit is the wrong answer. You asked for a square post and got a 4:3 one. Turning “Keep aspect ratio” off gives you 1080 × 1080, but by stretching the photo, which squashes faces. So the social pages always cover. The crop box is locked to the target’s shape, and you drag it to choose which part is kept. The image arrives in its final shape, so the post shows the framing you chose.

The LinkedIn banner shows how much cover can cost. The banner is a 4:1 strip. An ordinary 3:2 camera photo cropped to 4:1 keeps its full width but only 37.5% of its height (a quarter of the width, divided by two thirds of it). That’s why the LinkedIn page tells you to pick a photo whose subject sits in a horizontal band.

Exact pixels from cropperjs

The crop box comes from cropperjs, which can return the cropped area at any size you ask for. It rounds that size to match the crop box’s ratio, so the result can be a pixel off. A 1584 × 396 banner that’s actually 1584 × 397 defeats the point of the page. So after asking cropperjs for the canvas, the shared cropper component checks the result and redraws it at the exact size when it doesn’t match:

if (canvas.width === size.width && canvas.height === size.height) return canvas
// cropperjs rounds to the crop box ratio; redraw so exact sizes (passport photos) are exact
const exact = createCanvas(size.width, size.height)
exact.ctx.imageSmoothingQuality = 'high'
exact.ctx.drawImage(canvas, 0, 0, size.width, size.height)
return exact.canvas

A 1-pixel stretch is invisible, and the file is then exactly the size shown on the page.

Two warnings, before and after

The tool warns at two moments.

Before you create the image, it compares your photo with the size you picked. If your photo is smaller in either direction, for example a 1920 × 1080 screenshot going to 4K, it says your image will be enlarged and may look soft. Enlarging can’t add detail that isn’t there, and a soft thumbnail looks worse in a feed than a sharp smaller one. The tool still lets you go ahead, because sometimes a slightly soft image is all you have.

After you create it, it compares the file size with the page’s maxFileKB. On the YouTube page, if your thumbnail is over 2 MB, it tells you that’s over the limit in some places on the platform and suggests a smaller size or compressing it.

One detail there: the limit is checked as maxKB * 1000 bytes, so 2 MB means 2,000,000 bytes. Platforms rarely say whether their “MB” means 1,000,000 or 1,048,576 bytes, and the smaller reading is the safe one. A file that passes this check passes either reading.

PNG or JPG

The output format follows a simple rule: a PNG stays PNG, and everything else is saved as JPG at 92% quality on a white background. PNG keeps sharp edges on text and logos, which matters for thumbnails and banners with words on them. Photos are much smaller as JPG, which helps them stay under the warning limits. YouTube’s and LinkedIn’s help pages both list JPG and PNG.

The file name says what you got: holiday.jpg cropped for a 4:5 post becomes holiday-1080x1350.jpg.

Try them

All three resizers work in your browser without uploading your image. Pick the one for your platform: Instagram post, YouTube thumbnail or LinkedIn banner. For other image jobs, see all image tools.

Tools in this article

  • Resize images for Instagram posts

    Crop and resize photos for Instagram posts: 1080×1080 square, 1080×1350 or 1080×1440 portrait, 1080×566 landscape. Free, no upload.

  • YouTube thumbnail resizer

    Crop any image to a 16:9 YouTube thumbnail at 1280×720 or 3840×2160, YouTube’s recommended size. Free, private, in your browser.

  • LinkedIn banner resizer

    Crop and resize any image to LinkedIn’s recommended 1584×396 profile background size. Free, private, and nothing is uploaded.

More articles