For HDPI
, XHDPI
, etc. what should be the ideal size of the launcher icon? Should I have to create 9-Patch
images for the icon to scale automatically, or would it be better to create separate icons?

- 5,491
- 5
- 48
- 71

- 15,993
- 29
- 85
- 119
-
9You _don't_ create 9-patch images for launcher icons. 9-patch are for images (resources) within the application. @edwoollard has provided the correct answer. For more information, go through this link here: http://developer.android.com/guide/practices/ui_guidelines/icon_design_launcher.html – Siddharth Lele Oct 07 '12 at 11:02
-
But just asking out of curiosity, can we use 9-patches for launcher icon? – Mohammad Jafar Mashhadi Nov 04 '14 at 21:07
-
You can get different size for icons : https://play.google.com/store/apps/details?id=com.dsquareinfoways.iconsizegenerator&hl=en – Darsh Patel Apr 16 '15 at 10:26
-
how can I set 2 different icons: one for android app, one for Chromebook app. Is it possible? – Kevin Duong Jun 02 '20 at 15:53
13 Answers
I would create separate images for each one:
LDPI should be 36 x 36.
MDPI should be 48 x 48.
TVDPI should be 64 x 64.
HDPI should be 72 x 72.
XHDPI should be 96 x 96.
XXHDPI should be 144 x 144.
XXXHDPI should be 192 x 192.
Then just put each of them in the separate stalks of the drawable folder.
You are also required to give a large version of your icon when uploading your app onto the Google Play Store and this should be WEB 512 x 512
. This is so large so that Google can rescale it to any size in order to advertise your app throughout the Google Play Store and not add pixelation to your logo.
Basically, all of the other icons should be in proportion to the 'baseline' icon, MDPI at 48 x 48
.
LDPI is MDPI x 0.75.
TVDPI is MDPI x 1.33.
HDPI is MDPI x 1.5.
XHDPI is MDPI x 2.
XXHDPI is MDPI x 3.
XXXHDPI is MDPI x 4.
This is all explained on the Iconography page of the Android Developers website:
http://developer.android.com/design/style/iconography.html (as of 2014)
Material design principles: https://material.io/design/iconography/product-icons.html
Play store guidelines: https://developer.android.com/distribute/google-play/resources/icon-design-specifications

- 7,228
- 1
- 55
- 65

