Skip to main content

Auto add device frames to iOS/iPadOS screenshots for App Store.

Project description

Snap2Store Logo

Snap2Store

中文文档

Snap2Store is designed for Apple developers to solve the problem that screenshots captured from the iOS simulator cannot be directly used in the App Store.
It automatically adds device frames and adjusts to the required dimensions, making your app screenshots more professional and compliant with App Store standards.


Background

Screenshots taken from the iOS simulator cannot be uploaded directly to the App Store because:

  • ❌ Sizes do not match App Store requirements
  • ❌ Missing device frames, resulting in poor presentation
  • ❌ Manual processing is time-consuming and inefficient

This tool solves these problems with one command:

  • ✅ Automatically adds real device frames
  • ✅ Outputs screenshots that meet App Store requirements
  • ✅ Batch processing for improved developer efficiency

Installation

pip install snap2store

Usage

Typical Workflow

  1. Capture screenshots in the iOS simulator
  2. Run the processing tool for the target device
  3. Get processed screenshots with the correct frame and size
  4. Upload directly to App Store Connect

CLI Commands

# Process a single screenshot (auto-detect device type)
snap2store screenshot.png

# Batch process all screenshots in a folder
snap2store screenshots_folder/

# Specify device type (iPhone)
snap2store -d iphone screenshot.png

# Specify device type (iPad) and custom output directory
snap2store -d ipad -o custom_output/ screenshot.png

# Show help
snap2store --help

Command Options

usage: snap2store [-h] [-d {iphone,ipad}] [-o OUTPUT] [-v] input

Snap2Store - Add device bezels to iOS/iPadOS screenshots to meet App Store requirements

positional arguments:
  input                 Screenshot file or folder path

options:
  -h, --help            show this help message and exit
  -d {iphone,ipad}, --device {iphone,ipad}
                        Specify device type (auto-detect if not provided)
  -o OUTPUT, --output OUTPUT
                        Output directory (default: ./output/)
  -v, --version         show program's version number and exit

Examples:
  snap2store screenshot.png                  # Auto-detect device type and process single screenshot
  snap2store screenshots/                    # Process all screenshots in the folder
  snap2store -d iphone screenshot.png        # Specify as iPhone screenshot
  snap2store -d ipad -o custom_output/ img/  # Specify as iPad screenshot and custom output directory

Output

  • 📁 Processed files are saved in the output/ folder
  • 📝 File naming format: original_filename_framed.jpg
  • 🎯 App Store compliant: correct dimensions and format
  • 🖼️ JPEG quality: 85% with optimized compression
  • 🎨 Transparency removed, converted to RGB

Output Dimensions

  • 📱 iPhone: 1242 × 2688 px
  • 📱 iPad: 2064 × 2752 px

These dimensions fully meet App Store Connect requirements, so the screenshots can be uploaded directly.


Tech Stack

  • Python 3.x
  • Pillow (PIL): image processing
  • psd-tools: PSD file parsing

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

snap2store-0.1.1.tar.gz (8.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

snap2store-0.1.1-py3-none-any.whl (8.2 MB view details)

Uploaded Python 3

File details

Details for the file snap2store-0.1.1.tar.gz.

File metadata

  • Download URL: snap2store-0.1.1.tar.gz
  • Upload date:
  • Size: 8.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for snap2store-0.1.1.tar.gz
Algorithm Hash digest
SHA256 494ca5832c35fd3b58eb29c63c7e42611eaee1e796c43576d7ef249e2555ddf9
MD5 b97a7d8e5befb7bb870f3718d09f7823
BLAKE2b-256 20b102d175dc3eb62063d917f715c5427ea519df234b7b9b0899b78a1dd6dac1

See more details on using hashes here.

File details

Details for the file snap2store-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: snap2store-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 8.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for snap2store-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 115eba6e9bce3ac4ffaaf4be654c756d4d2699ef815997d14a61c9811c478e2e
MD5 9af87c39fc62ba49226a1060c2e154b6
BLAKE2b-256 6727dbae8a2fb807c84d5984f8bb10e5bfb81895d0c52658e1de02756555cc00

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page