Guide

Fastlane screenshots: naming, folders, and uploading to App Store Connect

October 20, 2026 · 6 min read

fastlane takes the guesswork out of the upload, and it takes the guesswork out of the folder structure too — but only if the files are laid out the way it expects. The rules are small, strict, and worth twenty minutes to learn once.

The two commands that matter

`fastlane deliver` uploads the app and its metadata, including screenshots. `fastlane supply` uploads metadata only, which is what you want when the build is already on TestFlight and you are only changing the listing.

Both read screenshots from a folder you point them at, and both use the same layout rules.

One folder per language, named by locale

Screenshots live under a directory for the locale they belong to, and the directory name is the locale code the store uses. This is where most first attempts go wrong, because App Store Connect calls some of these differently from what you would guess.

  • en-US — English (United States)
  • en-GB — English (United Kingdom)
  • fr-FR — French
  • de-DE — German
  • es-ES — Spanish
  • pt-BR — Portuguese (Brazil)
  • ja — Japanese
  • ko — Korean
  • zh-Hans — Chinese, Simplified
  • zh-Hant — Chinese, Traditional
  • ar-SA — Arabic
  • he-IL — Hebrew

The file name carries the size and the orientation

Inside a locale folder, the file name tells fastlane which display type the image is for. The pattern is the device, the pixel size, and the orientation, separated by underscores — for example a 6.9-inch iPhone portrait screenshot is named for 1320×2868, and the same shot in landscape carries the reversed dimensions.

The practical consequence: a file named after the wrong size is not an error. It is uploaded to a slot you did not intend, and the listing looks fine until someone notices a wrong-sized screenshot in the carousel.

Export naming that matches on the first try

The way to avoid this is to let the tool that made the images also name them. If your export writes `1320x2868.png` inside a `en-US` folder, the upload is a copy operation. If a human named 80 files, the upload is a guessing game.

This is the argument for a tool that knows the slot list: the mapping from a size to the display type is the fragile part, and it should not live in a person’s memory.

Play uses a different set of names

Google Play has its own convention. Screenshots go in a `images` folder per type — `phoneScreenshots`, `sevenInchScreenshots`, `tenInchScreenshots` — and the feature graphic goes in `featureGraphic`. The pixel sizes are 1080×1920, 1200×1920, and 1600×2560, with the feature graphic at 1024×500.

One deck can feed both, as long as the export writes both folder trees.

Export a fastlane-ready tree

Every slot exported and named for the display type, grouped by locale, in one ZIP.

Open App Snaps

More guides

All guides