An icon for GUI needs to be an SVG image that contains <path> elements. You can place your icons in the Icons folder of your VC program files for quick reference in Python commands, see Creating a Python Add-on in Python API reference for more information.
Please follow these rules
Do not group <path> elements, for example <g><path/><path/></g> . Otherwise, the icon won’t appear in GUI.
The image should be made for 16×16 or 32×32 and so on, otherwise the image will be scaled to 16×16 depending on the font size of your device. Remember this 4K/8K screen users!
If you need help making an icon, here are some tips:
You can use Illustrator to make an icon using objects, but remember to use the Compound Path > Make command to convert them to paths.
You can use PowerPoint to make an icon, but remember to export the image as an EMF, and then use Illustrator or Inkscape to convert the EMF to an SVG.
When using Inkscape, use the XML editor to ungroup any <path> elements and also verify the attributes of the path, specifically stroke and fill colors.
In all cases, you can edit an SVG file in Notepad. Generally, you would do this to ungroup <path> elements and attributes of a <path> element.