How X / Twitter handles images
X (formerly Twitter) re-encodes every image you upload. It resizes to its own display dimensions and compresses to a JPG quality it controls. The result is that the image displayed in a timeline is always a re-compressed version of what you uploaded.
That said, the quality of X's own compression is influenced by what you give it. Uploading a 5MB photo gives no benefit — X shrinks it anyway. Uploading a heavily compressed image means X compounds the artefacts.
Recommended dimensions
- Single image: 1200×675px (16:9) or 1200×1200px (square)
- Two images: 700×800px each
- Three images: 700×800px (first), 1200×800px (other two)
- Four images: 1200×600px each
- Header image: 1500×500px
- Profile photo: 400×400px
Recommended file size
300-500KB per image is ideal for X / Twitter. Uploads quickly, displays sharply, and stays well under the platform's 5MB per-image limit. Larger files offer no advantage — X will re-encode them regardless.
Format choice
JPG for photographs. PNG works for graphics with transparency or flat colours, but is unnecessarily large for photos. X does not support WebP uploads.
How FITLY helps
Set a target of 500KB and JPG format, choose a max dimension of 1200px, drop your photo in, and download the result. Everything runs locally in your browser — nothing is uploaded.