X doesn't warn you when it crops your image. You attach a square or portrait photo, hit post, and discover in the feed that your subject's face is half off-frame. The preview looked fine in the composer because X showed the full image there — the cropping only happens in the actual timeline view.

The solution is to size the image correctly before you post. 1200×675 px at 16:9 matches the proportions X uses when rendering images inline. FrameForge, a Chrome extension, resizes images entirely in your browser — nothing is uploaded, no account required.

X (Twitter) Image Size Requirements

PropertyValue
Recommended size1200×675 px
Aspect ratio16:9
Max file size5 MB (JPG/PNG), 15 MB (GIF)
Accepted formatsJPG, PNG, WebP, GIF

1200×675 is the sweet spot: it fills the feed preview proportionally and displays without letter-boxing or pillar-boxing when a viewer expands the image. A square (1:1) image gets center-cropped to 2:1 in the preview — you lose roughly a third of the image height before you even post.

Why Portrait and Square Images Get Cropped

X applies a center-crop when rendering inline images in the tweet timeline. The platform shows roughly a 2:1 slice from the center of whatever you attach.

For a square (1:1) photo at 1200×1200: X crops to the middle 1200×600-ish region, cutting the top and bottom. For a portrait shot (9:16): the horizontal center is used, cutting most of the image away. The full image is only visible when someone explicitly taps or clicks to expand it — and most people don't.

Sizing to 1200×675 eliminates the mismatch. The image is already 16:9, so the feed preview shows the full image at the correct proportions without any unexpected trim.

Step-by-Step: Resize for X with FrameForge

  1. 1
    Install FrameForge
    Install FrameForge from the Chrome Web Store and pin the icon to your toolbar from the Extensions menu — faster to reach during your posting workflow.
  2. 2
    Open your image
    Click the FrameForge icon to open the extension. Click Open image and select your file, or drag-and-drop directly onto the canvas. Supports JPG, PNG, WebP, and most common formats.
  3. 3
    Select the X (Twitter) Post preset
    In the Platform dropdown, select X Post. The canvas immediately locks to 1200×675 px at a 16:9 ratio — no need to type dimensions manually.
  4. 4
    Adjust the crop
    Drag the crop overlay to center your subject in the 16:9 frame. Switch between fill modes to compare how each option handles your specific image before committing.
  5. 5
    Export
    Click Export. FrameForge saves the resized 1200×675 image to your Downloads folder — ready to attach to your post on X.

Handling Portrait Source Images

Portrait photos (9:16, the default from a phone camera) need the most adjustment when going into a 16:9 landscape frame. You have three options in FrameForge:

Recommended
Crop to fill

The 16:9 canvas is completely filled. Excess from the top and bottom is trimmed. Drag the crop overlay to decide exactly what stays in frame — center it on the key visual element or your subject's face.

Fit with padding

The full portrait image is visible, with vertical bars on the left and right filling the 16:9 frame. Works if the bar color is chosen deliberately, but usually reads as an accident in a content feed.

Stretch to fill

The image is distorted horizontally to fill the frame. Avoid this unless horizontal distortion is a deliberate stylistic choice for your specific image.

For landscape source images wider than 16:9 (ultra-wide cinema crop, panoramas): excess is trimmed from the left and right instead of the top and bottom. Drag the overlay to center the subject horizontally.

Resizing for Multiple Platforms at Once

If you cross-post the same content to other platforms on the same day, FrameForge covers all of them from a single extension. Here are the key presets:

PlatformTarget sizeAspect ratio
X (Twitter) post1200×675 px16:9
YouTube thumbnail1280×720 px16:9
Instagram post (square)1080×1080 px1:1
Twitch panel320×160 px2:1

X and YouTube are both 16:9, which means the same composition works for both. You can export the X Post version at 1200×675, then switch the preset to YouTube Thumbnail at 1280×720 — same crop, different pixel count, done in one extra click.

FrameForge is free to install. The X Post preset and core resizing features are included in the free version — no account, no subscription required.

Install FrameForge — free

Frequently Asked Questions

What is the best image size for an X (Twitter) post?
1200×675 px at a 16:9 ratio. This matches the proportions X uses when rendering inline images in the tweet feed, so nothing gets cropped in the preview. Keep the file under 5 MB for JPG or PNG.
Does X crop images in the tweet feed?
Yes. X applies a center-crop to inline images when displaying them in the timeline, rendering them at roughly 2:1. Images posted at 1200×675 px (16:9) fit that preview without unexpected cropping — the full image is only shown when a viewer taps or clicks to expand it.
Does FrameForge upload my images to a server?
No. FrameForge is a Chrome extension that processes images entirely in your browser. Nothing is uploaded to any server. No account or login is required, and there is no backend receiving your files.
Can I use the same image for X and YouTube?
Yes — both are 16:9. YouTube thumbnails are 1280×720 px and X posts are 1200×675 px, so the composition is identical. FrameForge has presets for both, so you can export two versions from the same source image without re-cropping or reopening the file.
Is FrameForge free?
Yes. FrameForge is free to install from the Chrome Web Store. The free version includes the X Post preset and core resizing features. A Pro upgrade adds text overlay and batch processing for high-volume publishing workflows.