asc screenshot resize
Use this skill to resize screenshots to the exact pixel dimensions required by App Store Connect and validate they pass upload requirements. Uses the built-in macOS sips tool — no third-party dependencies needed.
Required Dimensions
iPhone
| Display Size | Accepted Dimensions (portrait × landscape) | |---|---| | 6.9" | 1260 × 2736, 2736 × 1260, 1320 × 2868, 2868 × 1320, 1290 × 2796, 2796 × 1290 | | 6.5" | 1242 × 2688, 2688 × 1242, 1284 × 2778, 2778 × 1284 | | 6.3" | 1206 × 2622, 2622 × 1206, 1179 × 2556, 2556 × 1179 | | 6.1" | 1125 × 2436, 2436 × 1125, 1080 × 2340, 2340 × 1080, 1170 × 2532, 2532 × 1170 | | 5.5" | 1242 × 2208, 2208 × 1242 | | 4.7" | 750 × 1334, 1334 × 750 | | 4" | 640 × 1096, 640 × 1136, 1136 × 600, 1136 × 640 | | 3.5" | 640 × 920, 640 × 960, 960 × 600, 960 × 640 |
Note: 6.9" accepts screenshots from 6.5", 6.7", and 6.9" devices. 6.3" accepts from 6.1" and 6.3". 6.1" accepts from 5.4", 5.8", and 6.1".
iPad
| Display Size | Accepted Dimensions | |---|---| | 13" | 2064 × 2752, 2752 × 2064, 2048 × 2732, 2732 × 2048 | | 11" | 1668 × 2420, 2420 × 1668, 1668 × 2388, 2388 × 1668, 1640 × 2360, 2360 × 1640, 1488 × 2266, 2266 × 1488 | | iPad Pro 2nd gen 12.9" | 2048 × 2732, 2732 × 2048 | | 10.5" | 1668 × 2224, 2224 × 1668 | | 9.7" | 1536 × 2008, 1536 × 2048, 2048 × 1496, 2048 × 1536, 768 × 1004, 768 × 1024, 1024 × 748, 1024 × 768 |
Apple Watch
| Device | Dimensions | |---|---| | Ultra 3 (49mm) | 422 × 514, 410 × 502 | | Series 11 (46mm) | 416 × 496 | | Series 9 (45mm) | 396 × 484 | | Series 6 (44mm) | 368 × 448 | | Series 3 (42mm) | 312 × 390 |
Mac
| Dimensions | |---| | 1280 × 800 | | 1440 × 900 | | 2560 × 1600 | | 2880 × 1800 |
Apple TV
| Dimensions | |---| | 1920 × 1080 | | 3840 × 2160 |
Workflow
1. Fix Unicode filenames
macOS screenshots often contain hidden Unicode characters (e.g., U+202F narrow no-break space) that cause sips and other tools to fail with "not a valid file". Always sanitize first:
python3 -c "
import os
for f in os.listdir('.'):
clean = f.replace('\u202f', ' ')
if f != clean:
os.rename(f, clean)
print(f'Renamed: {clean}')
"
2. Check current dimensions
sips -g pixelWidth -g pixelHeight screenshot.png
3. Validate App Store readiness
Check for alpha channel and color space issues before uploading:
sips -g hasAlpha -g space screenshot.png
App Store Connect rejects screenshots with alpha transparency. Remove it by round-tripping through JPEG:
sips -s format jpeg input.png --out /tmp/temp.jpg
sips -s format png /tmp/temp.jpg --out output.png
rm /tmp/temp.jpg
Batch-strip alpha from all PNGs in a directory:
for f in *.png; do
if sips -g hasAlpha "$f" | grep -q "yes"; then
sips -s format jpeg "$f" --out /tmp/temp.jpg
sips -s format png /tmp/temp.jpg --out "$f"
rm /tmp/temp.jpg
echo "Stripped alpha: $f"
fi
done
4. Resize a single screenshot
# Portrait iPhone 6.5" (1284 × 2778)
sips -z 2778 1284 input.png --out output.png
Note: sips -z takes height first, then width: sips -z <height> <width>.
5. Batch resize all screenshots in a directory
mkdir -p resized
for f in *.png; do
sips -z 2778 1284 "$f" --out "resized/$f"
done
6. Generate multiple device sizes from one source
mkdir -p appstore-screenshots
# iPhone
sips -z 2868 1320 input.png --out appstore-screenshots/iphone-6.9.png
sips -z 2778 1284 input.png --out appstore-screenshots/iphone-6.5.png
sips -z 2622 1206 input.png --out appstore-screenshots/iphone-6.3.png
sips -z 2532 1170 input.png --out appstore-screenshots/iphone-6.1.png
sips -z 2208 1242 input.png --out appstore-screenshots/iphone-5.5.png
7. Verify output
sips -g pixelWidth -g pixelHeight -g hasAlpha resized/*.png
Confirm all files show the target dimensions and hasAlpha: no.
Guardrails
sipsstretches images to fit exact dimensions. For best results, use source screenshots captured at or near the target aspect ratio.- Always output to a separate file or directory (
--out) to preserve originals. - App Store Connect requires PNG or JPEG format.
sipspreserves the input format by default. - Screenshots must not include alpha transparency. Always validate with
sips -g hasAlphabefore upload. - Color space must be sRGB. If screenshots use Display P3, convert with:
sips -m "/System/Library/ColorSync/Profiles/sRGB IEC61966-2.1.icc" input.png --out output.png.