Compress Images for Twitter/X — Free, Fast & Private
A crisp photo that turns to mush the moment it is posted is X's encoder at work, not your camera. It re-encodes what you upload and sizes down whatever exceeds its limits — and the further your file is from what it expects, the harder it hits. Beat it to it: bring the image to 1600 × 900 and 300-500KB yourself, in the format that survives, and the second encode has nothing left to do.
MiniPx runs that step in the browser tab, with no upload to any third-party server. Drop the image in, set the width for the slot you are filling, pick Smart compression, and attach the result.
Twitter/X image dimensions guide
| Image type | Dimensions | Max size | Format |
|---|---|---|---|
| In-feed image | 1600 x 900px (16:9, our setting) | 5MB | JPEG, PNG, GIF or WebP |
| Header / banner | 1500 x 500px | Not published | JPEG, PNG or GIF |
| Profile photo | 400 x 400px | 2MB | JPEG, PNG or GIF |
For profile photos, see our passport-size photo resizer to crop a perfect square. For tips across all platforms, check compress images for social media.
JPEG vs PNG on Twitter
X accepts JPG, PNG, GIF and WebP images up to 5MB each, per its developer documentation, but it does not document how it re-encodes each format. So pick by content: PNG for text, sharp edges and flat colours; for photographs, JPEG at 1600x900 compressed to 300-500KB gives the best results.
Twitter header optimization
The Twitter header banner is 1500x500px (3:1 ratio). It displays differently on mobile — the top and bottom edges get cropped. Keep text and logos in the centre 60% vertically. Compress your header to under 300KB in JPEG for fast loading. To get the pixel dimensions right before that step, resize the image for X.
Why tweets with images get more engagement
A blurry or poorly cropped image hurts a post more than it helps. Upload at the exact 16:9 ratio (1600x900), compress to 300-500KB, and your images will look sharp in the timeline. MiniPx makes this a 30-second process.
Limits checked on 6 October 2026 against X’s profile-photo help and X’s media upload specifications.
