ThumbGlance● Local processing

X / TWITTER · PROFILE HEADER

Twitter header size

Use 1500 × 500 pixels for your X (Twitter) header. That is a 3:1 canvas. Resize your image below, choose what stays in the frame, and download a JPG or PNG.

For a square image, this tool’s Fill mode keeps about one third of the original area when resizing to 1500 × 500. Choose Fit to keep the whole image with padding.

X recommends these header dimensions. It lists JPG, GIF and PNG for profile images, with animated GIFs excluded. This tool accepts static JPG, PNG and WebP and exports JPG or PNG.

YOUR HEADERActual encoded preview

Choose an image to begin.

No image loaded.

Check the final placement on X after saving.

Make your image fit 1500 × 500

  1. Choose your image. Keep the 1500 × 500 preset selected.
  2. Use Fill for an edge-to-edge photo. Move the crop position slider to keep the subject. Use Fit if you need every part of a logo or finished graphic; choose a background for the empty space.
  3. Compare JPG and PNG in the encoded preview. Download the version whose detail you prefer. Enlarging a small source adds pixels, not new detail.
  4. On X, open your profile, choose Edit profile, select the header camera icon, upload the downloaded image and save. Inspect your saved profile on desktop and phone.

A 1500 × 500 export fixes the file shape. The account picture and X’s interface can still cover parts of the visible header. Keep critical text away from edges and check your actual profile. The source below gives no fixed safe-zone rectangle.

What your image loses in a 3:1 header

We calculated the visible area for three source shapes with the same 1500 × 500 output. Fill enlarges or reduces the source uniformly until it covers the canvas, then removes the overflow. Fit scales the whole source inside the canvas and adds background. Neither mode stretches the picture.

Our centered-crop calculations · before X processes the file
SourceFill: source retainedFit: image on canvas
1500 × 1500 square1500 × 500 source pixels: 33.33% retained; 66.67% removed500 × 500; 500 px padding on each side
1920 × 1080 landscape1920 × 640 source pixels: 59.26% retained; 40.74% removed888.89 × 500; about 305.56 px padding on each side
2400 × 600 panorama1800 × 600 source pixels: 75% retained; 25% removed1500 × 375; 62.5 px padding above and below

For example, a square poster loses two thirds of its original area in Fill mode. If its headline is near the top, moving the crop upward can keep that headline but removes more of the bottom. Fit keeps both ends, at the cost of broad side panels. A wide panorama has the opposite problem: Fill cuts its sides; Fit adds space above and below.

The landscape photo’s retained source height is 1920 ÷ 3 = 640 pixels. Its retained share is 640 ÷ 1080 = 59.26%. In Fit, the height sets the scale: 500 ÷ 1080. The displayed width is 1920 × 500 ÷ 1080 = 888.89, leaving (1500 − 888.89) ÷ 2 = 305.56 pixels per side. Fractional values describe the drawing geometry; the exported canvas is still exactly 1500 × 500 integer pixels.

Use crop position to keep the right part

For the 1500 × 1500 square, Fill keeps a 500-pixel-high strip. At the default 50% position, that strip starts 500 pixels from the source’s top and ends at 1000. At 0%, it starts at 0 and ends at 500; at 100%, it starts at 1000 and ends at 1500. A title drawn at source y = 200 is outside the centered strip but inside the top strip. Moving the slider changes which content survives; it does not change the 33.33% retained share.

For the 2400 × 600 panorama, Fill keeps an 1800-pixel-wide strip. At 50%, it spans x = 300 to 2100. At 0%, it spans 0 to 1800; at 100%, 600 to 2400. A subject at x = 2200 needs a crop toward the right. The output remains 1500 × 500 at every position.

These numbers follow the same calculation as the tool: scale = max(output width ÷ source width, output height ÷ source height); crop width = output width ÷ scale; crop height = output height ÷ scale. The offset along the overflowing axis is the unused source length multiplied by the slider position. The slider is disabled in Fit because the full image is already visible.

Use these examples to decide before exporting: choose Fill when you can sacrifice the outer content; choose Fit when both edges carry essential information. If neither composition works, rearrange the source artwork on a 3:1 canvas before returning to the tool.

Why a Twitter header can look blurry after upload

Start by opening your downloaded 1500 × 500 file at its actual size. If it is already soft, use a larger original or reduce the enlargement. If only the saved X header looks softer, platform processing and display scaling can affect the result. Thin lettering and fine patterns deserve a close check on the saved profile.

Export PNG for a graphic with sharp text, or compare a high-quality JPG for a photo. Compare each export from the original rather than repeatedly compressing a previous JPG. Image quality depends on the source and on X’s processing; changing the format or dimensions cannot guarantee a fix for every blurry header.

Need a smaller file? The JPG quality slider above changes encoding without changing your selected dimensions. The existing compression comparison shows why PNG-to-JPG conversion can make a flat graphic larger. Its local compressor preserves original dimensions when you choose a file. That separate tool’s mobile size warning is for YouTube thumbnails, not an X header limit.

Official X header guidance

Checked November 12, 2026: X Help: How to customize your profile ↗ recommends 1500 × 500 pixels for the header and 400 × 400 for the separate profile photo. It permits JPG, GIF and PNG while excluding animated GIFs for these images.

The cited page gives no numerical header file-size ceiling, fixed crop coordinates or safe-zone dimensions. The 3:1 ratio on this page is calculated from 1500 ÷ 500. Our crop examples describe local image geometry, not measured X display regions.

Tool limits and recovery

Your image stays in this browser and is never uploaded by this tool. Input limits: 25 MiB (26,214,400 bytes), 40,000,000 decoded pixels, static JPG, PNG or WebP. GIF is rejected rather than flattened. Custom output dimensions can be 1–4096 pixels per side. These are ThumbGlance’s limits.

If a file is rejected, choose another supported image. If custom dimensions are invalid, restore the 1500 × 500 preset. Download stays disabled until a new file is ready. The preview shows the encoded download, and the status reports its dimensions and bytes. Reloading clears the image from this page.

Related: LinkedIn banner sizes · Reddit banner sizes · YouTube banner sizes