TL;DR, Quick Answer
7 min readX caps each photo at 5MB and allows 4 photos, 1 animated GIF or 1 video per post. A single photo shows in full when its aspect ratio sits between 2:1 and 3:4, so a 9:16 vertical image does not get that promise. X recommends 400 x 400 pixels for profile photos, with a 2MB file limit, and 1500 x 500 pixels for headers, which can lose 60 pixels at the top and bottom on some screens. Animated GIFs are capped at 15MB on the web and in the API, and at 5MB from the mobile app.
What is the right X image size?
The right X image size depends on where the image goes: X shows a single post photo in full at any aspect ratio between 2:1 and 3:4, caps each photo at 5MB, and recommends 400 x 400 pixels for profile photos and 1500 x 500 pixels for headers. X publishes these numbers across three places, the Help Center, the X API media docs and the X Ads creative specs, and no single page lists them all. Pick the row for your image before you export it.
| Image | What X states | X source |
|---|---|---|
| Single photo in a post | Aspect ratios "between 2:1 and 3:4" display in full | Help Center, "How to post photos or GIFs on X" |
| Photo file | "Photos can be up to 5MB" | Help Center and X API media best practices |
| Photos per post | "up to 4 photos, 1 animated GIF or 1 video" | X API media best practices |
| Animated GIF | 5MB on mobile, 15MB on web | Help Center |
| Profile photo | 400 x 400 pixels recommended, 2MB maximum | Help Center, "Help with uploading a profile photo" |
| Header | 1500 x 500 pixels recommended | Help Center, "Help with uploading a profile photo" |
| Standalone image ad | 1200 x 1200 at 1:1, 1200 x 628 at 1.91:1 | X Ads Help Center, "Creative ad specs" |
X's Help Center gives no fixed pixel size for a photo in a post. It gives a range of shapes and a file cap, and the pixel counts in the rest of this page come from X's ads specs or from plain arithmetic, labelled as such.
Which aspect ratios does X show in full?
X shows a single photo in full when its aspect ratio falls between 2:1, twice as wide as tall, and 3:4, slightly taller than wide. The Help Center puts it this way: "When you Post a single photo, images with standard aspect ratios (between 2:1 and 3:4) will display in full to allow for a taller photo, without sacrificing quality, relevance, or engagement." It adds that "what you see in the Post composer is what you'll get on X."
The pixel sizes below are the ones X lists in its ads specs, except the 3:4 row, which is our arithmetic for the tallest shape inside the range.
| Shape | Ratio | Pixel size | Inside the full-display range |
|---|---|---|---|
| Wide landscape | 16:9 | 1920 x 1080 | Yes |
| Landscape | 1.91:1 | 1200 x 628 | Yes |
| Square | 1:1 | 1200 x 1200 | Yes |
| Portrait | 4:5 | 1440 x 1800 | Yes |
| Tallest in range | 3:4 | 1200 x 1600 | Yes, at the edge |
| Tall portrait | 2:3 | 1080 x 1620 | No |
| Vertical | 9:16 | 1080 x 1920 | No |
The Help Center does not say how X crops a photo outside the range, or how it lays out posts with 2, 3 or 4 photos. For a single image that must show whole in the timeline, stay at 4:5 or wider. A 9:16 story-style graphic made for Instagram image size specs is the common file that breaks this rule.

