Compress Images for Twitter/X — Free, Fast & Private
Twitter (now X) applies aggressive in-feed compression to every image. Photos that look crisp on your phone can turn into a blocky mess after posting. The trick is to upload images at the exact dimensions Twitter expects, in the right format, at a controlled file size. That way Twitter's compression has less work to do.
MiniPx handles everything in your browser — no uploads to third-party servers. Drop your image in, set the right width, pick Smart compression, and you're done.
Twitter/X image dimensions guide
| Image type | Dimensions | Max size | Format |
|---|---|---|---|
| In-feed image | 1600 x 900px | 5MB | JPEG or PNG |
| Header / banner | 1500 x 500px | 5MB | JPEG or PNG |
| Profile photo | 400 x 400px | 2MB | JPEG or PNG |
| Card image (OG) | 1200 x 628px | 5MB | JPEG |
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
Twitter handles JPEG and PNG differently. JPEGs get recompressed (sometimes heavily). PNGs under 900px wide are kept as-is, but larger PNGs get converted to JPEG. If your image has text, sharp edges, or flat colours, try uploading a PNG under 900px — Twitter will preserve it pixel-perfect. 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.
Why tweets with images get more engagement
Tweets with images get 150% more retweets than text-only tweets. But a blurry or poorly cropped image hurts 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.