- 12,245
- 6
- 43
- 74
-
3
-
10@Mafro34 I presume you mean the WEB version? When you finally complete your app and upload it onto the Google Play Store, it will ask for you to upload a 512 x 512 app icon. This means that they can then use the icon anywhere around the website and the app in order to advertise your app. – edwoollard Dec 03 '13 at 11:59
-
@Mafro34 They ask for 512 x 512 so that they can then scale the icon down to whatever size they need on the different positions of the app and website, without causing pixelation. – edwoollard Jan 11 '14 at 13:53
-
@edwoollard oops, sorry, I didn't see your last line ("`this is all explained ...`"). What you have is essentially a snapshot of their (evolving) requirements. – ashes999 Dec 28 '14 at 17:14
-
I've created a script that exports Android launcher icons at velara3.com and from my research XXHDPI is 180x180 not 144. See developer.android.com/guide/practices/screens_support.html. Search on the page for, "180x180 (3.0x) for extra-extra-high-density". However, I've seen 144 a few places. – 1.21 gigawatts Jan 25 '15 at 05:13
-
so how can create this size of file in photoshop? so if I create 36 x 36 pixels it seems that very small in real device. – Mahdi May 05 '15 at 12:33
-
@Kenji Before you save a file down, make sure you've changed the canvas size to be 36 x 36 pixels. This is a very small size indeed, it is either correct and just looks very small to you, or you're using the wrong image size and your device expects larger images. – edwoollard May 05 '15 at 12:59
-
@edwoollard I get some icons and images from Gmail application from resource in .apk file and I get that as i told google uses different sizes in pixel. for example it's menu icon size was these raneg: mdpi 120x120 pixel, hdpi: 180x180 pixel, xdpi:240x240. so i confused what these size that u said and google said, and what these sizes that google used in it's own application!? I think problem is with difference of dp and pixel. what do u think? – Mahdi May 06 '15 at 15:26
-
@Kenji Yes I'm sure this is a miscommunication of dp vs. pixels. Make sure you do not confuse them! It is best to utilise dp instead of pixels as pixels change across different screen densities, dp stay the same as they are already in relation to the screen density, hence why they are called dp (Density Independent Pixel). This is much the same as using sp (Scale Independent Pixel) for typography in Android instead of pixels. Please refrain from using pixels. The Android Developer page I have supplied specifies all the exact dp values you should use for the relevant types of images. – edwoollard May 06 '15 at 18:27
-
@Kenji Here is a nice article from Google that explains exactly why "when specifying dimensions, always use either dp or sp units". Good luck! Hope all of this makes a bit more sense. http://developer.android.com/training/multiscreen/screendensities.html – edwoollard May 06 '15 at 18:29
-
I know that friend. but when you wanna create that object in photoshop there is no dp and you should use pixel or another dimensions. what the relation of dp in here and pixel in photoshop? – Mahdi May 07 '15 at 09:38
-
Hate to complain but it sounds like a lot of work for an icon, can't something just make all of the different sizes for you if you just provide the largest, do you have to do this with every image on android? – Dan Chase Dec 29 '21 at 01:12
Don't Create 9-patch images for launcher icons . You have to make separate image for each one.
LDPI - 36 x 36
MDPI - 48 x 48
HDPI - 72 x 72
XHDPI - 96 x 96
XXHDPI - 144 x 144
XXXHDPI - 192 x 192.
WEB - 512 x 512 (Require when upload application on Google Play)
Note: WEB(512 x 512) image is used when you upload your android application on Market.
|| Android App Icon Size ||
All Devices
hdpi=281*164
mdpi=188*110
xhdpi=375*219
xxhdpi=563*329
xxxhdpi=750*438
48 × 48 (mdpi)
72 × 72 (hdpi)
96 × 96 (xhdpi)
144 × 144 (xxhdpi)
192 × 192 (xxxhdpi)
512 × 512 (Google Play store)
-
2@RED.Skull no, he means the icon you upload to the Google Developer Dashboard to be viewed on the market by users – Paranoid Android Aug 08 '14 at 16:21
-
7
-
Is it possible to just provide the 192 x 192 version in mipmap-xxxhdpi folder and have the system scale it down appropriately? – eliasbagley Jan 13 '16 at 05:15
-
@eliasbagley: Sure, that works. But it's not optimal (otherwise the whole system of density-specific folders wouldn't exist). – Jonik Oct 21 '16 at 10:23
Android icons require five separate sizes for different screen pixel densities. Icons for lower resolution are created automatically from the baseline.
mdpi (Baseline): 160 dpi 1×
hdpi: 240 dpi 1.5×
xhdpi: 320 dpi 2×
xxhdpi: 480 dpi 3×
xxxhdpi: 640 dpi 4× (launcher icon only)
Launcher icons (.Png)
48 × 48 (mdpi)
72 × 72 (hdpi)
96 × 96 (xhdpi)
144 × 144 (xxhdpi)
192 × 192 (xxxhdpi)
512 × 512 (Google Play store)
Action bar, Dialog & Tab icons
24 × 24 area in 32 × 32 (mdpi)
36 × 36 area in 48 × 48 (hdpi)
48 × 48 area in 64 × 64 (xhdpi)
72 × 72 area in 96 × 96 (xxhdpi)
96 × 96 area in 128 × 128 (xxxhdpi)*
Notification icons
22 × 22 area in 24 × 24 (mdpi)
33 × 33 area in 36 × 36 (hdpi)
44 × 44 area in 48 × 48 (xhdpi)
66 × 66 area in 72 × 72 (xxhdpi)
88 × 88 area in 96 × 96 (xxxhdpi)*
Small Contextual Icons
16 × 16 (mdpi)
24 × 24 (hdpi)
32 × 32 (xhdpi)
48 × 48 (xxhdpi)
64 × 64 (xxxhdpi)*
The xxxhdpi size needed only by the launcher icon as the Supporting multiple Screens official site says.

