fastlane frameit alternative for App Store screenshots
Updated October 2026, from fastlane’s documentation.
- frameit is free and runs in CI. It puts a device frame around each screenshot and can add a title above or below on a colored or image background.
- That one layout is all it does. Anything beyond it, like two phones, an angled phone or a feature graphic, needs another tool.
- You don’t have to give up fastlane: capture with
snapshot, design in a visual editor, and upload the result withdeliverandsupply.
What frameit does
- Frames come from fastlane’s frameit-frames repository and download on the first run. They cover iPhones up to the iPhone 17 (added in April 2026), iPads, Macs and a set of Android phones, in several colors.
- Titles and backgrounds are set in a
Framefile.jsonnext to your screenshots: a background color or image, a title and an optional keyword in your own font, color and size, padding, and whether the title sits above or below. Entries match screenshots by part of their file name. - Each language’s titles come from
title.stringsandkeyword.stringsin that language’s folder. The files must be UTF-8 or UTF-16 BE with a byte order mark, and start with an empty line. - It needs ImageMagick installed, and framing a full set of devices and languages takes a while.
A framed screenshot without a title and background is the frame’s size, not a store size, so fastlane’s docs suggest those for websites, print and email. For the App Store, give every screenshot a background and title.
frameit and ShotPass compared
| frameit | ShotPass | |
|---|---|---|
| Price | Free and open source | Free to design; $5 for a week of exports without a watermark |
| Runs in CI | Yes | No: it’s an editor in your browser |
| Layout | A framed device with a title above or below | 32 templates, a phone spanning two screenshots, 3D angles, badges, stickers and text boxes |
| Devices | iPhone, iPad, Mac and some Android phones | iPhone, iPad, iPhone Duo, Samsung Galaxy, Android tablet, Apple Watch, or no frame |
| Editing | Edit Framefile.json and run it again | Visual, with every export size previewed |
| Other languages | .strings files per language | Text per language in the editor, AI translation or a CSV |
| Google Play feature graphic | No | Yes, 1024 × 500 |
| App preview videos | No | Yes, from a screen recording |
| Upload | deliver and supply | Exports the folders deliver and supply upload from |
If your screenshots are a framed device with one line of text and you regenerate them on every release, frameit in CI is hard to beat. If you want them to look like a designed set, or someone who doesn’t edit JSON makes them, a visual editor is the easier path.
A workflow that keeps fastlane
- Capture with snapshot. Your UI tests run in every language you list and save screenshots in a folder per language (
en-US/,de-DE/, …). Setoverride_status_barfor a clean status bar. One iPhone is enough: ShotPass lays out the iPad, iPhone Duo and Google Play sizes from the same screens, and you can add tablet screens per slide. - Drop the folder onto ShotPass. Each language folder fills that language’s slides, in file name order, and adds the language if the project doesn’t have it yet.
- Design once and write the headlines. Pick a template, then translate the text with AI translation or a CSV (see the localization guide).
- Export → fastlane. The zip holds
fastlane/screenshots/<language>/for deliver andfastlane/metadata/android/<language>/images/(phone and tablet screenshots, feature graphic) for supply, with Play’s language codes, plus a README of the commands. - Upload. Copy the
fastlanefolder into your project, then run:- App Store, screenshots only:
fastlane deliver --skip_binary_upload --skip_metadata --overwrite_screenshots - Google Play, screenshots and feature graphic only:
fastlane supply --skip_upload_apk --skip_upload_aab --skip_upload_metadata --skip_upload_changelogs
- App Store, screenshots only:
If snapshot saves into the same fastlane/screenshots folder deliver uploads from, move the raw captures elsewhere first (or point snapshot’s output_directory somewhere else), or deliver uploads them alongside the designed ones. deliver tells iPhone and iPad screenshots apart by pixel size, and supply uploads in file name order, so the numbered files keep your slide order.
fastlane doesn’t upload the App Store’s new header and search art or in-app event art yet, and may not know every Apple Watch size, so the export puts those beside the fastlane folder for uploading in App Store Connect. Play’s rules for each image are in the Google Play requirements guide.