An X header is 1500 x 500 px at 3:1. The part people miss is that the circular avatar is punched into the lower left of it, and X re-encodes the upload so fine detail is lost on top of that.
Where it shows
- The banner across the top of your profile on x.com
- The banner at the top of your profile in the X mobile app
- The hover preview card shown when someone points at your name on the web
- Your profile as it appears to logged out visitors
The safe zone
The profile photo is anchored as a circle over the lower left of the banner, and your display name, handle and bio stack below the banner rather than on it. On the web the header shows close to its full 3:1 shape, while the app renders it in a shorter band and trims the top and bottom. Keep a wordmark or any small type out of the lower left quarter, hold it back from the top and bottom edges, and treat the middle of the right two thirds as the only fully reliable area.
Quirks worth knowing
- help.x.com blocks automated fetching, so the 1500 x 500 px header figure and its file size ceiling here come from the Buffer and Sprout Social size guides rather than a direct read of X's help page.
- The avatar is a circle set over the lower left of the banner, which means that corner of a 3:1 file is never fully visible on any surface.
- X re-encodes uploaded images, so a header carrying a one pixel rule or hairline lettering comes back with artifacts along those edges.
- The web profile and the app trim the 3:1 band by different amounts, and Hootsuite's guide puts the app trim at around 60 px off the top and bottom.
- Animated GIFs are accepted in posts but not as a header or an avatar, so an animated file lands as a single still frame.
- X publishes no minimum header dimension, so minWidth is null in this record. The 1500 px width is a recommendation carried by the same secondary guides, not a floor X enforces.
Common mistakes
- Putting the wordmark in the lower left of the banner, which is exactly where the circular avatar lands.
- Setting a tagline at a size that reads at 1500 px wide, then finding X has scaled the same banner down for the app and re-encoded it.
- Pressing content against the top edge of a 3:1 export, which the app's shorter band clips first.
- Uploading an animated GIF as a header and getting one frozen frame you did not choose.
What we recommend
- Export at 1500 x 500 px and keep the lower left quarter as plain background so the avatar sits on it cleanly.
- Use flat color or a soft gradient behind the avatar rather than detail, since that area is part hidden and part re-encoded.
- Avoid one pixel lines and hairline type, because X re-encodes on upload and thin edges are what it loses first.
- Check the header in the app as well as on the web, since the app shows a shorter band of the same file.
Common questions
Why is my X header cropped differently on my phone?
The app renders the header in a shorter band than x.com does, so the top and bottom of a 1500 x 500 px file are trimmed there. Hootsuite's guide puts that trim at around 60 px. Anything pressed against the top or bottom edge is the first thing to disappear.
Where exactly does my profile picture sit on my X header?
The circular avatar is anchored over the lower left of the banner and overlaps it on every surface, web and app alike. That corner is never fully visible. Leave it as background and put a logo on the right side of the frame instead.
Why does my X banner look grainy after uploading?
X re-encodes every image on upload rather than serving your original file. Gradients band and thin rules break apart. Exporting at exactly 1500 x 500 px, rather than at some larger size X then has to shrink, keeps the damage to a minimum.
Can I use an animated GIF as my X header?
No. X accepts animated GIFs inside posts but not for a header or an avatar. Uploading one leaves you with a still frame, and it will not be the frame you would have picked. Export the frame you want as a JPG or PNG and upload that.
More answers on thumbnail, carousel and cover questions are on the FAQ.