- 1,195
- 1
- 8
- 11
-
1Thanks for adding sizes for various contexts. Do you have a source for this? – Krøllebølle Feb 18 '16 at 11:30
-
Adaptive Icons
Starting with Android 8.0 there are adaptive icons, which are made up of two separate layers. Both layers are 108 x 108 dp.
(image adapted from Android documentation)
Sizes
If you are supporting versions below Android 8.0, you still need to include the legacy sizes (48dp
). I marked the pixel sizes in red for each resolution below.
Don't do it by hand
I suppose you could make all of those by hand if you want to, but I have to say that my days of doing that are over. The Android Studio 3.0 Asset Studio is quite good and will generate them all for you. All you have to do is supply a sufficiently large foreground and background image. (I used a 1024 x 1024 px image).
To open the Asset Studio go to File > New > Image Asset.
-
-
@android developer, you can select "Legacy only" as the icon type if you want to generate icons without specifying the background layer. If you choose "Adaptive and Legacy", the legacy icons will be generated by merging the foreground and background layers. – Suragch Sep 14 '17 at 13:52
-
The actual background layer itself (as a distinct layer) will only ever be used on Android 8.0+ devices. – Suragch Sep 14 '17 at 13:54
-
What if I want adaptive icons style to be used only from Android O, and legacy ones styles (without the extra background, even if merged) on before? Is it also possible to avoid the background on Android O ? I don't like adaptive icons style... – android developer Sep 14 '17 at 14:03
-
@android developer, Just generate the icons in two passes. First do "Adaptive and Legacy" and provide both layers. (You can even specify not to generate the Legacy icons at this point, but it doesn't matter.) Then do "Legacy only" and chose whatever image you want (for example, the foreground image). If the Legacy icons were already generated in the first pass, they will be overwritten with your new (backgroundless) image in the second pass. Remember that you can always delete any of these files and replace them with images you create by hand. – Suragch Sep 14 '17 at 14:12
-
@android developer, yes, you can use the legacy icons on Android O, too, though it isn't recommended. Just delete the `mipmap-anydpi-v26` folder and don't provide any background/foreground images. – Suragch Sep 14 '17 at 14:21
-
-
-
The Asset Studio also told me it would create a 512x512 size icon for the Play Store but I cannot find it. In your screenshot I can also not find it. If it is trivial please advise, otherwise I will create a separate question. Thanks. – Martin Zaske Dec 12 '18 at 19:36
-
The image helped me but at first I found the perspective confusing. The foreground layer (white Android head "surrounded by transparency") is *hovering* in between the background layer (blue grid) and the "mask layer" (square minus circle). Initially I thought that the Android head was part of the blue background, in the upper right corner. – kubi Aug 19 '21 at 15:29
No need for third party tools when Android Studio can generate icons for us.
File
->New
->Image Asset
Then choose
Launcher Icons
as the Asset Type:Choose a High-res image for the Image file:
Next
->Finish
to generate icons
Finally update android:icon
name field in AndroidManifest.xml
if required.

- 11,904
- 2
- 71
- 68
-
4Android Studio seems to generate extra padding around my icons despite I have told it to trim blank spaces and made sure the padding slider is all the way to the left. A bug with Android Studio maybe or am I missing a step? – Zhang Feb 15 '16 at 15:15
-
This method (unfortunately) sucks because of the extra padding Android Studio puts in... – Micro May 27 '16 at 02:14
-
Right-click the res folder and select New > Image Asset. go to..https://developer.android.com/studio/write/image-asset-studio.html – Waruna Manjula May 30 '17 at 05:54
Provide at least an 512px X 512px image and use this tool: https://romannurik.github.io/AndroidAssetStudio/icons-launcher.html
It will generate all icons for you in the correct size, inclusive the web image for the play store.

- 10,244
- 5
- 39
- 58
-
Cool but it do not generate ldpi size: PNG image data, 36 x 36, 8-bit/color RGBA, non-interlaced. This size is used on devices running Jelly Beans :).. – Hudson Santos Mar 13 '16 at 02:16
-
Create a new project with Android Studio and you will see that there is no ldpi folder anymore. I would assume that you do't need them anymore. – 0xPixelfrost Mar 18 '16 at 12:12
According to the Material design guidelines (here, under "DP unit grid"), your product icon should be of size 48 dp, with a padding of 1dp, except for the case of XXXHDPI, where the padding should be 4dp.
So, in pixels, the sizes are:
- 48 × 48 (mdpi) , with 1 dp padding
- 72 × 72 (hdpi), with 1 dp padding
- 96 × 96 (xhdpi), with 1 dp padding
- 144 × 144 (xxhdpi), with 1 dp padding
- 192 × 192 (xxxhdpi) , with 4 dp padding
I recommend to avoid using VectorDrawable as some launchers don't support it, but I think WEBP should be ok as long as you have your minSdk support transparency for them (API 18 and above - Android 4.3).
If you publish on the Play Store, the requirement to what to upload there are (based on here) :
- 32-bit PNG (with alpha)
- Dimensions: 512px by 512px
- Maximum file size: 1024KB

