Getting Twitter (X) Image Sizes Right
Twitter (now X) resizes and re-compresses almost every image you upload. If your picture does not match the dimensions X expects for a given placement, it gets cropped, upscaled, or squeezed, and the sharp graphic you designed arrives looking soft. Using the correct size and format from the start is the only reliable way to control how your image looks once it lands in someone's feed.
The frustrating part is that the right numbers differ for each placement. A single in-feed photo, a square post, a profile picture, a header banner, and a link-card preview all have their own ideal dimensions and aspect ratios, and the consequences of getting them wrong range from a hidden subject to blurry text. There is no single "Twitter image size" that works everywhere.
This guide gives you the exact pixel dimensions, aspect ratios, and file formats X expects for every image placement, plus the reasons behind each number so you can adapt when the platform changes its layout. Every recommendation below reflects how X actually renders and re-compresses uploads in 2026, not the legacy Twitter specs that still circulate online.
Exact Image Sizes for Every Twitter (X) Placement
X resizes anything that does not match its expected dimensions. Uploading at the right size from the start is the only way to keep edges sharp and avoid awkward auto-crops. Use these dimensions:
| Placement | Recommended size (px) | Aspect ratio | Notes |
|---|---|---|---|
| Single image in a post | 1600 x 900 | 16:9 | Displays full-width in the timeline without cropping |
| Square post image | 1200 x 1200 | 1:1 | Maximizes vertical space on mobile feeds |
| Portrait post image | 1080 x 1350 | 4:5 | Tallest layout the timeline shows before cropping |
| Two-image post (each) | 700 x 800 | 7:8 | Shown side by side, each gets half the width |
| Profile photo | 400 x 400 | 1:1 | Rendered as a circle; keep the subject centered |
| Header / banner | 1500 x 500 | 3:1 | The profile photo overlaps the bottom-left corner |
| Card / link preview | 1200 x 628 | 1.91:1 | Set via the twitter:image meta tag on your page |
Aspect Ratios and Safe Zones
X crops to fit its layout slots, so the aspect ratio matters more than raw resolution. A 16:9 image fills the single-image slot edge to edge; anything wider gets letterboxed and anything taller than 4:5 is cropped top and bottom in the timeline (the full image still opens on tap).
Two safe-zone rules prevent the most common surprises. For the header image (1500 x 500), keep important content out of the bottom-left, where the circular profile photo sits, and away from the extreme edges, which are trimmed on narrow screens. For the profile photo, remember it is masked into a circle: design with a square that has comfortable padding so corners are never clipped through the subject.
Resolution beyond the recommended sizes does not improve display quality because X downscales to its own targets. Doubling the listed dimensions only helps when you expect users to open the image full-screen on high-density displays; otherwise it just wastes the file-size budget that compression will spend.
Formats and Compression on X
X accepts JPG, PNG, WebP, and GIF, and it re-compresses almost every upload. Choosing the right format reduces the visible damage from that second compression pass.
- Photos and complex images: JPG at 85-90% quality. The file is already small, so X's re-compression has little left to remove and artifacts stay invisible.
- Screenshots, logos, text, and flat graphics: PNG. Sharp edges and text survive far better than under JPG, which smears high-contrast boundaries.
- Transparency: PNG or WebP. JPG has no alpha channel and fills transparent areas with black or white.
- Animation: GIF up to 15 MB on web (5 MB on mobile) and under 100 frames; X converts longer GIFs to video.
File-size limits are 5 MB for images on mobile and 15 MB on the web. A correctly sized JPG or PNG almost never approaches these limits, so if your file is large, it is usually oversized in dimensions rather than in quality.
Common Mistakes and How to Avoid Them
The image looks soft or blurry after posting
This is X's re-compression acting on an oversized or low-quality source. Upload at the exact recommended size and export JPG at 85-90% quality rather than 100% (which only inflates the file before X shrinks it anyway).
The subject gets cropped out of the timeline preview
The image is taller than 4:5. Crop to 16:9, 1:1, or 4:5 before uploading so the part you care about stays inside the preview frame.
Text in a screenshot is fuzzy
You exported it as JPG. Re-save as PNG; lossless compression keeps letterforms crisp through X's processing.
Part of the header is hidden
Content drifted into the profile-photo overlap or the trimmed edges. Re-center the key elements inside the safe zone described above.
Prepare Your Image in the Browser
You do not need desktop software to hit these sizes. To change format, convert images between PNG, JPG, and WebP in your browser, and to bring a large photo under the size limit, compress it online first. Both run entirely on your device, so the image is never uploaded to a server before you post it to X.
A Five-Second Pre-Post Checklist
Before any image goes onto X, run through these four checks. They take seconds and prevent every problem covered above:
1. Right dimensions for the slot
Single image at 1600 x 900 (16:9), square at 1200 x 1200, portrait at 1080 x 1350 (4:5), profile photo at 400 x 400, header at 1500 x 500. Matching the slot is what stops X from cropping or upscaling your image.
2. Right format for the content
JPG for photographs, PNG for screenshots, logos, and anything with text or transparency. The wrong format is the single most common reason text looks fuzzy after posting.
3. Sensible quality, not maximum
Export JPG at 85-90%. Saving at 100% just makes a bigger file for X to crush; saving below 80% gives X's compression a head start on degrading your image.
4. Under the size limit
5 MB on mobile, 15 MB on the web. A correctly sized image is almost always far under this, so a large file usually means the dimensions are too big, not the quality too high.
Compress Your Files Now
Use our free online compressor to optimize your files for any platform.
Compress Files FreeFrequently Asked Questions
What is the best image size for a Twitter (X) post?
For a single image, 1600 x 900 pixels (16:9) fills the timeline slot edge to edge without cropping. If you want a taller footprint that takes up more of a mobile feed, use 1200 x 1200 (square) or 1080 x 1350 (4:5 portrait). All three display cleanly; anything taller than 4:5 gets cropped in the preview, and anything wider than 16:9 is letterboxed.
What size should a Twitter (X) header image be?
1500 x 500 pixels, a 3:1 aspect ratio. Keep important content out of the bottom-left corner, where your circular profile photo overlaps the banner, and away from the far edges, which get trimmed on narrow screens. Designing inside that safe zone is the only way to guarantee nothing important is hidden.
Should I use JPG or PNG for Twitter (X)?
Use JPG for photographs: the file is small, and X's re-compression has little left to remove, so artifacts stay invisible. Use PNG for screenshots, logos, and anything with text or sharp edges, because JPG smears high-contrast boundaries and makes text look fuzzy. PNG is also the choice when you need transparency, since JPG has no alpha channel.
What is the Twitter (X) image file size limit?
5 MB for images on mobile and 15 MB on the web, for JPG, PNG, WebP, and GIF. A correctly sized image almost never approaches these limits, so if your file is too large, it is usually because the dimensions are bigger than they need to be rather than the quality being too high. Resize to the recommended dimensions first.
Does Twitter (X) support WebP?
Yes, X accepts WebP uploads. It is smaller than PNG while keeping text and edges sharp, which makes it a good choice when you want graphics-quality crispness at a reduced file size. You can convert a PNG or JPG to WebP in the browser before posting.
Why does X make my image look worse than the original?
X re-compresses uploads to standardize file sizes across its network. You cannot turn this off, but you can minimize its effect by uploading at the exact recommended dimensions and using JPG at 85-90% quality for photos or PNG for graphics and text. Handing X a file that already fits leaves little for its compression to strip.
What size should a Twitter (X) card image be?
1200 x 628 px (1.91:1), set through the twitter:image meta tag on the linked page. This is the preview shown when someone shares your URL, and it is separate from images you attach directly to a post, so it needs to be configured on your website rather than uploaded to X.