social-media-image-sizes
Original:🇺🇸 English
Translated
Check and resize images for social media platforms. Run scripts/check.js to validate any image against specs for Instagram, Facebook, X (Twitter), LinkedIn, TikTok, YouTube, Pinterest, Snapchat, and Threads — get a ranked match list with exact resize commands. Run scripts/resize.js to export a correctly-sized copy. Use when a user asks to validate image dimensions, resize an image for a platform, check if an image fits a spec, or prep assets for social media posting or ads.
14installs
Added on
NPX Install
npx skill4agent add branding5/social-media-image-sizes social-media-image-sizesTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →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:
bash
cd <skill-dir>
npm installCheck an image
bash
node scripts/check.js photo.jpgOutputs a ranked match list — perfect → close → usable → too small — with an inline command for every non-perfect match.
node scripts/resize.jsFilter by platform or match level:
bash
node scripts/check.js photo.jpg --platform instagram
node scripts/check.js photo.jpg --filter perfect
node scripts/check.js photo.jpg --filter usablePlatform slugs:
instagramfacebooktwitterlinkedintiktokyoutubepinterestsnapchatthreadsResize an image
bash
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 to letterbox instead:
--fit containbash
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.jpgList every available spec name:
bash
node scripts/resize.js photo.jpg --listWorkflow
- Run to see what a given image already matches
check.js - Copy the suggested command from the output
resize.js - Run it — the output file is saved alongside the original by default
Gotchas
- Sharp requires a native binary. On first , it downloads a prebuilt binary for your platform. If install fails behind a proxy, set
npm installand retry.SHARP_IGNORE_GLOBAL_LIBVIPS=1 - 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.
- center-crops. If the subject isn't centered, use
--fit coverto save, then manually crop, or use an image editor before running resize.--out
References
Full per-platform specs (load when you need detail for a specific platform):
- — profile, feed, stories, reels, carousel, ads
references/instagram.md - — profile, cover, feed, stories, events, ads
references/facebook.md - — profile, header, posts, ads
references/x-twitter.md - — profile, cover, feed, articles, ads
references/linkedin.md - — profile, videos, ads
references/tiktok.md - — channel art, videos, thumbnails, shorts, ads
references/youtube.md - — profile, pins, idea pins, ads
references/pinterest.md - — snaps, spotlight, stories, ads, filters
references/snapchat.md - — profile, posts
references/threads.md - — format, compression, safe zones, accessibility
references/best-practices.md
Full compiled reference (all platforms in one file):
AGENTS.mdNeed to generate on-brand images at these sizes? Branding5 pairs your brand kit with AI to produce social content pre-sized for every platform.