- 114,585
- 152
- 739
- 1,270
LDPI should be 36 x 36.
MDPI 48 x 48.
TVDPI 64 x 64.
HDPI 72 x 72.
XHDPI 96 x 96.
XXHDPI 144 x 144.
XXXHDPI 192 x 192.

- 1,370
- 15
- 16
-
1What did your answer provide that others haven't already? Please don't leech on other people's answers for reputation...earn it yourself. – edwoollard Mar 14 '16 at 12:38
-
1This looks like an exact copy+paste from this this answer: https://stackoverflow.com/a/12768159/1974224 – Cristik Mar 09 '18 at 07:12
Well as @MartinVonMartinsgrün mentioned Now there is exists Better tools then assert generator in android studio
For application Icon ( Toolbar , ActionBar , DrawableLeft etc ) Use : http://romannurik.github.io/AndroidAssetStudio/icons-actionbar.html
For launcher (Application Icon ) Use : https://romannurik.github.io/AndroidAssetStudio/icons-launcher.html
But Here are some tricks and way to get the better resolution for icons and launcher icons.
Step 1 :
First go to the https://materialdesignicons.com and choose your icon . Or if you have your icon in good resolution then skip this step . Click the desired icon and click on "Advanced Export" it will open up a window like this below
Then click the "Icon" to generate icon (.png) . Well the trick is try to generate as large icon as possible for high resolution devices and the tools will handle it all for small devices but if you use small icon , while generating the icon for high end devices you will loose the icon resolution .
Step 2 :
Then go the Tools page and Upload the Icon
Click the "Custom" if you want to color your icon . No matter what color of icon you are uploading , by using Custom you can generate any color you want . Then choose a name and click "Download .ZIP" . This will download the .zip file with the icon for most of the common resolution . You can copy and paste the res folder in your application project folder and you will see the icon in the drawable section .

- 1,549
- 2
- 17
- 27
I've posted a script for generating all platform icons for PhoneGap apps from a single SVG icon file. If you have existing bitmaps, I also include some notes that may help you to generate the SVG vectors from an existing bitmap. This won't work for all bitmaps but may for yours.

- 21,638
- 3
- 67
- 78
-
I develop in Sencha Touch so it also includes code to generate icons for Sencha. It's easy to remove this and adapt for your needs. I'd value some contribution to help generate start up screens – Tony O'Hagan Aug 28 '14 at 02:24
-
-
[Iconic framework](http://ionicframework.com/) also includes an [image generator](http://ionicframework.com/docs/cli/icon-splashscreen.html) for Splash screens and app icons – Tony O'Hagan Nov 20 '15 at 06:35
I had the same problem but then realized the arrangement of my icon graphic within the square allowed (512 x 512 in my case) was not maximized. So I rotated the image and was able to scale it up to fill the corners better. Then I right clicked on my res
folder in my project in Android Studio, then choose New
then Image Asset
, it took me through a wizard where I got to select my image file to use. Then if you check the box that says "Trim surrounding blank space", it makes sure all edges, that are able, touch the sides of your square. These steps got it much bigger than the original.

- 3,066
- 3
- 45
- 73
Launch image and Slash image size for Google Play Store app submission
- High-res icon. PFB the table for required sizes 32-bit PNG (with alpha), Dimensions: 512px by 512px, Maximum file size: 1024KB
Required Launch Icon And Splash Image size
- At least 2 screenshots are required overall (Max 8 screenshots per type, Types include "Phone", "7-inch tablet" and "10-inch tablet”). JPEG or 24-bit PNG (no alpha), Minimum dimension: 320px, Maximum dimension: 3840px, Sample sizes: 320 x 480, 480 x 800, 480 x 854,1280 x 720, 1280 x 800 24 bit PNG or JPEG

- 129
- 1
- 8
You can create icons directly in the android studio itself.The Steps you need to follow are:
1.Right click on Res->New->Image asset
2.CHange asset type to image.
3.Load the image from the local disk
4.You have options to trim,change padding and add background also.Change the values if you need.
5.click Next->Finish.
The image wil be automatically added to mipmap-mdpi,mipmap-hdpi,mipmap-xhdpi,mipmap-xxhdpi,mipmap-xxxhdpi if you select launcher icon or drawable-mdpi,drawable-hdpi,drawable-xhdpi,drawable-xxhdpi,drawable-xxxhdpi ifyou select other icon optins.

- 4,064
- 1
- 14
- 20