How to create vector drawables for android?

Here is the best method to convert any png/jpg into vector drawable:

  1. Download the software InkScape

  2. Open your png in it and follow the procedure shown in the video to convert it to svg

  3. The use the SVG to Vector Drawable tool to convert the svg to vector drawable. The other tool svg2android does not always work as sometimes the svg gets improperly converted to a vector drawable

  4. Copy the code into a new drawable resource file. Now this can be used as a regular drawable.

If you already have a svg then start straightaway from step 3.


You can use Android Studio. Convert png to svg file online tools PNG to SVG
File - > New -> Vector Asset

You can choose Material Icon or Local SVG file

For SVG color can use :

  <ImageButton
    android:layout_width="48dp"
    android:layout_height="48dp"
    android:id="@+id/button"
    android:src="@drawable/ic_more_vert_24dp"
    android:tint="@color/primary" />

Or

imageView.setColorFilter(getResources().getColor(android.R.color.black), PorterDuff.Mode.SRC_IN);

Can convert SVG to PNG online tool: coolutils

Convert SVG to Android drawable: inloop


I had this problem too and found this very useful website:

https://materialdesignicons.com/

There are many icons and with the "advanced export" you can edit the settings easily. For me it was the fastest and easiest way to create vector drawable, if you don't want to download the file, you can just view the code and copy it, not only as a vector drawable but even as an SVG or XAML. Oh and it's free:)

  1. Pick an icon
  2. Click on Advanced Export
  3. Edit the settings
  4. Click on "View Vector Drawable" or download it and put it in your project:)