Generate App Store-ready screenshots with device bezels, 3D perspective tilt, text overlays, and drop shadows. Supports iPhone 6.9" and iPad 11".
Requires Python 3 and Pillow + NumPy:
pip install Pillow numpyClone the repo:
git clone https://github.com/giacomoballi/screenshot-generator.git
cd screenshot-generatorpython generate.py --text "Your headline text" path/to/screenshot.png| Flag | Default | Description |
|---|---|---|
--text |
(required) | Text above the device. Use \n for line breaks. |
-o, --output |
Auto-generated | Output file path |
--bg |
#2563EB |
Background color (CSS name or hex) |
--text-color |
white |
Text color (CSS name or hex) |
--tilt |
10 |
3D perspective tilt in degrees (positive = face left, negative = face right, 0 = flat) |
# Basic iPhone screenshot
python generate.py --text "Export your contacts\n100% on device" screenshot.png
# Custom background and no tilt
python generate.py --text "Hello World" --bg coral --tilt 0 screenshot.png
# iPad with custom output path
python generate.py --text "Dashboard" --bg "#1a1a2e" -o store_ipad.png ipad_screenshot.pngDevice type (iPhone or iPad) is detected automatically from the screenshot aspect ratio.
The repo includes device bezel images for iPhone 17 and iPad Air 11" (M2). These are placed over your screenshot to produce a realistic device frame.