Built in the open
StoreShot lives or dies by three things: RTL correctness, deterministic output, and honest error messages. It's free under MIT — free as in license and free as in price, forever.
Principles
Deterministic by design
The same config, assets and version always produce the same pixels. Variation comes only from sequence position — no randomness, no dates, no environment reads, and the renderer blocks network requests outright.
Arabic is a first-class citizen
Not a locale footnote. Bundled Arabic type (IBM Plex Sans Arabic, OFL), structural RTL layouts, dedicated Arabic landscape metrics — and the test suite keeps it honest.
Fails before you ship bad assets
Validation checks config, translations, exact store dimensions and rendered text fit — with browser-measured geometry checks. It can't judge taste; that stays yours.
Honest about limits
Correct dimensions don't guarantee store compliance. The docs say exactly what StoreShot cannot check, and the comparison table says where frameit or a SaaS tool might serve you better.
How it compares
Contributing
PRs welcome — new templates, verified store profiles, and Arabic/RTL edge cases above all.
Getting set up
git clone https://github.com/saperaa/StoreShot
cd storeshot
npm install
npx playwright-core install chromium # one-time
npm run build
npm test # unit + integration + visual regressionVisual baselines are platform-suffixed (Windows and Linux Chromium rasterize text differently). If you change rendering intentionally, regenerate with npm run test:visual:update and say so in the PR.
Ground rules
- Never reverse, reorder or “fix” Arabic strings in code — shaping and bidi belong to Chromium, RTL layout belongs to CSS logical properties.
- No network in the render path — the engine aborts non-file requests.
- npm run lint && npm run typecheck && npm test must pass, including visual baselines.
- For anything visual, PRs include before/after images rendered by the actual tool.
Credits & license
- StoreShot is MIT-licensed, by StoreShot contributors. v0.6.0 — see the changelog.
- Bundled fonts — IBM Plex Sans, IBM Plex Sans Arabic, Fraunces — are SIL Open Font License 1.1.
- Rendering uses Chromium through playwright-core.
Ready to try it? Get started or browse the templates.