# Android - Launcher Icon Size

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?

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

• Where do you put the WED version? – Mafro34 Dec 3 '13 at 10:50
• @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 3 '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 5:13

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)

• I need to create drawable-WEB for WEB ??? – RED.Skull Jul 28 '14 at 8:56
• @RED.Skull no, he means the icon you upload to the Google Developer Dashboard to be viewed on the market by users – Mirko Aug 8 '14 at 16:21
• Excuse my stupidity, but those units are in pixels right? – Ogen Jan 22 '15 at 7:32
• @Ogen - It is good habit to ask question, yes units are in pixels. – Chirag Jan 22 '15 at 12:07
• 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 5:15

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)*


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.

• Thanks for adding sizes for various contexts. Do you have a source for this? – Krøllebølle Feb 18 '16 at 11:30
• where is the reference of icon size in android site? – Kenji Aug 22 '16 at 11:21

Starting with Android 8.0 there are adaptive icons, which are made up of two separate layers. Both layers are 108 x 108 dp.

# 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.

• Will the legacy icons have to be with a background too? – android developer Sep 14 '17 at 13:32
• @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

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.

• Android 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 2:14
• Right-click the res folder and select New > Image Asset. go to..developer.android.com/studio/write/image-asset-studio.html – Waruna Manjula May 30 '17 at 5: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.

• 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 2: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. – MartinVonMartinsgrün Mar 18 '16 at 12:12

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.

• What 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
• This looks like an exact copy+paste from this this answer: stackoverflow.com/a/12768159/1974224 – Cristik Mar 9 '18 at 7: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

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 .

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.

• 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 2:24
• Haha ... I just did this in a zsh script. Well, darn. – dylnmc Oct 25 '15 at 21:22
• Iconic framework also includes an image generator for Splash screens and app icons – Tony O'Hagan Nov 20 '15 at 6: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.

## Launch image and Slash image size for Google Play Store app submission

1. 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

1. 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

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.

## protected by mu 無Jul 29 at 16:31

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 0, "mathjax_display_tex": 0, "mathjax_asciimath": 1, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0, "katex": 0, "math-container": 0, "wp-katex-eq": 0, "align": 0, "equation": 0, "x-ck12": 0, "texerror": 0, "math_score": 0.15568597614765167, "perplexity": 4554.905806456116}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "plain"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "warc_path": "s3://commoncrawl/crawl-data/CC-MAIN-2019-43/segments/1570986669546.24/warc/CC-MAIN-20191016190431-20191016213931-00546.warc.gz"}