Skip to content

Instantly share code, notes, and snippets.

@nlharri
Forked from TyrfingMjolnir/README.convert_iOS_icon.md
Created February 6, 2019 09:06
Show Gist options
  • Save nlharri/85c46fefa0fba4071d5d1be127966836 to your computer and use it in GitHub Desktop.
Save nlharri/85c46fefa0fba4071d5d1be127966836 to your computer and use it in GitHub Desktop.
Convert 1 image 2048x2048 to all needed sizes for an iOS app

Prerequisite

$ brew install imagemagick

This is one way to run this script:

$ time /opt/local/convertappicons/convertappicons.sh AppName.png
AppName

real	0m4.272s
user	0m5.478s
sys	0m0.547s
$ exa -T AppName
AppName
├── Icon-60.png
├── Icon-60@2x.png
├── Icon-60@3x.png
├── Icon-72.png
├── Icon-72@2x.png
├── Icon-76.png
├── Icon-76@2x.png
├── Icon-76@3x.png
├── Icon-iPadPro@2x.png
├── Icon-Small-50.png
├── Icon-Small-50@2x.png
├── Icon-Small.png
├── Icon-Small@2x.png
├── Icon-Small@3x.png
├── Icon-Spotlight-40.png
├── Icon-Spotlight-40@2x.png
├── Icon-Spotlight-40@3x.png
├── Icon.png
├── Icon@2x.png
├── iTunesArtwork
└── iTunesArtwork@2
$ open AppName

Then drag all the files from the newly opened folder on to your app icon grid.

#!/usr/bin/env bash
### Note that if your image is 2048 x 2048 as an example there is no need for -resize to have 2 parameters,
### however if your original image is 4097 x 4095, the 2 parameters will "correct" this.
echo ${1%.*}
/bin/mkdir "${1%.*}"
#/usr/local/bin/convert "$1" -resize '1024x1024' "${1%.*}/app_1024x1024_AppStore.png"
#/usr/local/bin/convert "$1" -resize '180x180' "${1%.*}/app_0180x0180_iPhoneApp_60pt_3x.png"
#/usr/local/bin/convert "$1" -resize '167x167' "${1%.*}/app_0167x0167_iPadPro_835pt_2x.png"
#/usr/local/bin/convert "$1" -resize '152x152' "${1%.*}/app_0152x0152_iPad_76pt_2x_.png"
#/usr/local/bin/convert "$1" -resize '120x120' "${1%.*}/app_0120x0120_iPhoneApp_60pt_2x.png"
#/usr/local/bin/convert "$1" -resize '87x87' "${1%.*}/app_0087x0087_iPhone_29pt_3x.png"
#/usr/local/bin/convert "$1" -resize '80x80' "${1%.*}/app_0080x0080_iPhoneSpotlight_40pt_2x.png"
#/usr/local/bin/convert "$1" -resize '76x76' "${1%.*}/app_0076x0076_iPadApp_76pt_1x.png"
#/usr/local/bin/convert "$1" -resize '60x60' "${1%.*}/app_0060x0060_iPhoneNotification_20pt_3x.png"
#/usr/local/bin/convert "$1" -resize '58x58' "${1%.*}/app_0058x0058_iPhone_29pt_2x.png"
#/usr/local/bin/convert "$1" -resize '40x40' "${1%.*}/app_0040x0040_iPhoneNotification_20pt_2x.png.png"
#/usr/local/bin/convert "$1" -resize '29x29' "${1%.*}/app_0029x0029_iPadSettings_29pt_1x.png"
#/usr/local/bin/convert "$1" -resize '20x20' "${1%.*}/app_0020x0020_iPadNotification_20px_1x.png"
/usr/local/bin/convert "$1" -resize '60x60' "${1%.*}/Icon-60.png"
/usr/local/bin/convert "$1" -resize '120x120' "${1%.*}/Icon-60@2x.png"
/usr/local/bin/convert "$1" -resize '180x180' "${1%.*}/Icon-60@3x.png"
/usr/local/bin/convert "$1" -resize '72x72' "${1%.*}/Icon-72.png"
/usr/local/bin/convert "$1" -resize '144x144' "${1%.*}/Icon-72@2x.png"
/usr/local/bin/convert "$1" -resize '76x76' "${1%.*}/Icon-76.png"
/usr/local/bin/convert "$1" -resize '152x152' "${1%.*}/Icon-76@2x.png"
/usr/local/bin/convert "$1" -resize '228x228' "${1%.*}/Icon-76@3x.png"
/usr/local/bin/convert "$1" -resize '167x167' "${1%.*}/Icon-iPadPro@2x.png"
/usr/local/bin/convert "$1" -resize '50x50' "${1%.*}/Icon-Small-50.png"
/usr/local/bin/convert "$1" -resize '100x100' "${1%.*}/Icon-Small-50@2x.png"
/usr/local/bin/convert "$1" -resize '29x29' "${1%.*}/Icon-Small.png"
/usr/local/bin/convert "$1" -resize '58x58' "${1%.*}/Icon-Small@2x.png"
/usr/local/bin/convert "$1" -resize '87x87' "${1%.*}/Icon-Small@3x.png"
/usr/local/bin/convert "$1" -resize '40x40' "${1%.*}/Icon-Spotlight-40.png"
/usr/local/bin/convert "$1" -resize '80x80' "${1%.*}/Icon-Spotlight-40@2x.png"
/usr/local/bin/convert "$1" -resize '120x120' "${1%.*}/Icon-Spotlight-40@3x.png"
/usr/local/bin/convert "$1" -resize '57x57' "${1%.*}/Icon.png"
/usr/local/bin/convert "$1" -resize '114x114' "${1%.*}/Icon@2x.png"
/usr/local/bin/convert "$1" -resize '512x512' "${1%.*}/iTunesArtwork"
/usr/local/bin/convert "$1" -resize '1024x1024' "${1%.*}/iTunesArtwork@2"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment