A landscape image for an X post is built at 1600 x 900 px, and X caps a still image at 5 MB. The fact that decides everything else is the gap between the crop shown inline in the timeline and the full frame people only reach by tapping.
Where it shows
- Inline in the home timeline on x.com
- Inline in the timeline in the X mobile app
- The full frame view after a tap
- The preview inside a quote post
- Notification previews as a small thumbnail
The safe zone
X shows an image inline inside a rounded card and opens the full frame on tap. Files between roughly 2:1 and 3:4 are shown whole in the timeline, so a 16:9 landscape and a 4:5 portrait both survive intact, while anything wider or taller gets a center crop with the rest hidden until someone opens it. The rounded corners of the card shave the extreme edges, so keep type and logos a little inside the boundary and put the point of the image near the middle.
Quirks worth knowing
- X's own media documentation lists JPG, PNG, GIF and WEBP as acceptable image types, and WEBP is on that list even though most size guides never mention it.
- The published ceiling is 5 MB for a still image and 15 MB for an animated GIF, so the same 6 MB file passes as a GIF and fails as a PNG.
- Buffer's guide puts the uncropped timeline range at 2:1 through 3:4, which is far wider than the 16:9 only crop people still design around.
- A post carrying more than one image is laid out as a grid, and each file is center cropped into its tile no matter what ratio it was exported at.
- X strips metadata and re-encodes on upload, so a PNG screenshot of text survives the trip noticeably better than a JPG of the same screen.
Common mistakes
- Exporting a tall infographic and expecting it to be read in the timeline, when anything past 3:4 is center cropped until tapped.
- Sending a 6 MB PNG and hitting the 5 MB still image ceiling, which blocks the post rather than compressing the file.
- Running a caption along the bottom edge, where the card's rounded corners clip the ends of the line.
- Uploading four images and assuming each one keeps its own crop inside the grid.
What we recommend
- Export a landscape post image at 1600 x 900 px and a portrait one at 4:5, both of which show whole in the timeline.
- Keep a still image comfortably under 5 MB and only lean on the 15 MB allowance when the file really is an animated GIF.
- Use PNG for screenshots of text and JPG for photographs, since X re-encodes either way and PNG holds hard edges better.
- Place the single most important element in the center so any grid or overflow crop still contains it.
Common questions
Why is my X image cut off in the timeline?
X shows images whole only inside a range of roughly 2:1 to 3:4, per Buffer's current guide. Anything taller or wider is center cropped in the card and shown in full only after a tap. Re-export inside that range and the crop stops happening.
What is the maximum image file size on X?
X's developer documentation gives 5 MB for a still image and 15 MB for an animated GIF. Those are hard upload limits rather than compression targets, so a file over them is rejected outright. The accepted formats are JPG, PNG, GIF and WEBP.
Does X support WEBP images?
Yes. X's own media documentation lists WEBP alongside JPG, PNG and GIF as an acceptable image type. Most social size guides leave it out, which is why people assume it will fail. It is a useful option when a PNG would break the 5 MB ceiling.
Why do my four images look badly cropped in one X post?
A multi image post arranges the files into a grid and center crops each one into its tile. The ratio you exported at is ignored inside that layout. Keep the subject of each image near the middle, or post them one at a time.
More answers on thumbnail, carousel and cover questions are on the FAQ.