Ads and creative

How do you resize one ad for Instagram, Stories and a banner without it looking stretched?

Why an ad squeezed into a story looks wrong, what each platform actually covers with its own interface, and how to lay one design out for five placements without regenerating the artwork.

How MarketWar handles it

Every placement carries its real safe area as fractions of the frame — the share each app covers with its own interface — and the layout is refitted against them rather than scaled. Contrast is checked to the WCAG ratio on the actual colours: 3:1 is the floor for large text, and over a photograph it is bracketed worst-case against both black and white, because the picture's colours are never known in advance.

A social ad that looks right in the feed and wrong in stories has almost always been scaled rather than laid out again. They are different problems and only one of them is about size.

What each placement actually covers

Every app puts its own interface over part of your frame. Stories reserve the top for the profile row and the bottom for the reply box. Feed placements clip differently on different devices. Copy that sits in those regions is copy nobody reads, and no amount of design quality recovers it.

The five that matter for most businesses: feed square (1080×1080), feed portrait (1080×1350), story and reel (1080×1920), link preview (1200×628), and an email hero banner.

Why an ad should be a document, not a picture

If your ad is a flattened JPEG, changing a word means going back to whoever made it. If it is a set of layers — background, logo, headline, subhead, call to action — then the headline can be retyped, the logo moved and the whole thing refitted to a new frame without regenerating anything.

That is the difference between an ad you can iterate on and one you commission again.

The check that matters most

Contrast. Text at 3:1 against its background is the accessibility floor for large type, and a surprising share of professionally produced ads fail it — usually amber or light grey on white.

Over a photograph it is harder, because the picture's colours are not known in advance. The honest approach is to bracket the worst case: composite the text colour over both black and white and require it to pass against both. That is what a scrim behind the copy is for, and it is why one appears automatically when there is a photo and does not when there is not.

Doing it

Type the headline once, pick a placement, and lay the same document out for the others. Each comes back with its own safe-area check and its own contrast measurement, and each downloads as a PNG at the placement's real pixel size — not at whatever size the screen happened to be, which is why exported ads sometimes arrive soft.

Related: making an ad from your own photograph and why ad text ends up unreadable.

What this does not do

It lays out and checks; it does not decide whether the ad is any good. A well-fitted ad with a weak offer is a well-fitted ad with a weak offer.

Common questions

What size should a social ad be?

1080×1080 for a feed square, 1080×1350 for a feed portrait, 1080×1920 for stories and reels, 1200×628 for link previews. But the size is the easy half — each one covers a different part of the frame with its own buttons, and copy placed there is copy nobody reads.

Why does my ad look stretched in stories?

Because it was scaled rather than laid out again. A square design stretched to 9:16 distorts the type and pushes the copy into the region the app puts its own controls over. The fix is to refit the layout to the new frame, not to resize the image.

Can I do this without regenerating the image?

Yes, if the ad is a document rather than a picture. Text, logo and background as separate layers can be re-laid-out for any frame; a flattened JPEG cannot.

Related

All the answers · Free website audit · What it costs