Why the same graphic needs four sizes
Every platform crops to its own aspect ratio, and a design that ignores this gets cropped for you — usually straight through your headline or QR code. A square post pasted into a story leaves dead bands above and below; a story frame forced into a feed loses its top and bottom edges. The fix is not to design once and hope. It is to design once at a shared width and export a dedicated frame for each placement: square, portrait, story, and a 16:9 thumbnail. That is exactly the set the Studio produces from one destination URL.
The master table
These are the sizes that fit each placement without platform-side cropping. Specs were re-checked against the official documentation linked in each row on 2026-10-02; the four rows whose figure moved since August 2026 are marked, and the one row whose pixel size has no official page keeps its August 2026wording for that figure — verify against the platform’s own documentation before a critical print run or launch. Checked links the page each figure was read from.
| Platform | Placement | Size (px) | Aspect | Checked |
|---|---|---|---|---|
| Feed, square | 1080×1080 | 1:1 | 2026-10-02 | |
| Feed, portrait | 1080×1440 (3:4) is the tallest supported organic feed portrait; 4:5 (1080×1350) remains inside the supported 1.91:1–3:4 range | 2026-10-02, changed | ||
| Stories / Reels | 1080×1920 | 9:16 | 2026-10-02 | |
| TikTok | Video / cover | 1080×1920 | 9:16 | 2026-10-02 |
| Feed (recommended) | 1440×1800 (4:5) recommended resolution; minimum width 600px, minimum height 750px at 4:5 | 2026-10-02, changed | ||
| Stories | 1080×1920 | 9:16 | size: August 2026 wording; aspect: 2026-10-02 | |
| X (Twitter) | In-stream image | 1920×1080 | 16:9 | 2026-10-02, changed |
| YouTube | Thumbnail (recommended) | 3840×2160 pixels (16:9) for videos; 2160×3840 for Shorts | 2026-10-02, changed | |
YouTube thumbnails have extra constraints beyond the pixel size — a file limit that now depends on the upload device, 2 MB when uploading from mobile; 50 MB when uploading from desktop (video thumbnails) (source, 2026-10-02), a 640px minimum width (source, 2026-10-02), and dramatic downscaling in search results. Those are covered in depth in the YouTube thumbnail guide.
What moved since August 2026
- Instagram’s organic feed no longer stops at 4:5 (source, 2026-10-02): a 1080×1350 portrait sits inside the supported range, whose tallest frame is 1080×1440 (3:4).
- Facebook’s feed row now carries the Ads Guide figure (source, 2026-10-02); the Studio’s 1080×1350 portrait clearsboth stated minimums but is no longer the recommended resolution. X’s row carries its creative specifications’ 16:9 figure (source, 2026-10-02); that page lists several supported image formats, and the row shows this one entry rather than a sole recommendation.
- YouTube’s help page now recommends 3840×2160 pixels (16:9) for videos; 2160×3840 for Shorts (source, 2026-10-02). The thumbnail tool and the Studio still export 1280×720, which clears the 640px minimum width and is exactly the 16:9 the page asks for (source, 2026-10-02); it is no longer the recommended size.
Why 4:5 usually beats 1:1 in the feed
At the same 1080px width, a 4:5 portrait frame is 1350px tall against the square’s 1080px — 270px, or 25%, more frame for the same width. On a phone held upright, that extra height translates directly into more of the screen occupied while your post is in view: the portrait frame simply takes up more vertical space before the viewer scrolls past it. That is a claim about screen real estate, not a promise about engagement — nothing about an aspect ratio guarantees results. But if the goal is to give a headline, a product shot, or a scannable QR code a fair chance to be seen, the taller frame is the better default for feed posts, and it is why Facebook’s own recommendation for feed images is 4:5 portrait (source, 2026-10-02).
Keep the square around anyway. Profile grids, certain embeds, and reposts into square-only contexts still want a true 1:1, and cropping a 4:5 down to square after the fact tends to behead whatever sat near the edges.
The 9:16 safe zone, in numbers
Story and Reels frames are not fully yours. Platform UI — the poster’s avatar and name up top, reply fields, captions, and action buttons down below — overlays the image itself. On a 1080×1920 frame, Meta’s own guidance is to leave roughly 250 pixels of the top and of the bottom free of text and logos (source, 2026-10-02), which leaves a middle band of about 1080×1420 that is reliably visible. These bands are approximate and vary by platform and device, so treat them as a minimum margin, not a precise mask.
- Keep all text inside the middle band. A headline that starts life under an avatar is unreadable no matter how good the copy is.
- Keep QR codes well inside the band too — a partially covered code will not scan, and a code crowded against overlay chrome loses its quiet zone. The free QR tool generates codes with the quiet zone built in; placement is up to your layout. That zone is 4 modules wide on every side (source, 2026-10-02) and the engine always renders it, so the exported pixels already carry a background-coloured border.
- Let backgrounds, photos, and texture run edge to edge. The safe zone constrains information, not artwork.
Why you design at 1080 wide
Look down the table again: the Instagram square, portrait and story frames, the TikTok cover and the Facebook story (August 2026 wording) all share a 1080px width, and 1080 pixels is the maximum width Instagram keeps for feed photos (source, 2026-10-02). Designing on a 1080-wide canvas means the horizontal composition — margins, type size, logo placement — survives across every vertical format, and only the height changes between exports. It also keeps you on the right side of the scaling rule: shrinking a sharp image is safe, while enlarging a small one invents pixels and softens text. Export at the table’s native sizes and let the platform downscale for smaller screens, never the reverse. If you need to convert or resize an existing asset to fit, the image tool handles that in the browser.
The converter enforces that rule mechanically: its size control is a maximum width, the scale factor it computes is capped at one, and both dimensions are scaled by that same factor and rounded to whole pixels, so an image is only ever reduced and its proportions are preserved to the nearest pixel. How the converter reads and writes files is set out in local image conversion explained.
Pixels are not inches
The table is in pixels because screens are. Nothing in a 1080×1080PNG says how large it is; print size only exists once a resolution is chosen. The QR engine’s print readout divides pixels by 300 dots per inch and converts inches to millimetres, across its three PNG presets:
- 512 px → 1.71 in × 1.71 in (43.3 mm × 43.3 mm) at 300 DPI
- 1024 px → 3.41 in × 3.41 in (86.7 mm × 86.7 mm) at 300 DPI
- 2048 px → 6.83 in × 6.83 in (173.4 mm × 173.4 mm) at 300 DPI
The same arithmetic on the social frames: the 1080-pixel square prints at 3.60 in × 3.60 in (91.4 mm × 91.4 mm) at 300 DPI, and the story frame’s 1920-pixel height is 6.40 in (162.6mm). A poster wants the SVG from the package: it is vector, so it scales to any print size without quality loss — the width and height the engine writes into it are a nominal pixel size derived from the module size used at export; the QR guides’ rule of thumb (August 2026 wording) sets the close-range floor: at least 2×2 cm (0.8×0.8 in). How far a printed code can be decorated is covered in logo and photo QR codes and the decode margin.
Contrast is computed, not eyeballed
A correctly sized frame still fails if the type does not read, so the Studio treats readability as a measurement: the WCAG 2.x relative-luminance contrast ratio of each text colour against the surface behind it, compared with 4.5:1, the Level AA minimum for text (source, 2026-10-02). On the Studio’s own defaults, computed here from the settings the engine ships:
- Title #14201c on the content panel #fbfcfa: 16.28:1, which meets the threshold.
- The action label #ffffff on the accent button #3f6f63: 5.73:1, meets.
- A fictional picked grey #a8b0ac on the panel: 2.15:1, falls below.
The result is an advisory, not a correction: a picked colour is honoured exactly — the grey above survives normalisation as #a8b0ac— and the editor shows the failing ratio. The one exception is the thumbnail’s overlay text — the kicker and the title — which draws over a photograph the design cannot predict: the renderer tests the requested colour against a scrim-darkened white reference and, when it fails, substitutes whichever of the engine’s two fallbacks, #14201c or #ffffff, contrasts more — the mechanism is set out in the YouTube thumbnail guide and the methodology. On that test, applied here to the title colour, the Studio’s default overlay-title colour, #ffffff, is kept at 9.13:1; the fictional picked grey #a8b0ac, requested as a title colour, is replaced by #ffffff at 9.13:1. The design reasoning is in promo design basics.
How a headline is fitted into a frame
The same headline must land in four differently shaped boxes, and the Studio does not stretch type to make that happen. Its fitting function steps the font size down from the preferred size towards the minimum, wrapping whole words at each step, until the wrapped lines fit the box’s height; if even the minimum size overflows, it keeps as many lines as fit, ends the last with an ellipsis and reports the truncation. The normaliser clamps a title between 28px and 104px first. A fictional headline, Autumn Launch Night: Doors Open at Seven, fitted with a fixed stand-in measure of 0.55 em per character from the default 72px:
- In a 900×300 box it settles at 72px over two lines (Autumn Launch Night: / Doors Open at Seven), truncated: false.
- In a 420×40 box it reaches the 28px floor and keeps one line (Autumn Launch Night: Doors…), truncated: true.
In the Studio the measure comes from the canvas and the real font, so the break points differ; the mechanism does not. The thumbnail maker calls the same fitting function with its own minimum size and leading, so a long title on a 1280×720 canvas gets smaller, not wider; a reported truncation is the signal to shorten the headline.
One design, four exports
The Studio takes one destination URL and one design and renders the full set from it — the sizes below are the ones its package README names: 1080×1080 square, 1080×1350 portrait, 1080×1920 story, and a clean 1280×720 YouTube thumbnail, plus the QR code as both PNG and SVG, a clickable Tap-or-Scan card, platform captions, and a machine-readable manifest — all in a single ZIP. The SVG matters if the campaign might ever go to print, since it scales to any size without quality loss; the PNGs are the web-ready rasters.
Sizing is only half the job — contrast, hierarchy, and type choices decide whether the correctly sized frame actually reads. Promo design basics covers that side.
What the package records about each frame
The README the Studio writes names each graphic by its size and says where it is posted — the engine’s own lines, rendered from the README builder:
- graphics/*-square-1080x1080.png — Instagram, Facebook, LinkedIn, and WhatsApp feeds.
- graphics/*-portrait-1080x1350.png — Instagram/Facebook portrait feed posts.
- graphics/*-story-1080x1920.png — Instagram/Facebook Stories and vertical status posts.
- thumbnail/*-youtube-thumbnail-1280x720.jpg — YouTube video or live-stream thumbnail.
The manifest beside it, built here from a fictional announcement campaign pointing at https://example.com/launch, carries 17 fields (generatedBy, generatedAt, title, destination, routingDestination, campaignType, category, price, shortLink, startsAt, timezone, venue, sourceImage, captionPlatforms, design, designSchemaVersion, files) and stamps the design with schema version 3. Its design block holds the exact colours and sizes the frames were rendered with. Anatomy of a complete promo package walks through every file.
Questions
- Where do the sizes in the table come from?
- Every figure is read from the site's specs registry, which records the official page it was taken from and the date it was checked (latest: 2026-10-02); a figure with no official page keeps its August 2026 wording and is marked as such.
- Is 4:5 still right for Instagram now that the feed accepts 3:4?
- Yes. A 1080×1350 portrait sits inside the range Instagram's official page supports; the tallest frame that range admits is 1080×1440.
- How much of a story frame is reliably visible?
- Meta's guidance keeps roughly 250 pixels at the top and 250 at the bottom of a 1080×1920 story free of text and logos, leaving a middle band of about 1080×1420; the bands vary by device, so treat them as a minimum margin.
- Is the 1280×720 thumbnail still YouTube's recommended size?
- No. YouTube's help page now recommends 3840×2160 pixels (16:9) for videos; 2160×3840 for Shorts. The 1280×720 export clears the 640-pixel minimum width and keeps 16:9; it meets both stated requirements but is no longer the recommended size.
- Can I print one of the social frames?
- They are screen assets. The Studio's 1080-pixel square prints at 3.60 in × 3.60 in (91.4 mm × 91.4 mm) at 300 DPI; for print, use the SVG QR code from the package, which is vector and scales to any print size without quality loss (the width and height it carries are a nominal pixel size derived from the module size used at export), and size any graphic from the required print dimensions.
Everything here runs in your browser: the tools compute on your device and the Studio’s package is assembled on the device. The methodology documents every rule the tools apply.