Twitter/X applies its own JPEG compression to every image you upload, regardless of the original format or quality. Understanding how this compression works helps you upload images that look as sharp as possible in the feed, even after Twitter processes them.
How Twitter/X Compresses Images
Twitter converts all image uploads to JPEG and applies its own compression. Key behaviors:
- PNG files: converted to JPEG. The exception is PNG files with fewer than 900 pixels on the longest side — those may be preserved as PNG
- Large images: downscaled to fit display limits before compression. Twitter displays images at a maximum of 1200 px wide
- Compression quality: Twitter targets approximately 80% JPEG quality — aggressive enough to noticeably degrade already-compressed images
- WebP: Twitter does not preserve WebP format. All WebP files are converted to JPEG
- GIF: uploaded as-is (up to 15 MB), but Twitter displays GIFs as MP4 in the timeline. The original GIF is available on direct download
Best Image Settings for Twitter/X
- Format: JPEG at 90–95% quality. Starting with high-quality JPEG gives Twitter more data to work with, resulting in a better final output after its ~80% recompression
- Dimensions: 1200×675 px for landscape (16:9), or 1080×1080 for square. These match Twitter's native display size — uploading larger only helps marginally and increases upload time
- Maximum file size: 5 MB for JPG/PNG per image. Stay under this limit; Twitter rejects larger files
- Up to 4 images per tweet. When posting multiple images, they display in a grid — each individual image occupies less screen space, so slightly smaller dimensions are acceptable
The Double Compression Problem
The biggest cause of blurry Twitter images is double compression. This happens when:
- You compress an image to 70% JPEG quality before uploading
- Twitter applies its own ~80% JPEG compression on top
- The result is two rounds of lossy compression — visible JPEG blocking artifacts, especially on text, edges, and gradients
Solution: upload at 90–95% JPEG quality. Let Twitter do the final compression rather than pre-compressing yourself. Your file will be slightly larger on upload, but the final displayed image will look noticeably better.
Twitter-Specific Tips for Sharp Images
- Images with text: use PNG instead of JPEG. PNG's lossless compression preserves text edges better through Twitter's JPEG conversion. Keep the image under 5 MB — PNG files for graphics are often smaller than you'd expect
- Screenshots: same as text — use PNG. Twitter's JPEG compression creates visible blurring around the sharp edges of UI elements
- Infographics and data visualizations: use PNG for the same reason. JPEG compression creates visible artifacts around sharp color transitions
- Photos: JPEG at 90–95% is ideal. Photos with gradients and organic textures handle JPEG compression much better than flat graphics
Profile Photo and Header Compression
- Profile photo: upload at 400×400 px minimum. Twitter displays at 200×200 (timeline) and 400×400 (profile page). Upload at 800×800 for the sharpest result — gives Twitter better downscaling data
- Header image (banner): 1500×500 px. Upload at 3 MB or less. Twitter compresses banners aggressively — keep the most important visual content in the center, away from edges that may be cropped on mobile
Step-by-Step: Prepare Images for Twitter
- For photos: use the image resizer to set dimensions to 1200×675 px (landscape) or 1080×1080 px (square)
- For graphics with text or screenshots: keep as PNG and use the image compressor in lossless mode, or skip compression entirely if under 5 MB
- For photos: use the image compressor to set quality to 90–95% JPEG — reduce file size to under 2 MB while keeping quality high
- Do NOT compress photos below 85% before uploading — Twitter's additional compression will degrade them further
Twitter Image Quick Reference
- Tweet image (landscape): 1200×675 px
- Tweet image (square): 1080×1080 px
- Profile picture: 400×400 px minimum (upload 800×800)
- Header banner: 1500×500 px
- Maximum file size: 5 MB (JPG/PNG), 15 MB (GIF)
- Best quality setting: 90–95% JPEG before uploading