What you need:
1. Image size no bigger than 512x512 (256x256 MAX recommended). It has to be divisible by 16 also.
2. Image extension to be Bitmap (BMP) (Most recommended)
You would create it just like you would create any other texture. But the point here is to use 255 BLUE color for the parts you want to be fully invisible.
Here is an example image:
So its just like creating a normal texture, but with some additional fixing.
Usually the best way to create a decal is by using multi layers. But keep in mind that only, and ONLY, 255 BLUE will get discarded and become transparent. All other colors wont. This includes alpha transparency in images and layers that go over blue, there must be no color differ like so.
Example:
That is a bad because of the transparency, since the pixels with partial alpha transparency, that will go over blue, will only partially take 255 BLUE value and the result will end up in seeing bluish squares all around the decal.
So keep it clean and divisible by 16, don't make it huge unless you really need to, and also:
1. When naming you need to add a "{" in front of the name: {MyDecal
2. To use it on an Entity only (unless decal apply decal)
3. Entity render mode either Solid or Texture
4. Render FX 255