ImagesX

Why your X (Twitter) header looks cropped

Your X header looks cropped because 1500x500 is the file, not the view: the avatar covers the bottom-left, mobile trims the sides. Here is the safe zone.

September 20, 2026The bbuddy team9 min read

Your X header looks cropped because 1500 by 500 is the file, not the view. The header is a 3:1 image, that part is right, but almost none of that canvas is reliably visible: your avatar covers the bottom-left corner, the app trims the sides on a phone, and the profile furniture sits along the bottom edge. Design to the full rectangle and the logo you centred is behind your own face, while the tagline you put near the edge is off-screen for most of the people looking at it.

So the fix is not a different pixel size. Everyone gets that right. It is knowing which part of those pixels survives, which is the part no size table shows you.

What the header actually is

The header is 1500 by 500 pixels, a ratio of 3:1. Export at that, in JPG, PNG, WEBP or GIF, up to 5MB for a still image. That is the whole of the documented answer, and it is why every page ranking for the question is one table: the number is easy, and the number is not the problem.

The problem is that the profile renders your 3:1 file inside a layout it does not match, with other interface on top of it. The geometry below is measured from the app rather than published by X, so it is approximate and it moves when X changes its layout. It is also the part that decides whether a header works.

1500×500What you export3:1, up to 5MB, JPG PNG WEBP or GIF
~1000pxWidth you can trustMobile keeps roughly the middle two thirds
~335pxAvatar circle on the cornerAbout 134 pixels on a 600 pixel wide web header

The safe zone, and why the full canvas is the mistake

Take the 1500 by 500 canvas and remove two things. Remove about a sixth of the width from each side, which is the mobile trim, leaving roughly the middle 1000 pixels. Then remove the bottom third, which is where the avatar and the profile layout sit. What is left is a band about 1000 pixels wide and around 330 deep, centred horizontally and sitting high: a little under half of the canvas you exported.

That band is the safe zone, and everything that has to be read belongs inside it. A wordmark, a tagline, a URL, a person. Outside it goes texture: gradient, pattern, colour, the parts of a photograph that can be lost without anyone noticing. A header designed that way looks deliberate on every device, because all that changes between devices is how much decoration you see.

The mistake is treating the canvas as a poster. A poster is seen whole. A header is a window that changes size, sits under a circle, and is cropped differently by every surface that shows it.

What the avatar covers

On a web profile the header renders about 600 CSS pixels wide and the avatar over it is about 134 pixels across, sitting near the left edge with roughly half of the circle hanging below the header's bottom edge. Scale that onto the 1500 pixel file you exported and it is a circle around 335 pixels wide, centred about 205 pixels in from the left, occupying the bottom third of the left quarter of your image.

That is a large piece of the canvas, and the piece most people put their logo in, because a logo goes bottom-left in almost every other layout. On a phone the sides are trimmed first and the avatar still sits bottom-left of what is left, so the corner is spoken for either way: the pixels it eats differ, the outcome does not.

Two consequences. Anything in the bottom-left is gone, not partly gone. And anything immediately to the right of the avatar is crowded rather than cropped: a tagline that starts too close reads as though it is falling out of a circle. Start the text after the avatar ends.

Why text near any edge disappears

The header is 3:1 and the app shows it in a shallower box, so it scales the image to fill and loses the sides. Roughly the middle two thirds of the width survives, about a sixth from each edge, which on a 1500 pixel file is around 250 pixels per side. Nobody gets a warning, because the upload succeeded and the upload preview is not the layout that renders it.

The same applies vertically. The bottom edge is where the avatar hangs and where the profile content begins, so text sat against it reads as crowded even where it is not cut. The top edge is the safest of the four and still not a place for a one pixel margin, because rounding differences between clients move the boundary either way.

The rule that makes this go away: nothing readable within about a sixth of any edge. It is the same instinct as putting the important sentence of a post in the first line rather than the fourth, which is the subject of why your posts get cut off on X. The platform decides what is visible; you choose what to put in the part it guarantees.

Why a correctly sized header still looks soft

An image exported at exactly 1500 by 500 can still come out blurry, for two reasons stacked on each other.

X re-encodes every upload. Compression alone is survivable, but compression applied to something it has just had to rescale compounds the loss, and a header is always being rescaled: your 1500 pixel file is fitted to a box whose real device width depends on the screen. On a modern phone that box is two or three device pixels per CSS pixel, so a file sized for one is stretched before compression touches it. Flat colour and type show it first, which is why a logo looks furry while the photograph behind it looks fine.

