X displays images in the feed with a maximum preview height that creates a 2:1 crop on anything taller than that ratio. This is the single most common reason images look wrong after posting. If you upload a portrait photo at 4:5 or 9:16, X shows a center-cropped horizontal slice of it in the timeline. The full image is accessible if someone taps through, but the preview that everyone sees in the feed is cropped. A 1600 by 900 image at 16:9 fits comfortably within the 2:1 preview threshold and displays in full without cropping. A 1200 by 1200 square is also safe. Anything taller than roughly 2:1 will be center-cropped in the preview, which can cut off faces, text, and any element you placed near the top or bottom of the image.
The workaround for portrait content on X is to add letterboxing by placing the portrait image inside a wider canvas with a neutral background, bringing the overall ratio to 16:9 or closer to 1:1. This is more of a creative decision than a technical one, but it is the only way to show a tall image in full in the feed preview without requiring a tap. For most photography and general posts, composing or cropping to 16:9 from the start is the simpler path.
X's compression behavior and how to get sharper images
X compresses uploaded images server-side before storing and serving them. The compression is applied to JPEG and PNG inputs alike, though the behavior differs. JPEG images are recompressed at X's quality setting, which is moderately aggressive. PNG images get converted to JPEG and then compressed, adding a second generation of lossy encoding on top of anything the PNG already contained. For photographs specifically, uploading as JPEG at quality 90 or higher gives the pipeline cleaner input and typically yields a sharper result in the timeline than the same image uploaded as PNG.
Uploading at the correct pixel dimensions also matters. X downscales any image wider than 1600 pixels to 1600 pixels before applying compression. A 4000-pixel-wide photo from a DSLR or high-resolution phone camera gets downscaled and then compressed, which introduces softening from both operations. An image already at 1600 by 900 skips the downscaling step and only goes through compression, producing a noticeably cleaner result. If you're posting graphics, infographics, or anything with fine text or detail, this difference is more visible than it is for general photography.
The header banner safe zone
The header image at 1500 by 500 pixels has a safe zone problem that catches people out. On desktop, the full width of the banner is visible. On mobile, the banner is center-cropped vertically to fit the narrower layout, and the profile photo circle overlaps the lower-left area of the banner. Any text or important graphic elements placed in the left third of the lower half of the banner will be obscured by the profile photo on mobile. Keeping all text and key content within the central 600 by 300 pixel area of the 1500 by 500 canvas ensures it displays cleanly on both desktop and mobile without either cropping or profile photo overlap. For general image editing needs beyond just resizing, the crop tool lets you set exact dimensions and reposition the crop before downloading.