Pixohub

What Instagram, X, LinkedIn, Pinterest and others say they do to your photos

By Rundong LiPublished 8 min read

Short answer: most platforms publish their upload limits, but few say how they re-encode your photo. Instagram says it stores feed photos at no more than 1080 px wide. Pinterest says it converts every upload to an 8-bit RGB JPEG. Mastodon downscales post images to 8.3 megapixels. Telegram compresses ordinary photos unless you send them as a file. For X, Facebook and LinkedIn, the commonly repeated claims about PNG-to-JPEG conversion and fixed resize steps don't appear on any official page we could find. The smallest limits in the table are Discord's 256 KB for custom emoji and Bluesky's 1,000,000 bytes for avatars and banners.

This is a review of what the platforms document, not a measurement of their compression. We didn't upload test images to these services. Each rule below comes from the platform's own help centre, developer documentation or ads guide, and every page was checked on 24 October 2026. Where we use file sizes, they are from our own resize test, and we say so.

The documented rules, side by side

What each platform's own pages say, checked 24 October 2026. Each platform name links to the main source; other rows in our data link to further official pages. Ads and API figures are labelled as such, because many platforms document only those.
PlatformMax upload sizeMax or stored dimensionsDocumented processing
Instagram8 MB, JPEG only, via the API; 30 MB for feed and story adsFeed photos sized down to 1080 px wide; under 320 px enlarged to 320 px. API: width 320–1440 pxRatios outside 1.91:1 to 3:4 are cropped. API converts non-sRGB colour to sRGB
Facebook8 MB for link-share images (og:image); 30 MB for feed and story adsLink images: 200 × 200 minimum, 1200 × 630 recommended. Page cover: at least 400 × 150Page cover cropped differently on computers (16:9) and phones (2.4:1); Page profile picture cropped to a circle; link images cached by URL
X5 MB per image, 15 MB per GIF; 2 MB for profile and header photosRecommended 400 × 400 profile, 1500 × 500 headerUp to 60 px at the top and bottom of the header may be cropped. No re-encoding rule published
LinkedIn5 MB per photo post; 8 MB for profile photo and cover; 3 MB for Page imagesUp to 36 megapixels; posts at least 552 × 276, 1080 px wide recommendedPosts outside 3:1 to 4:5 centred and cropped; transparent Page logos shown on white
Pinterest20 MB on the web (1 GB recommended in the apps)2:3 (1000 × 1500) recommended; taller Pins may be cut off in the feedEvery upload converted to an 8-bit RGB JPEG; custom colour profiles not supported; faint layer added over white or black Pins
TikTok20 MB per photo, WebP or JPEG, via the Content Posting APIMaximum 1080p via the API; up to 35 photos per postApp limits and recompression not documented
YouTubeThumbnails 2 MB on mobile, 50 MB on desktop; banner 6 MB; profile 15 MB; post images 16 MBThumbnails 3840 × 2160 recommended (640 px minimum width); banner at least 2048 × 1152Banner cropped per device (safe area 1235 × 338 at minimum size); post images shown 1:1 in the feed
Threads8 MB, JPEG or PNG, via the APIWidth 320–1440 px, scaled up or down to fit; ratio up to 10:1Non-sRGB colour converted to sRGB
Bluesky2 MB per post image (4 per post); 1,000,000 bytes for avatar and banner, PNG or JPEGNo pixel dimensions publishedRemoving metadata is left to the app or user; the server doesn't yet enforce it
Discord20 MB per chat file on free accounts since August 2026; emoji 256 KB; profile banner 10 MBProfile banner at least 680 × 240; server banner at least 960 × 540Size checked before compression; avatars, icons and emoji served at power-of-two sizes from 16 to 4096 px
Mastodon16 MB per post image; 2 MB for avatar and header (each server can set its own)Post images downscaled to 8.3 MP; avatar to 400 × 400; header to 1500 × 500Animated GIFs converted to silent MP4
Telegram2 GB per file (4 GB with Premium); 10 MB per photo via the Bot APIServer copies bounded at 100, 320, 800, 1280 and 2560 pxRegular photos compressed to use about 90% less data; HD option; send as a file to keep the original

What the documents tell you, and what they don't

Resizing is documented more often than compression

Instagram, Mastodon, Threads and Telegram all state the size they store or deliver. Instagram: "If you share a photo at a higher resolution, we size it down to a width of 1080 pixels." Mastodon: "Images will be downscaled to 8.3 megapixels." Pinterest is the only one here that clearly states a format conversion: "All uploaded images are converted to standard 8-bit RGB JPEGs before being turned into Pins and ads." Telegram describes compression only in general terms, saying regular photos are optimised to "use 90% less mobile data", and gives no quality figure. None of the platforms publishes a JPEG quality setting.

Cropping depends on the placement

