How to use App Store Screenshot Studio
The studio takes you from raw simulator screenshots to a complete, multi-language, App-Store-Connect-ready PNG set in four steps — entirely in your browser, no account, no upload. This is the full walkthrough, including the file-based pipeline that lets an AI assistant do most of it for you.
Step 1 — Set up the project
Open the studio and pick a device type (iPhone or iPad — each slide's type is later auto-detected from its screenshot anyway), a slide count, and a theme. Or skip the blank start:
- Start from a template — a designed multi-slide starter set that drops you straight into the editor.
- Import a project — select an AI-drafted file set (manifest + captions + screenshots, see below) and get a ready-to-review project in one pick.
Everything is stored in your browser (localStorage + IndexedDB). Nothing is sent anywhere.
Step 2 — Design in the editor
- Screenshots — upload one per slide; it's framed in the device automatically. Rotate, crop by edge-drag, or let the device bleed off the canvas for hero layouts.
- Text — headline and subheadline per slide with full typography control; drag to place, double-click to edit.
- Highlights — draw a dashed source region on the screenshot and a magnified loupe card floats above the bezel.
- Extras — badges, emoji ornaments, gradient/image backgrounds, and App-Store-style 2-page panoramas that span two slides.
- Your slide set can be saved as a reusable template from the header.
Step 3 — Localize
Captions live in a slide × language table. Three ways to fill it:
- Type translations directly into the grid.
- Export the template (CSV or JSON, one labeled column per language), fill it in a spreadsheet or hand it to a translator, re-import. Empty cells are skipped, so partial files are fine.
- Copy the built-in translation prompt, paste it into ChatGPT / Claude / Gemini together with the exported template, and re-import the filled file. No API keys involved.
If your app's UI is localized, bulk-add per-language screenshots named
01-home.en.png, 01-home.ko.png, … — leading digits pick the
slide, the suffix picks the locale. Languages without an override fall back to the base
screenshot. A preview dropdown in the editor shows any locale on the canvas before you
export. Full strategy in
the localization guide.
Step 4 — Export
One click renders every slide × language at the
exact App Store Connect resolution,
alpha-stripped so uploads never bounce, zipped as locale/device/NN.png.
The “ZIP for fastlane” button instead produces a ready-to-run
fastlane deliver folder —
unzip, set your bundle id and API key, run ./upload.sh.
The AI-agent pipeline (zero clicks)
Everything above also works without a human at the keyboard, because the studio's input and output are both files. An AI assistant (Claude Code, Cursor, etc.) drafts an import folder:
launch-screenshots/
├── manifest.json # device, locales, per-slide layout & text-block count
├── captions.csv # slide × language caption table
├── 01-home.en.png # screenshots: {slide}[-desc].{locale}.{ext}
├── 01-home.ko.png
└── 02-add.en.png
A human can drop that folder into step 1's “Import project”. Or skip the browser entirely with the headless pipeline from the repository:
node scripts/headless-export.mjs launch-screenshots/ out/
# → out/en-US/iphone/01.png … every locale, exact sizes
# --fastlane → deliver-ready folder with Appfile/Deliverfile/upload.sh
The agent loop is: edit the manifest or captions → re-run → inspect the PNGs → repeat
until it converges. The manifest schema and naming rules are documented in
docs/project-import.md.
Requirements on the machine running it: Node, @playwright/test + Chromium, and
either a local checkout or BASE_URL pointed at the hosted studio.
FAQ
Where is my project stored?
In your browser: project data in localStorage, images in IndexedDB. Clearing site data
deletes it — export your set (or save a template) when you're done.
Does it cost anything or need an account?
No. It's MIT-licensed open source hosted on GitHub Pages; there is no backend at all.
Which sizes does it export?
The App Store Connect upload slots: iPhone 6.9″ (1320×2868), iPhone 6.5″ (1242×2688),
iPad 13″ (2064×2752), iPad 11″ (1668×2388) — see
the size guide for which you actually need.