fastlane snapshot alternatives, and when not to buy shotfleet
How shotfleet compares to the tools developers use for localized store screenshots.
Feature comparison
| Tool | Takes the screenshots from your running app | One flow for every language | Checks the language of the result | iOS and Android | Price |
|---|---|---|---|---|---|
| shotfleet | Yes | Yes | Yes | Both | $49 once ($29 for the first 100 buyers). Free: check and 2 languages in run |
| fastlane snapshot and screengrab | Yes | Yes (UI-test code in your app, one per platform) | No | Both (two tools) | Free |
| simshot | Yes | Yes (a few lines added to your app) | No | iOS only | Free |
| ButterKit | Yes (from the Simulator) | Not stated on its pricing page | Not stated | Not stated | Free (watermarked), Pro $99 once |
| AppScreens | No (mockups from screenshots you upload) | No | No | Both | Pro $99/yr, Scale $180/yr |
See the price and join the list
Checked on 2026-10-02 from each tool's own pages and docs. "Not stated" means the page doesn't say, not that the answer is no. A mistake? Tell me and I'll fix it the same day.
What each tool does
shotfleet
Rewrites one English Maestro flow for every language your app ships using the app's own compiled strings, runs the flow in parallel on simulators and emulators, checks each screenshot (language, copies, missing, store size rules), and exports to fastlane's folders.
Setup: one command, a two-line config, a Maestro flow in English. Measured on my own app: 18 languages x 4 screens, 9 minutes on iOS and 15 on Android, on one Mac.
fastlane snapshot / screengrab
The standard: UI-test code (XCUITest, Espresso) that taps buttons and takes screenshots, run once per language. You add a test target to your app, and iOS and Android need separate code. Free, a large community, works in CI.
If you already have UI tests that run in every language, you may not need shotfleet. If you don't want test code in your app, or want one flow for both platforms and a check of the results, that is the gap shotfleet fills; fastlane still handles upload and framing.
simshot
Free, MIT-licensed, iOS only. It launches the app in each language with launch arguments and takes the screenshots. It needs a few lines added to your app. Very new: no stars when I looked.
ButterKit
A Mac app that takes screenshots from the iOS Simulator, adds device frames and captions, translates the text with AI and uploads to App Store Connect. Its pricing page lists a free tier (watermarked exports, 50 languages, on-device translation) and Pro at $99 once, with free updates, 5 Macs and a 14-day refund. It doesn't say whether it re-captures your app in each language.
Using it with shotfleet: run shotfleet to get the raw localized screenshots in fastlane's folders, point ButterKit at them for frames and captions, and upload. shotfleet's check tells you whether the language inside the app matches the language on the listing.
AppScreens
A web editor: upload screenshots, add device frames, text and backgrounds, for iOS and Android. Free covers one project with no localizations; Pro is $99 a year (10 languages) and Scale $180 a year (80+ locales). It makes marketing images from what you upload and doesn't capture from your app.
When you should NOT buy shotfleet
If you use any of these, start there first
- You ship in one or two languages. fastlane snapshot or simshot (both free) will do the job, and shotfleet's own free tier covers 2 languages.
- You already have a fastlane UI-test setup working well and don't mind multiple tests per language.
- You want frames, captions, or store upload. ButterKit and AppScreens specialize in that; shotfleet doesn't (but works alongside them).
- Your app is Flutter or React Native. shotfleet reads translation files from those stacks, but I haven't run it on a real Flutter or React Native app yet.
- You don't have an Apple silicon Mac. shotfleet runs on macOS on Apple silicon only, and needs Maestro and Java 17 or newer.
The story
I ship a workout app in 18 languages. A Maestro flow taps buttons by their label, so every flow I wrote only worked in English.
So I wrote shotfleet: one English flow, every language, both platforms, checked. On the first full run, I found that the onboarding button was unreachable in Japanese, Korean, Chinese and Arabic on small phones: taller text, no scrolling. It took a small fix in my app: I made two pages scroll. Nobody had noticed because English screenshots fit fine.
ButterKit, AppScreens and fastlane do different things: make framing, make mockups, run UI tests. shotfleet makes sure the raw screenshots inside your app are actually in the right language.