My New Tool For Creating Xamarin App Icons

I mentioned about a tool ‘MakeAppIcon‘ to create app icons for mobile apps. However, as I mentioned in the blog it doesn't support creating icon images for UWP apps.

My Twitter friend and Xamarin MVP Adam Pedley told me about this awesome open source tool Downsize to create/ manage app icons. However, it’s a command line tool and I don’t like command line tools (that’s just me) and another issue is that this also doesn’t support UWP icon images. I thought why not use the code of Downsize and create my own tool for creating a mobile app icon images.

Using Resizer is pretty simple and it supports UWP Icons too.

You need to just download the ReadyExecutables folder from the repository and launch the ReSizer.exe and you will get the screen given below. Click Select Base Image button (as highlighted in the Image) to chose the base image, which will be used to create rest of the images. It can be of any size, however I suggest you to use the biggest size possible like 1536 X 1536 to get better images.

Once you have selected the image, it’s path will appear in place of Base Image path value, as shown below.

Now, select check OS checkbox whose app icons, which you want to create, you will have to check at-least one checkbox in order to create app icon, else the app will show you an error message.

Once OS check boxes are selected, click Re-Size button (highlighted in the image given below) to create the app icons.

You will get a success message, as shown below, when the icons are created.

You can see the folder's path’s of the newly created app icons, once you dismiss the success message.

Add new sizes

The application uses JSON files, which contain the different app icon sizes present in SizeJsons folder, which is highlighted in the image given below.

Although I have tried to add all the sizes which are currently present in Xamarin.iOS, Xamarin.Android and Xamarin.UWP Application template, if you want to add a new size; you just need to open the folder and update JSON file of the respective OS.

Although, I have tried to make this tool simple and easy to use it might be missing features X or platform Y. If you want something that it can’t currently provide, I love pull requests. If it’s a bigger change, you can also create new tool, using this code, which I did with this tool. Complete code of the tool along with the ReadyExecutables folder is present on GitHub. Happy coding.