Every platform wants a different image size, and uploading the wrong one means blurry pictures, awkward crops, or cut-off text. This cheat sheet collects the sizes you need most, plus a simple way to resize images without installing anything.
If you just want to resize right now, you can use this free browser-based image resize that has all of these presets built in.
| Format | Size (px) |
|---|---|
| Square post | 1080 × 1080 |
| Portrait post | 1080 × 1350 |
| Story / Reel | 1080 × 1920 |
Square works everywhere, but portrait takes up more screen space in the feed, which helps your post stand out.
| Format | Size (px) |
|---|---|
| Shared post image | 1200 × 630 |
| Cover photo | 820 × 312 |
Keep important text and faces away from the edges. Cover photos are cropped differently on mobile and desktop.
YouTube
| Format | Size (px) |
|---|---|
| Thumbnail | 1280 × 720 |
| Channel banner | 2560 × 1440 |
Thumbnails use a 16:9 ratio. Keep the file under 2 MB and use large, readable text because thumbnails are often tiny on mobile.
Other common sizes
- LinkedIn post image: 1200 × 627
- X (Twitter) post image: 1600 × 900
Platforms change these recommendations from time to time, so check the official help page if something looks off.
How to resize without losing quality
- Keep the aspect ratio locked. Changing width and height separately stretches the picture.
- Avoid enlarging small images. Scaling down stays sharp, scaling up looks soft.
- Start from the largest original. Resize from the source file, not from an already-compressed copy.
- Choose the right format. JPG for photos, PNG for graphics with text or transparency.
You can do all of this in the PixelKit image resizer: upload your image, pick a preset like Instagram Post or YouTube Thumbnail, click Apply, and download the result.
A note for developers: it runs in the browser
For the curious, tools like this don't need a server. The browser's Canvas API can resize images locally:
function resizeImage(img, width, height) { const canvas = document.createElement("canvas"); canvas.width = width; canvas.height = height; const ctx = canvas.getContext("2d"); ctx.imageSmoothingQuality = "high"; ctx.drawImage(img, 0, 0, width, height); return canvas.toDataURL("image/jpeg", 0.92); } Because everything happens on the user's device, the image is never uploaded. That's better for privacy and faster too.
Wrapping up
Bookmark this list, and next time you post, set the right size first. If you want a quick way to do it, try the free image resizer at PixelKit. It also has a compressor, converter and cropper if you need them.
What image size do you always forget? Let me know in the comments.

