Image Quality Image Qualityresolution
Journal Entry

X Posts, Profile Photos, Banner Images: The Resolution Numbers That Actually Matter in 2026

X Image Sizes for 2026: What Resolution You Actually Need

Photo by Jamie Street on Unsplash

X has always been aggressive about recompressing uploaded images, and it hasn’t gotten gentler. The platform applies its own JPEG encoding on the way in, regardless of what format you upload, and the encoder’s behavior varies depending on the image’s pixel dimensions, whether you’re uploading through the mobile app or the web client, and whether the post contains text. Knowing the right pixel dimensions going in doesn’t guarantee a pristine result, but starting at the wrong size almost guarantees a worse one.

This piece covers the three distinct image surfaces on X — in-feed post images, profile photos, and header banners — along with the reasoning behind each recommended size.


In-Feed Post Images

The single-image post is where most of the confusion lives. X displays images inside a cropped preview card in the timeline, then shows the full image when a user taps or clicks. Those two display states have different requirements.

The timeline preview crop: X centers the preview and crops to a roughly 16:9 aspect ratio for landscape images and a taller crop for portrait images. If your image is composed to the edges — a landscape with a tight horizon, a portrait where the subject’s head is near the top of the frame — automatic center cropping can decapitate it. The safe approach for single-image posts is to compose and export at 1600 × 900 pixels (16:9) for landscapes, or 1080 × 1350 pixels (4:3 portrait) if you want a taller card. Neither of those is arbitrary: the 1600-pixel width sits above X’s threshold where it will downsample before encoding, and staying below roughly 5 MB keeps the platform from applying its most aggressive compression pass.

Multi-image posts behave differently. Two images share a 50/50 split and get cropped to squares. Three images give one image the left half and stack two on the right. Four images divide into a 2×2 grid. In all of these cases, square crops at 1200 × 1200 pixels tend to survive the grid layout without the platform needing to do much work before display.

The actual upload format matters more than many people expect. X converts everything to JPEG for in-feed display, but if you upload a PNG, it first flattens any transparency and then compresses, which can introduce slightly different encoding decisions than uploading an already-compressed JPEG. For photographic content, uploading a high-quality JPEG (saved at quality 90–95 in most encoders) and hitting the right pixel dimensions is the cleaner path. PNG is more appropriate for screenshots, diagrams, or text-heavy graphics where JPEG’s DCT artifacts would visibly damage hard edges.


Profile Photos

Profile photos on X display at multiple sizes simultaneously: the large version on your profile page, a medium thumbnail in search results, and a small circle in every reply thread. X scales all three from the same uploaded source file.

The recommended upload size is 400 × 400 pixels. That’s not an X-published specification — it’s a practical floor derived from the largest rendered size, which sits around 200 × 200 pixels on most displays but goes higher on retina/HiDPI screens at 2× scaling. Uploading at 400 × 400 gives the platform enough source pixels to downsample cleanly rather than upsample, which always produces a softer result. Uploading something much larger (say, 1200 × 1200) doesn’t hurt, but you’re not getting a meaningfully better result because X’s storage and serving pipeline normalizes the output anyway.

Profile photos are circular-masked in the UI. The platform crops to a circle but stores the source as a square, so make sure your subject is centered and doesn’t depend on any corner detail surviving.


Header Banners

The header banner — the wide image behind your profile photo on your profile page — is displayed at a fixed 3:1 aspect ratio across most clients. The recommended dimensions are 1500 × 500 pixels.

A few practical things to account for:


Why Platform Encoding Keeps Changing This Conversation

X has adjusted its image pipeline more than once over the platform’s history — the shift from aggressive JPEG encoding to a brief period of WebP support, then back — and it may change again. The numbers above reflect current understanding of the platform’s behavior, but X doesn’t publish a detailed technical spec, so there’s some inference involved. The more stable principle underneath all of it is simpler: upload at the exact pixel dimensions the surface will display (or a clean multiple of them), use a format the platform handles efficiently, and don’t give the encoder anything to fix.

Re-encoding is the real risk. Every time a platform’s encoder touches a JPEG, it runs another DCT quantization pass — this is a lossy operation, not a lossless copy. Starting with a lower-quality file means the platform is degrading something already degraded. Starting clean and correctly sized limits the damage to one encoding step instead of two.

The same logic applies to any platform with an aggressive compression pipeline. We’ve covered how Instagram’s encoder specifically handles color and detail in our article on what happens to image quality when you export for Instagram, and the mechanisms are similar enough to be instructive here.


A Practical Checklist Before You Upload

Before dropping an image into an X post, a quick review:

  1. Check pixel dimensions — single post images at 1600 × 900 (landscape) or 1200 × 1200 (square); banners at 1500 × 500; profile photos at 400 × 400 minimum
  2. Check file format — JPEG for photos, PNG only for graphics that need hard edges or transparency
  3. Check JPEG quality setting — if you’re saving from an editor, 90–95 is the range that preserves detail without ballooning file size
  4. Check composition against the crop — center the subject, avoid edges, leave the lower-left of a banner clear of anything critical
  5. Check file size — staying under 5 MB for in-feed images keeps you below the threshold that triggers X’s heaviest compression

These aren’t guarantees against a bad encode — they’re constraints that reduce the platform’s reasons to make the result worse. That’s the most control you have in a pipeline you don’t own.

More Image Quality material is indexed in the Journal and on the Image Quality page.