What is the maximum image file size on X?
The maximum image file size on X is 5MB per photo, a number the Help Center and the X API documentation agree on. The API page lists "Image size: <= 5 MB" and repeats the same 5MB figure for default accounts and for Premium or verified accounts, so paying for X Premium raises video limits but leaves the image cap where it is.
The two sources disagree on file types:
- Help Center: "We accept GIF, JPEG, and PNG files." It adds "We DO NOT accept BMP, TIFF or other file formats."
- X API: "Supported image media types:
JPG,PNG,GIF,WEBP." - X Ads: "PNG and JPEG are recommended. We do not accept BMP or TIFF files." GIFs in image ads "render as a static image."
WEBP works through the API and appears nowhere in the Help Center's list. JPEG and PNG are the two formats all three sources accept, so export to one of them. X's 5MB cap is more than twice Bluesky's limit of 2,000,000 bytes per image, so a file sized for Bluesky fits X without changes.
One post holds 4 photos, 1 animated GIF or 1 video. The Help Center adds that "Animated GIFs can't be included in Posts with multiple images." Photos do not use any of the post's characters: "photo and GIF attachments do not count towards the character limit in a Post."
How big can an animated GIF be on X?
An animated GIF on X can be up to 15MB when posted from the web and 5MB when posted from the mobile app, according to the Help Center, and the X API sets the same 15MB cap. The X API page adds three limits under "Animated GIF recommendations" and warns that "A GIF may fail during Post creation even if it is within the file size limit":
- Resolution at or below 1280 x 1080.
- At most 350 frames.
- At most 300 million pixels, counted as width times height times frames.
The third limit catches full-size GIFs first. A 1280 x 1080 frame holds 1,382,400 pixels, so 300 million pixels allows 217 frames at that size, well under the 350 frame cap. To keep a long GIF, shrink the frame; to keep a big frame, cut frames. The API also asks for the chunked upload with media_category=tweet_gif for larger GIFs, one of the values explained in the Twitter API media_category guide.
X plays looping GIFs only. The Help Center says a GIF that "plays a single time" will "display as a static image."
What size is an X profile photo and header?
X recommends 400 x 400 pixels for a profile photo and 1500 x 500 pixels for a header, the two dimensions given in the Help Center article on uploading a profile photo. The same article sets a 2MB maximum for profile photos and lists JPEG, GIF and PNG as the accepted formats. It gives no file size limit for headers.
Headers lose part of their height on some screens. X explains that even at the recommended size "60 pixels on the top and bottom could be cropped," because of "the way these images are displayed on different monitor sizes and in different browsers." Taking 60 pixels off each edge of a 500 pixel header leaves a 1500 x 380 band in the middle, so keep text and logos inside it.
AdaptlyPost
Start Your 7-Day Free Trial
All-platform analytics
Social Inbox
AI-powered assistant
What image size does an X link preview use?
X's live documentation gives link preview image sizes only for ads: the Website Card spec recommends 800 x 418 pixels at 1.91:1 or 800 x 800 pixels at 1:1, with a headline of at most 70 characters. The old Cards markup page on the developer site now redirects to the platform overview, and we found no live X page with an image spec for organic link cards. A 1200 x 628 image at the same 1.91:1 shape covers both the ad card and the standalone landscape image ad.
Does X change your image after upload?
X scales every photo after upload and does not publish its compression settings. The Help Center says "Your photo will be automatically scaled for display in your expanded X and in your gallery," and the API page says "All uploads are processed for optimization across multiple platforms." Neither page gives a quality level, a maximum pixel width or a conversion rule.
Exif data is the one part of that processing X explains in any detail. X reads it to suggest locations in the composer and for analytics on whether the photo was taken with the device camera, then states: "X retains Exif data temporarily to process your photo. It is not available to those who view your photo on X." The camera model and GPS tags in your original file do not reach viewers.

