Threads Image Size 2026: Feed Photos, Carousels, and Link Previews
Quick answer: design Threads photos at 1080×1080 (square) or 1080×1350 (4:5) for maximum feed height, keep files under roughly 100 KB for best results, and use up to 20 photos per carousel. The 9:16 vertical canvas does not work the way it does on Stories — Threads crops it.
How Threads actually displays images
Threads is a text-first network built on Instagram's account system, and its image rendering borrows from the Instagram feed rather than Stories. A 1:1 square renders edge to edge with no crop. A 4:5 portrait gets the most vertical space in the feed. Full 9:16 Story images get center-cropped to roughly 4:5, so heads and bottom captions disappear unless you account for it.
This catches people who batch-publish the same vertical Story file to every platform. On Threads that file looks broken. The rule is simple: vertical Stories stay on Stories; Threads gets square or 4:5.
The size table
| Asset | Dimensions | Ratio | Notes |
|---|---|---|---|
| Single photo (square) | 1080×1080 | 1:1 | Safest, never cropped |
| Single photo (portrait) | 1080×1350 | 4:5 | Maximum feed height; 1440×1800 export for retina |
| Carousel | 2–20 photos | 1:1 or 4:5 | JPG/PNG, lean files (~100 KB) |
| Link preview (landscape) | 1200×628 | 1.91:1 | Pulled from Open Graph |
| Link preview (square) | 640×640 | 1:1 | Some placements |
| Profile photo | 320×320 or larger | 1:1 | Circular crop |
Carousels
Threads supports up to 20 photos per post, and the swipe behavior is familiar to anyone on Instagram. The first slide decides whether anyone swipes — it needs a reason to continue, whether that is a visible number ("3 things…"), a question, or a before/after teaser. Keep the whole carousel in one ratio. Mixing square and portrait slides forces the viewer to mentally re-crop on every swipe, and the post jumps around in the frame.
For launch weeks, a natural pattern is five slides: product shot, problem, how it works, proof or numbers, and the call to action. The last slide is where most indie carousels go quiet — they just end.
Link previews
When you paste a URL into a thread, the preview image is not uploaded anywhere on Threads. It is pulled from the page's Open Graph tag, so the 1.91:1 landscape preview comes from the same 1200×628 image that serves X, LinkedIn, and most other networks. If your page's og:image is missing or square, Threads shows an awkward crop or no card at all. The Open Graph image size guide walks through the tag and the dimensions; the aspect ratio explainer covers why 1.91:1 keeps appearing across platforms.
Text and safe area
Threads overlays fewer controls than TikTok, but the feed itself adds your name, handle, the time, and the reply/like/repost row under the image. A 4:5 photo displays at roughly 1080 wide, but the visible card is shorter once that chrome is attached. Keep the message in the central 80% of the frame and away from the bottom 10%, because that is where the UI hugs the image.
Making the same launch work on Threads and elsewhere
Threads posts are most often part of a multi-platform launch set: a 4:5 carousel for Threads and Instagram, a square version for feeds, and a 1.91:1 link card. Generating the ratios as one set rather than resizing at the end is the faster path, and Neatico produces the ratio variants together from a single product description.
Frequently asked questions
Does Threads support 9:16 images? You can upload them, but the feed displays them cropped to around 4:5. Use 1080×1350 portrait for the tallest clean image; save 9:16 for Stories.
What is the Threads carousel limit? 20 photos per post. Five to eight slides usually outperform longer sets, which see a steep drop-off after the first few swipes.
Why is my link preview blank or cropped? Threads reads the page's og:image. Set a 1200×628 image, and use a sharing debugger to refresh the cache after you update it.
Is Threads the same image size as Instagram? The feed formats overlap — square and 4:5 match Instagram's feed — but Story and Reel sizes do not carry over. If you build a set for the whole network, check the social media image sizes hub first.