LinkedIn is the most precise. Photos with a ratio outside 3:1 to 4:5 "will be centered and cropped to fit the max ratio", and can't be resized after posting. Instagram crops anything outside its supported range. Facebook shows a Page cover at 16:9 on computers and 2.4:1 on phones, so one file is cropped two ways. YouTube uses one banner for computer, mobile and TV, and only the 1235 × 338 centre area (at the minimum 2048 × 1152 size) is guaranteed to show. X warns that up to 60 px can be lost at the top and bottom of a header.

Popular numbers that aren't on official pages

Our research also recorded the widely repeated figures that we could not confirm on an official page. They may be true, but the platforms don't say so on any page we found:

  • X converting PNG uploads to JPEG. The current docs.x.com best-practices page doesn't say this.
  • Facebook resizing photos to 720, 960 or 2048 px, and the HD upload setting. We found no official help page describing them.
  • Instagram's 320 × 320 profile picture size and the profile-grid thumbnail shape. Instagram's help pages don't state them.
  • YouTube's old 1280 × 720 thumbnail size and a universal 2 MB limit. The current help page gives 3840 × 2160 and different limits for mobile and desktop.
  • TikTok's in-feed safe-zone margins in pixels. These come from third-party readings of TikTok's template files.
  • Bluesky banner pixel dimensions such as 1500 × 500. The official schema sets only file type and size.
  • Reddit's limits for normal (non-ad) post images, and WhatsApp's profile photo size. We found no official page we could read for either.

Practical advice that follows from the rules

  1. Upload at the size the platform keeps. For Instagram feed posts, 1080 px wide is the stored width, so 1080 × 1080 or 1080 × 1350 means Instagram doesn't have to resize. Mastodon downscales headers to 1500 × 500 anyway, which is the Mastodon header preset.
  2. Choose a shape inside the allowed range, or the platform crops for you. LinkedIn posts must be between 3:1 and 4:5. The 1200 × 627 LinkedIn post is 1.91:1, and Facebook link previews display in full close to that ratio (1200 × 630).
  3. Watch the small limits. A Bluesky banner may be at most 1,000,000 bytes. In our resize test, the 3000 × 1000 banner saved as PNG came to 5.2 MB from a landscape phone photo, while the JPG was 523 KB. X caps profile and header photos at 2 MB, and our 1500 × 500 header PNGs were 1.5 and 1.8 MB. They fit, but with little room to spare. For photos, the JPG download or a target-size tool such as compress to 1 MB avoids rejected uploads.
  4. Thumbnails uploaded from a phone get a smaller limit. YouTube allows 50 MB on desktop but 2 MB on mobile. Our PNG Shorts covers were 3.0 and 4.5 MB, over the mobile limit. The JPGs were 297 KB and 601 KB.
  5. For Pinterest, upload in sRGB. Pinterest converts uploads to JPEG and ignores custom colour profiles. It advises PNG in sRGB to avoid quality loss and colour shifts. Use the 1000 × 1500 Pin size it recommends.
  6. Strip location data before posting to Bluesky. Bluesky's docs make removing metadata the app's job, not the server's. EXIF Remover removes GPS and camera data first.
  7. On Telegram, send as a file to keep the original. Regular photos are compressed. The HD option keeps more pixels, and sending as a file keeps the full original.
  8. Keep text out of the edges. X crops header edges, Facebook crops covers differently by device, and YouTube guarantees only a centre strip of the banner. Put names and logos in the middle of the X header, Facebook cover and LinkedIn banner.

Our size presets already match these documented sizes, such as Threads, TikTok photo posts, Discord banner, Discord emoji and YouTube thumbnail. Each preset page lists the facts for that placement with links to the sources. Our crop test of all 143 presets shows how much of a phone photo each shape keeps.

How we tested

This article is a documentation review, not an upload test. For each platform we opened its own help centre, developer documentation, ads guide or (for Bluesky) the official schema on GitHub, and checked every page on 24 October 2026. We recorded each rule with a verbatim quote and its URL, and sorted it as processing, cropping, upload limit or safe zone. Claims we found only on third-party sites went into a separate unverified list instead of the article. The method is explained in our editorial policy.

The file sizes quoted above come from our resize test on the same date. Each /resize/ preset page was run in Chromium, driven by Playwright 1.64.1 on an Apple M2 Mac (see how we test), with two iPhone photos from our test set: a 4032 × 3024 landscape and a 3024 × 4032 portrait. For each we saved the default PNG and the JPG at 85%.

Limitations: we didn't upload anything to these platforms, so we can't tell you how much quality an upload loses or whether a platform enforces its stated limits exactly. Several figures apply only to ads or to the developer API, because that is all the platform publishes, and the apps may behave differently. Platforms change their pages often. We review these facts every three months, and the date above is when they were last checked.

Tools mentioned in this article

More from the blog