How do you schedule X posts with images at the right size?
AdaptlyPost schedules image posts to X from its Twitter/X post scheduler: you connect your X account through OAuth, attach up to 4 images to a post, write the text and pick a publish time. Threads go out in order, reply by reply, and the same queue holds video posts. To get an image post through on the first try:
- Export each photo as JPEG or PNG under 5MB.
- Keep a single photo between 2:1 and 3:4, such as 1200 x 1200 or 1440 x 1800.
- Post an animated GIF on its own, under 15MB and at or below 1280 x 1080.
- Keep header text inside the middle 1500 x 380 band.
- Attach the images in AdaptlyPost, write the post and schedule it.
For video on the same account, the file and length rules are in uploading videos to X.
Frequently asked questions
What is the best image size for an X post?
The best image size for a single X post photo is any shape between 2:1 and 3:4, such as 1200 x 1200 square or 1440 x 1800 at 4:5. X shows photos in that range in full. Keep the file under 5MB and export it as JPEG or PNG.
Does X crop images?
X promises a full display only for single photos with aspect ratios between 2:1 and 3:4. The Help Center does not describe how X crops photos outside that range or photos in posts with 2 to 4 images. Headers can lose 60 pixels at the top and bottom on some screens.
What is the X header size?
The X header size is 1500 x 500 pixels, the dimension X recommends in its Help Center. X warns that 60 pixels on the top and bottom can be cut on some monitors and browsers. Keep important content inside the middle 1500 x 380 pixels.
What is the X profile picture size?
The X profile picture size is 400 x 400 pixels, with a maximum file size of 2MB. X accepts JPEG, GIF and PNG for profile photos. Profile photos must be uploaded from x.com or an official X app.
Can you post WEBP images to X?
The X API lists WEBP as a supported image type alongside JPG, PNG and GIF. The Help Center lists only GIF, JPEG and PNG and says it does not accept "other file formats." Export to JPEG or PNG when you are not sure which route your tool uses.
Does X Premium allow bigger images?
X Premium does not raise the image limit. The X API documentation lists 5MB for images and 15MB for animated GIFs on both default and Premium accounts. Premium raises the video caps, not the photo ones.
How many photos can you attach to one X post?
X caps a single post at 4 photos, 1 animated GIF or 1 video, per the X API media best practices. A post cannot mix an animated GIF with additional photos. Photo and GIF attachments do not count toward the post's character limit.
What is the maximum number of frames in an X GIF?
The X API caps an animated GIF at 350 frames, though the 300 million pixel budget (width times height times frames) usually gets hit first. A 1280 x 1080 frame allows about 217 frames before hitting that cap, well short of 350. Shrink the frame size to keep more frames, or cut frames to keep a bigger frame.
What image size should you use for an X link preview card?
X's live documentation only specifies link preview sizes for its Website Card ad format: 800 x 418 pixels at 1.91:1 or 800 x 800 pixels at 1:1. There is no current X page with a spec for organic link card previews. A 1200 x 628 image at the same 1.91:1 ratio works for both the ad card and a standalone landscape image ad.
AdaptlyPost
Start Your 7-Day Free Trial
All-platform analytics
Social Inbox
AI-powered assistant
Does X keep the location data from your photos?
X retains a photo's Exif data temporarily to process the upload, and the Help Center says that data "is not available to those who view your photo on X." X also reads Exif data to suggest locations in the composer and for analytics on whether the photo was taken with the device camera.
Put this into practice with AdaptlyPost
Was This Article Helpful?
Let us know what you think!
See us more often in Google
One click marks AdaptlyPost as a preferred source, so our articles sit higher in your Top Stories, AI Mode, and AI Overviews.
Before you go...
AdaptlyPost
Schedule your content across all platforms
Manage all your social media accounts in one place with AdaptlyPost.
All-platform analytics
Social Inbox
AI-powered assistant
Related Glossary Terms


Choosing the Right Facebook Image Size for Pages, Posts and Links
The Facebook image size rules Meta publishes: a 320 x 320 Page profile picture, an 851 x 315 cover, 1200 x 630 link images and a 10MB photo cap.


Picking the Best Threads Image Size for Posts and Carousels
The Threads image size rules from Meta: JPEG or PNG, 8 MB per file, 320 to 1440 pixels wide, a 10:1 aspect ratio limit and 2 to 20 carousel items.
Getting the YouTube Thumbnail Size Right for Videos and Shorts
The YouTube thumbnail size YouTube recommends: 3840 x 2160 for videos, 2160 x 3840 for Shorts, JPG or PNG, 2 MB on mobile and 50 MB on desktop.
Related Articles


How to Add Mastodon Alt Text in the Web App and the API
Adding Mastodon alt text takes the ALT button in the composer or the description field on POST /api/v2/media. Server limits, defaults and culture.


How Pinterest Alt Text Works on Pins and in the API
Setting Pinterest alt text goes through the alt_text field on a Pin: 500 characters, one per Pin, separate from the description. What it does and how.


Organic Posts, Not Ads: The Facebook Carousel Size for Page Photos
The Facebook carousel size for organic Page posts: Meta sets 10MB per photo and no pixel size, so use one shape, 1080 x 1080, for 2 to 10 images.

