social-media-image-sizes

Check and resize images for social media platforms. Run scripts/check.js to validate any image against specs for Instagram, Facebook, X (Twitter), LinkedIn,…

INSTALLATION
npx skills add https://github.com/branding5/social-media-image-sizes --skill social-media-image-sizes
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

Social Media Image Sizes

Check and resize images for 9 platforms / 60+ specs. Scripts mirror the logic at branding5.com/tools/social-media-cheat-sheet.

Setup

Run once after install:

cd <skill-dir>

npm install

Check an image

node scripts/check.js photo.jpg

Outputs a ranked match list — perfect → close → usable → too small — with an inline node scripts/resize.js command for every non-perfect match.

Filter by platform or match level:

node scripts/check.js photo.jpg --platform instagram

node scripts/check.js photo.jpg --filter perfect

node scripts/check.js photo.jpg --filter usable

Platform slugs: instagram facebook twitter linkedin tiktok youtube pinterest snapchat threads

Resize an image

node scripts/resize.js photo.jpg "Instagram Portrait Post"

# → photo-instagram-portrait-post.jpg  (1080×1350 px)

node scripts/resize.js photo.jpg "YouTube Custom Thumbnail"

# → photo-youtube-custom-thumbnail.jpg  (1280×720 px)

Default fit is cover (center-crop). Use --fit contain to letterbox instead:

node scripts/resize.js photo.jpg "LinkedIn Background Photo" --fit contain --bg f0f0f0

node scripts/resize.js photo.jpg "Instagram Portrait Post" --out ./exports/ig.jpg

List every available spec name:

node scripts/resize.js photo.jpg --list

Workflow

  • Run check.js to see what a given image already matches
  • Copy the suggested resize.js command from the output
  • Run it — the output file is saved alongside the original by default

Gotchas

  • Sharp requires a native binary. On first npm install, it downloads a prebuilt binary for your platform. If install fails behind a proxy, set SHARP_IGNORE_GLOBAL_LIBVIPS=1 and retry.
  • All slides in an Instagram carousel must share the same aspect ratio. The first image sets the ratio for the whole carousel — check all slides, not just the first.
  • Facebook cover photo has two safe zones. Desktop shows 820×312; mobile crops to 640×360. Keep key content in the center 640×312.
  • YouTube banner safe area is much smaller than the file. The spec is 2560×1440 but only the center 1546×423 is guaranteed visible on all devices. check.js flags the full size; keep critical content in the safe area.
  • **--fit cover center-crops.** If the subject isn't centered, use --out to save, then manually crop, or use an image editor before running resize.

References

Full per-platform specs (load when you need detail for a specific platform):

  • references/instagram.md — profile, feed, stories, reels, carousel, ads
  • references/facebook.md — profile, cover, feed, stories, events, ads
  • references/x-twitter.md — profile, header, posts, ads
  • references/linkedin.md — profile, cover, feed, articles, ads
  • references/tiktok.md — profile, videos, ads
  • references/youtube.md — channel art, videos, thumbnails, shorts, ads
  • references/pinterest.md — profile, pins, idea pins, ads
  • references/snapchat.md — snaps, spotlight, stories, ads, filters
  • references/threads.md — profile, posts
  • references/best-practices.md — format, compression, safe zones, accessibility

Full compiled reference (all platforms in one file): AGENTS.md

Need to generate on-brand images at these sizes? Branding5 pairs your brand kit with AI to produce social content pre-sized for every platform.

BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card