GUIDES · EXPORT

How to Export Photos for Instagram Stories Without Losing Quality

FLASHFRAME
Smartphone showing a vertical 9:16 photobooth strip composed for Instagram Stories on a dark desk
Exporting photobooth strips for Instagram Stories without the crop eating the first and last frame — sizes, padding and safe zones.
9 MIN READ · UPDATED JUN 2026

Instagram Stories chew up images. A perfectly crisp export can land on the platform looking soft, oversaturated or oddly cropped. Most of that damage is avoidable — it comes from exporting at the wrong size, the wrong codec, or without thinking about safe zones. This guide covers the rules that actually move the needle, and the ones people worry about but which turn out to be noise.

The right size is 1080 × 1920

Instagram Stories are 9:16. The platform's recommended dimensions are 1080 × 1920 pixels. Anything larger gets resized down on upload, which triggers an extra round of compression. Anything smaller gets upscaled, which looks soft on modern phones with high-density screens. There is no benefit to exporting at 2160 × 3840; Instagram will throw the extra pixels away before serving your Story to viewers.

FLASHFRAME's Story exports go out at exactly 1080 × 1920. If you are exporting from elsewhere, pick those dimensions explicitly — do not rely on "Story preset" labels in third-party tools, which sometimes ship at lower sizes for legacy reasons (720 × 1280 used to be common and still lingers in old templates).

Save as JPG with high quality, not PNG

Instagram re-encodes every upload as JPG anyway. Uploading a PNG just means the platform does the JPG conversion for you, with no input on the quality setting. Exporting as JPG at quality 90 or 95 yourself gives you control over the encoding and usually results in a sharper final image than uploading the equivalent PNG, because you get to pick the quantisation tables.

The exception: if your image has hard graphic elements with transparency (a sticker on a transparent background, for example) and you plan to layer it inside Instagram's own composer, PNG with alpha is fine. For full Story frames, JPG wins.

HEIC is a trap here. It compresses beautifully on your phone but Instagram converts it back to JPG on upload, and the conversion is not always kind — subtle banding in skies and skin tones is a common outcome. Export JPG and skip the round-trip.

Respect the safe zones

Instagram covers parts of every Story with its own UI:

  • The top ~250 pixels carry the profile bubble, name and "close" button.
  • The bottom ~250 pixels carry the reply box and reaction icons.
  • The right edge has the navigation arrow and menu.

Keep important content — faces, text, the focal subject — inside the central 1080 × 1420 area. Pure decoration can extend to the edges, but anything you want the viewer to read or recognise should sit inside the safe zone. This is doubly true for anyone who might watch your Story on an iPhone with a Dynamic Island or notch, which eats a further 50 pixels from the top.

Do not pre-apply Instagram filters

Stacking a film filter on top of Instagram's automatic enhancement pass usually pushes contrast and saturation past the point where skin tones look natural. If you exported a photo with a filter you like — leave it. The Story upload will compress it slightly, but will not re-grade the colours unless you ask it to by tapping the wand icon.

The same rule applies to the "auto-enhance" step some phones apply in the gallery before the file even reaches Instagram. If your Camera Roll shows an "adjustments" indicator on the export, turn it off before uploading; that is a second colour pass you did not ask for.

Captions: bake them in, or add them in app

Text added inside Instagram's Story composer is sharp because it is rendered live by the app at whatever resolution the viewer's screen supports. Text baked into the JPG is compressed along with the rest of the image, which can introduce visible artefacts around letterforms — especially small text or thin fonts.

For long or important captions, add them in the Story composer. For short, design-driven labels — a date stamp on a Polaroid, a "SIDE A" title on a mixtape collage — baking them in is fine if you use a bold, high-contrast typeface at a reasonable size (24 px or larger at 1080 × 1920).

Avoid double compression

Every save-and-share step lossy-encodes the image again. A common workflow that wastes quality:

  1. Export the photo as JPG.
  2. Open it in a phone editor, crop slightly, save.
  3. Send via WhatsApp to your own number.
  4. Save from WhatsApp.
  5. Upload to Instagram Stories.

Every one of those steps re-encodes the JPG, and the final result can look noticeably worse than the original. Get the export right the first time and skip the intermediate edits and share-yourself loops. If you need to move a file between devices without quality loss, use AirDrop, Nearby Share or a cloud file (not a chat app) — those transfer the bytes untouched.

For photo strips and collages

A 4-frame photo strip exported at 1080 × 1920 sits comfortably inside the safe zone with room above and below for captions. A collage at the same dimensions should leave at least 100 pixels of empty space at the top and bottom for the same reason.

If you are exporting a strip and want the whole thing visible without zooming, target 1080 × 1620 for the strip itself and pad with background colour above and below to reach 1920 height. That gives 150 pixels of safe margin on top and bottom — enough for Instagram's chrome without cutting into the top or bottom frames of the strip.

Colour profile: sRGB, always

Instagram assumes sRGB. Exporting from a phone that captures in Display P3 or Adobe RGB without converting can produce a photo that looks vivid on your device and washed-out for everyone else. Any modern editor exports sRGB by default, but check once if your colours look off after upload.

A clean Story export workflow

  • Export at 1080 × 1920 px.
  • JPG at quality 90+, sRGB.
  • Critical content inside the central 1080 × 1420 safe zone.
  • No second pass of automatic filters on top.
  • Long captions added in the Story composer, not baked in.
  • Upload the original JPG — no intermediate edits, no self-WhatsApp loops.

FAQ

Does the same 1080 × 1920 export work for TikTok and WhatsApp Status? Yes. All three platforms use 9:16 as the native full-screen ratio and re-encode uploads similarly. The safe zones differ slightly, but the export dimensions and JPG-90 rule are the same.

What about Reels? Reels are also 9:16 at 1080 × 1920 for the video itself. If you are uploading a static image as a Reel cover, the same export rules apply. The visible portion on the grid is a 4:5 crop from the centre, so keep faces off the very top and bottom.

Is 1920 × 1080 landscape ever a good idea for Stories? No. Instagram will centre-crop landscape images into the 9:16 canvas and you will lose most of the frame. If you must post a landscape shot, pad it to 1080 × 1920 with a background colour yourself.

Why does my Story look pixelated even though the export was 1080p? Usually the file was re-encoded by a share step (WhatsApp, iMessage compression, a cloud service). Upload the original export straight from your gallery.

Further reading

Done that way, what you see in your editor is very close to what your followers see in the Story. Skip any of these steps and Instagram's compression starts making decisions you did not ask for.

TRY IT WITH FLASHFRAME

Export a photo strip as a ready-to-post Story

Shoot a strip in the photobooth, pick the Story format, and drop the resulting JPG straight into Instagram, TikTok or WhatsApp Status.

Open the photobooth