Your files never leave your device. All processing happens locally in your browser.
What are the correct image sizes for Twitter/X (profile, header and post)?
X (formerly Twitter) uses three key image sizes, and this preset targets all of them. The PROFILE photo is a 400×400-pixel square (1:1) that X CIRCLE-crops, so keep the face or logo centred and off the corners. The HEADER (banner) is 1500×500 pixels (3:1), but your round profile picture overlaps its bottom-left corner and X trims roughly 50 px off the top and bottom on phones, so keep logos and text inside the centre ~1500×360 safe zone and clear of the lower-left ~220×220 dead zone. A single in-stream POST image looks best at 1600×900 (16:9), which fills the timeline card without cropping. X accepts JPG, PNG, WebP and GIF; keep the header and profile photo under 2 MB and post images under 5 MB (GIF up to 15 MB), and note X re-encodes most uploads to JPG. Upload your image, tap the Twitter/X preset for the size you need, use cover with the crop-position nudge to frame the subject, and export at exactly that size — all in your browser, so the file is never uploaded to a server.
Profile photo: 400×400 (1:1), CIRCLE-cropped — centre the subject
Header/banner: 1500×500 (3:1); safe zone is the centre ~1500×360
Header caution: the round profile pic overlaps the bottom-left ~220×220; mobile trims ~50 px top & bottom
In-stream post: 1600×900 (16:9) fills the timeline card without cropping
JPG/PNG/WebP/GIF; header & profile ≤2 MB, posts ≤5 MB; X re-encodes to JPG. 100% client-side
What is
Resize Image for Twitter/X
Resizing an image for Twitter/X means scaling and cropping it to one of the platform’s three main sizes: a 400×400-pixel profile photo (1:1), a 1500×500-pixel header/banner (3:1), or a 1600×900-pixel in-stream post image (16:9). Each has its own quirk. The profile photo is CIRCLE-cropped everywhere, so the face or logo must sit centred and away from the corners. The header is uniquely awkward because your round profile picture overlaps its bottom-left corner and X trims about 50 px off the top and bottom on mobile, so critical content belongs in the centre ~1500×360 safe zone and never in the lower-left ~220×220 dead zone. A post image at 1600×900 (16:9) fills the timeline card cleanly without X cropping it. X accepts JPG, PNG, WebP and GIF; the header and profile photo should stay under 2 MB and post images under 5 MB (GIF up to 15 MB), and X aggressively re-encodes most uploads to a smaller JPG. This tool is 100% client-side: it loads your image into a browser canvas, crops it to the fit mode you pick (cover, contain or stretch), downscales it with pica’s Lanczos filter for a clean result, and exports a PNG or JPEG at exactly the chosen size without ever uploading the file. Enlarging artwork smaller than the target cannot add real detail, and X can change its specs or re-compress the image on its side.
Profile photo: 400×400 (1:1), circle-cropped. Header: 1500×500 (3:1). Keep both under 2 MB and the subject centred.
X’s recommended profile-photo size in 2026 is a 400×400-pixel square (1:1), and because X displays it circle-cropped everywhere, keep the face or logo centred and clear of the corners. The header (banner) is 1500×500 pixels, a 3:1 ratio, and both images are best kept under 2 MB as JPG or PNG. The header has an extra catch: your round profile picture overlaps its bottom-left corner and X trims roughly 50 px off the top and bottom on phones, so keep logos and text in the centre ~1500×360 safe zone. This tool has one-tap Twitter/X presets that export at exactly 400×400 or 1500×500 with a live preview so you can frame the subject before you download.
Use 1600×900 (16:9) for a single in-stream image — it fills the timeline card without being cropped.
For a single-image post, 1600×900 pixels (a 16:9 aspect ratio) performs best because it displays fully in the timeline card without X cropping the preview, and it takes up the most feed space. A smaller 1200×675 (also 16:9) works fine too and uploads faster. Keep post images under 5 MB (JPG, PNG or WebP; GIFs up to 15 MB), and remember X re-encodes most uploads to a smaller JPG, so a clean, well-optimised source gives the best final result. This tool exports at exactly 1600×900 with cover / contain / stretch fit modes so you hit the 16:9 card size without letterboxing or an unexpected crop.
Your round profile picture overlaps the header’s bottom-left corner and X trims ~50 px top and bottom on mobile, so keep key content in the centre ~1500×360 safe zone.
The 1500×500 header is a 3:1 strip, but X overlays your circular profile picture on its bottom-left corner (roughly a 220×220 dead zone about 24 px from the left and bottom edges), and on phones X trims about 50 px off the top and bottom and places the Follow / Edit-profile button over the lower-right. That means the only reliably visible region is the centre ~1500×360 safe zone. Keep logos, text and key visuals there and use the outer edges — especially the lower-left — only for background imagery or texture that survives being covered or trimmed. This tool exports at exactly 1500×500 and its cover mode has a crop-position nudge so you can slide the artwork until the important part lands inside the safe zone.
No. Your image is decoded and resized entirely in your browser on a local canvas — there is no upload or server, and it never leaves your device.
Nothing is uploaded. When you choose an image the tool creates a local object URL, decodes it, crops and composites it on an in-page canvas, and downscales it with pica — all on your device. There is no server, API, database or tracking anywhere in the processing path, so your image never leaves the browser. Object URLs are revoked when you reset or replace the image, the tool works offline once cached, and closing the tab discards everything. The only optional network use anywhere on the site is consent-gated advertising, which never sees your image. You then upload the finished file to X yourself, so an unposted graphic or a personal photo stays private until you publish it.
Detailed Explanation
📖How It Works
Resizing an Image for Twitter/X, in Your Browser
This preset locks the Social Media Image Resizer to Twitter/X so you hit the exact sizes X expects. X uses three key image sizes and this preset targets all of them: a 400×400-pixel profile photo (1:1, circle-cropped), a 1500×500-pixel header/banner (3:1), and a 1600×900-pixel in-stream post image (16:9). Upload an image, tap the size you need, frame the subject, and export a PNG or JPEG at exactly those pixels. These are X’s recommended 2026 sizes: 400×400 sits comfortably above the small circles X actually renders, 1500×500 is the 3:1 header, and 1600×900 is the 16:9 card that fills the timeline without cropping. The whole thing runs on an in-browser canvas: the image is decoded to a local object URL, cropped, downscaled with pica and re-encoded locally — nothing is uploaded.
Locks to Twitter/X: profile 400×400 (1:1), header 1500×500 (3:1), post 1600×900 (16:9)
Profile photo is circle-cropped; post 1600×900 fills the timeline card without a crop
JPG/PNG/WebP/GIF accepted; header & profile ≤2 MB, posts ≤5 MB (GIF ≤15 MB)
100% client-side — the image never leaves the browser
📋Use Cases
The Header Safe Zone: Profile-Pic Overlap and the Mobile Trim
The 1500×500 header is a deceptively awkward canvas because two things eat into it. First, your round profile picture is overlaid on the header’s bottom-left corner — roughly a 220×220-pixel dead zone sitting about 24 px from the left and bottom edges — so any logo or text there is covered. Second, on phones X trims about 50 px off the top and bottom of the 3:1 strip and places the Follow / Edit-profile button over the lower-right corner. The net result is that only the centre ~1500×360 region is reliably visible on every device. Keep your name, tagline, logo and any call-to-action inside that centre band, and reserve the outer edges — especially the lower-left — for background imagery, colour or texture that still looks fine when covered or trimmed. The cover fit mode’s crop-position nudge lets you slide the artwork so the important part lands inside the safe zone before exporting at exactly 1500×500.
Round profile pic overlaps the header’s bottom-left ~220×220 dead zone
Mobile trims ~50 px top and bottom; the Follow/Edit button covers the lower-right
Keep name, logo and CTA in the centre ~1500×360 safe zone
Cover mode has a crop-position nudge to line artwork up with the safe zone
⚙️Methodology
How the Resize Stays Sharp (Canvas + pica)
A pure, typed engine does the geometry and pica does the pixels. For each Twitter/X target — 400×400, 1500×500 or 1600×900 — coverCropRect() computes the source rectangle that matches the required aspect ratio (1:1, 3:1 or 16:9, honouring a −1..1 crop-position nudge) or containLayout() computes a fitted, centred layout for padding. The browser crops into an intermediate canvas at source resolution and calls pica.resize(), which uses a Lanczos filter to resample with proper filtering and light sharpening rather than the browser’s default bilinear shrink — that is what keeps a large source crisp when it is brought down to the target instead of aliased and soft. Finally canvas.toBlob() emits a PNG (lossless, best for flat graphics, logos and sharp text) or a JPEG with a quality factor (best for photographic images). A live output-dimensions and file-size read-out lets you confirm the header and profile stay under 2 MB and a post under 5 MB before you hand the file to X.
coverCropRect() / containLayout() are pure, typed geometry helpers
pica.resize() (Lanczos) downscales into a canvas of exactly 400×400, 1500×500 or 1600×900
canvas.toBlob() exports PNG (lossless) or JPEG (quality-controlled)
Live file-size read-out helps you stay under the 2 MB / 5 MB limits
⚠️Limitations
Honest Limitations
Three caveats. First, X re-encodes almost everything you upload: even a perfect PNG usually comes back as a JPG that is 30–60% smaller, and X downsamples oversized uploads before showing them, so the tool’s job is to hand X the cleanest correctly-sized source — the final on-timeline pixels are X’s call, not the tool’s. Second, the tool sizes the canvas but cannot control X’s circle crop on the profile photo or its header overlap and mobile trim; anything you leave in the corners of a profile photo, or in the lower-left/edges of a header, will be hidden no matter how the file is exported — that is why the safe zones matter. Third, enlarging small artwork cannot add real detail: if your source is smaller than the target the tool must upscale and the result will look softer, so it warns you when a target would enlarge the source. Cover crops content by design and stretch can distort, so choose the fit mode deliberately. X can also change its recommended sizes and compression without notice, so treat 400×400, 1500×500 and 1600×900 as the current 2026 best estimates.
X re-encodes uploads to JPG (often 30–60% smaller) and downsamples oversized images
The tool sizes the canvas; X applies the circle crop, header overlap and mobile trim
Upscaling can’t invent detail; the tool warns when a target enlarges the source
Cover crops and stretch can distort; sizes are 2026 estimates and can change without notice
🔒Privacy & Security
Privacy: Your Image Stays on Your Device
A Twitter/X image is often an unposted graphic, a personal photo or unreleased branding, and this resizer never sends it anywhere. The image is decoded into a local object URL, cropped and composited on an in-page <canvas>, downscaled by pica and re-encoded with canvas.toBlob(), all on your device, with no server, upload, database, logging, API or CDN anywhere in the processing path. Object URLs for both the source and the result are revoked when you reset or replace the image, so nothing lingers, and the tool works offline once cached; closing the tab discards everything. You upload the finished 400×400, 1500×500 or 1600×900 file to X yourself, so it stays private until you post it. The only optional network use anywhere on the site is consent-gated advertising, which never sees your image or its contents.
Decoded, cropped, resized and encoded entirely in the browser
No server, upload, database, API or CDN in the processing path
Object URLs revoked on reset / replace; works offline once cached
Only optional network use is consent-gated ads, which never see your image
Twitter/X image specs 2026 (current best estimates)
Surface
Size (px)
Notes
Profile photo
400×400
1:1, CIRCLE-cropped — centre the subject; ≤2 MB
Header / banner
1500×500
3:1; keep content in the centre ~1500×360 safe zone; ≤2 MB
Header dead zone
~220×220
Lower-left, covered by the round profile picture
Mobile header trim
~50 px
Top and bottom trimmed on phones; Follow/Edit button lower-right
In-stream post
1600×900
16:9 — fills the timeline card without cropping; ≤5 MB
Alternate post
1200×675
16:9, smaller/faster; also uncropped in the feed
Formats
JPG / PNG / WebP / GIF
GIF ≤15 MB; X re-encodes most uploads to JPG
X uses three main sizes — a 400×400 circle-cropped profile photo, a 1500×500 (3:1) header whose lower-left is covered by the profile picture, and a 1600×900 (16:9) post that fills the timeline card. Sizes reflect X’s 2026 recommendations and can change without notice. The tool always exports at exactly the chosen target size.