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.0.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.0-py3-none-any.whl (8.2 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: snap2store-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 a3cec408852fdb55fa30dd63510c3045e0403c00b220b4b1301d420a90dc95db
MD5 c14a4d2fa494fbde67e5f086f92cff86
BLAKE2b-256 49c196763278e1a0f424413fa489110f32f958817cf72fd3e2e090026831fa74

See more details on using hashes here.

File details

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

File metadata

  • Download URL: snap2store-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7063f583003e69fac9ef87d82b74dc72b2e01296bc9f608573b75838f38673e0
MD5 17bdbea429a4b7f543481fe734f0005a
BLAKE2b-256 e17ccde22e7aa1a4ced11b56040df24977fccae8d38ba2ff980d5ee50ec73c11

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