The rule that actually holds is never go under the placement size. Upscaling is the one operation that always looks bad, so a 1200 pixel file stretched to fill a 1500 pixel canvas is visibly soft before X has compressed anything. Export at 1500 by 500 and that cannot happen.

Going above it is a judgement call rather than a rule. X generates its own size variants from whatever you upload, so a larger file does not skip the resize, it just gives the encoder more to work with on a high-density screen. It also costs file size against the 5MB cap. Exact size is the safe default; if a header is mostly flat colour and type and still looks furry, trying 3000 by 1000 at the same 3:1 is worth one attempt. Pick the format for the content while you are there, PNG for flat colour, text and logos, JPG for photographs, and avoid hairline rules and small type either way.

The other placements people get wrong

The header produces the complaint, but the same mistake, designing for the upload rather than the view, costs more in the feed, where the images actually get seen.

  • A single image in a post: 1600 by 900, 16:9. The safest shape in the timeline. What you upload is what is shown, with no crop to design around.
  • A tall image: 1200 by 1500, 4:5. The tallest shape the timeline shows intact, and it takes more vertical space in the feed, which is the argument for it. Taller and the top and bottom are cut.
  • A square: 1200 by 1200. Safe on its own. In a post carrying two to four images every one is cropped again to fit the grid, so keep the subject centred in each.
  • The large link preview card: 1200 by 628. Everybody calls it 2:1 and it is really 1.91:1. The small square card is 800 by 800, and which one appears is decided by the card type the linked page declares.
  • Your profile photo: 400 by 400. Square on upload, circular on display, so the corners always go. It renders as small as 24 pixels beside a reply, which is the size to judge it at.

One rule covers the lot: a ratio that survives the timeline beats one that merely uploads. X accepts almost any shape and then crops it toward the shape it wants, so the real choice is whether the crop happens on your desk, where you can see it, or in somebody's feed, where you cannot. Alt text, while you are there, takes up to 1000 characters and costs nothing against your character limit.

A profile is a set of small decisions like this one: the header band, the avatar at 24 pixels, and the 160 characters of bio that has to do the explaining. If the plan for standing out was styled lettering rather than a stronger header, read what bold text actually costs first. The rest of the X mechanics that work this way are collected in the X guides.

Frequently asked questions

What size is a Twitter header?

1500 by 500 pixels, which is a 3:1 ratio. That is the size to export at, and it is also the size that still looks wrong if you design to the whole canvas, because the avatar sits over the bottom-left corner and the app trims the sides on a phone. The file is 1500 by 500. The reliably visible part of it is smaller.

Why is my Twitter header cut off on mobile?

Because the app shows the header in a shallower box than the 3:1 you uploaded, so it scales the image to fill and loses width from both sides. Roughly the middle two thirds survives, which is about a sixth trimmed from each edge, or around 250 pixels per side on a 1500 pixel wide file. Anything that has to be read belongs in the middle band.

What is the Twitter header safe zone?

Approximately the middle 1000 pixels of width, and everything above the bottom third. That keeps text clear of the side trim on mobile and clear of the avatar, which covers the bottom-left corner. It works out at a little under half of the canvas. These figures are measured from the rendered app rather than published by X, so treat them as a guide with margin, not a spec.

Why does my Twitter header look blurry?

X re-encodes every upload, and compressing an image it has just had to rescale compounds the loss. A 1500 by 500 file is also only about one device pixel per screen pixel on a modern phone, so it is already being stretched before compression touches it. Export at 1500 by 500 rather than anything smaller, keep the file under 5MB, and use PNG for flat colour or text and JPG for photographs.

What size is a Twitter profile picture?

400 by 400 pixels, square, displayed as a circle, so the corners are always cut. It also renders as small as 24 pixels beside a reply, which is the size worth checking a logo at. If it is unreadable at 24 pixels it is unreadable in most of the places people will actually see it.

What is the best image size for a post on X?

1600 by 900, which is 16:9 and the shape the timeline shows without cropping. If you want to take more vertical space in the feed, 4:5 at 1200 by 1500 is the tallest shape that survives intact. Anything taller loses its top and bottom, and a post carrying two to four images crops each one again to fit the grid.

What size is the Twitter link preview image?

1200 by 628 for the large card, which everyone calls 2:1 and which is really 1.91:1, the same ratio link previews use almost everywhere else. The small square card is 800 by 800. Which one appears is decided by the card type the linked page declares, not by the image you upload.

Free toolX (Twitter) Character CounterCounts what X counts, not what your text editor counts. Links weigh 23, emoji weigh 2, and Japanese weighs double. Free, no account, nothing you type leaves your browser.
Try it for your brand

Your AI co-worker for social media.

Five minutes to set up. Drafts in your voice from the first session.

Start with email