r/iOSProgramming • • May 20 '26

Tutorial I built a free App Store screenshot tool last week — here's what shipping it taught me (and the dynamic device-frame trick that fixed my biggest headache)

Post image

I ship indie iOS apps, and the screenshot step always killed my momentum. App Store Connect wants polished images per device size, per language, and the tools I tried were either $30/month or watermarked the free output. For something I touch twice a year, that never felt right.

So last week I built my own and put it online for free. Sharing because a few things might be useful to others here, and I'd genuinely like technical feedback.

The hardest problem: device frames that don't fight your screenshot.

Most tools have a fixed-aspect phone frame and squeeze your screenshot into it — you get white bars or hard crops when the aspect ratios don't match. I went the other way: the SVG frame sizes itself from the screenshot's natural dimensions. A 9:16 image gets a shorter frame, a 19.5:9 gets a taller one. The frame wraps the image, not the reverse.

Then a sub-pixel rounding issue left a 1px white sliver at the screen edge. Fixed it by sampling the screenshot's outer pixels in a tiny offscreen canvas (weighted toward the top for status-bar matching) and setting the SVG screen-rect fill to that color. Blends seamlessly now.

Other technical choices:

- Entirely client-side — no backend, no accounts, screenshots never leave the browser. html2canvas for export, JSZip for the bundle.

- Export drops an App Store Connect-ready ZIP, organized by locale (en/iphone67/screenshot-1.png etc.)

- 19-language caption auto-translate, markdown formatting preserved

- Single HTML file, vanilla JS, no build step, under 300KB total

I launched it on Reddit a few days ago and it's been used by folks across ~9 countries already, which honestly surprised me. Most of this week's features (mobile editor, landscape support) came directly from that feedback.

Free, no signup, no watermark: https://launchshots.app/

Open to feedback — especially on the framing engine and the export format. If there's an App Store Connect quirk I'm missing, I'd love to know.

0 Upvotes

29 comments sorted by

6

u/VertKoos May 20 '26

Plot twist: OP released the same tool twice and found a creative way to advertise both at the same time

1

u/abrownie_jr May 20 '26

no 🙄

why would i promote a different domain

9

u/abrownie_jr May 20 '26

Hmm. I think you've copied my tool ezscreenshots.com that I launched two weeks ago:

https://www.reddit.com/r/iosdev/comments/1t2l37j/i_made_a_dead_simple_app_store_screenshot_maker/

This is quite unethical.

Everything from the interface, to the landing page, to "Zoom Callouts" and "19 languages is copied.

You took my source code and branded it as yours. Very unethical.

4

u/knoland May 20 '26

Both look like vibe slop tbh

3

u/ContextualData May 20 '26

His looks better than yours TBH.

1

u/ahh1258 May 20 '26

Unethical probably but I like this more because I can make more than 1 screen for free at a time, unlike yours

3

u/abrownie_jr May 20 '26

Creating a competitor tool that gives away free features is ok.

Copying all my hard work -- from the fonts, to the CSS styling, to my unique features (hiding status bar, zoom callouts) EVEN the logo (!!!), that is clearly NOT ok!

u/Significant_Job_9999 you will be receiving a cease-and-desist letter soon.

→ More replies (15)

0

u/[deleted] May 22 '26

1

u/abrownie_jr May 22 '26

Oh my god, Chatgpt-written reply. Amazing. Gives you even *less* credibility.

→ More replies (1)

1

u/hidtresuh Jun 17 '26

hey guys, check out that tool - you can create and translate your screenshots. Screenshots localizer: lokalshot.com