Different varieties of flash powder are made from different compositions; most common are potassium perchlorate and aluminium powder. Sometimes, sulfur is included in the mixture to increase the sensitivity. Early formulations used potassium permanganate instead of perchlorate.
Flash powders, specifically chlorate/perchlorate ones, are unique in that they produce no gas products (all solid products), which means that they are not explosives by scientific definition. In that regard, they are similar to thermite mixtures. They are also used in military pyrotechnics, when production of large amount of noise, light, or infrared radiation is required; eg. missile decoy flares and stun grenades.
Flash powders - especially involving aluminium and chlorates - are often highly sensitive to friction, heat/flame and static electricity. Even as little as 0.1-10 millijoules spark can set off certain mixtures.
Certain formulations, notably Aluminium powder and potassium chlorate with or without sulfur, become less stable over time and may combust with little or no warning. Modern pyrotechnic practices call for never using sulfur in a mix containing chlorates.
Small quantities (less than a tablespoon) of non-contained flash powder usually burn without making a report (audible explosion) unless the quantity is above its specific gravity. A loose pile (tablespoon) of flash powder can "explode" or cause a loud report without being contained in a tube or another type of container, which can lead to injury or damage if this output is not expected or desired. Example: a small quantity of flash powder is placed on an open surface (ground) and ignited. The output is a brilliant white flash and smoke, but relatively no noise. Next a larger amount of flash powder is similarly situated and ignited. Assuming the amount of flash powder is large enough to allow its own gravity to contain itself, the reaction will result in a deflagration, similar to a detonation that produces a loud and sometimes powerful explosion. The key point is that flash powder can explode without being contained. Just about any amount of flash powder will explode if contained, but it can also explode without being contained if the pile is large enough. The point at which open flash powder explodes will vary by formula (i.e. amount of sulfur, aluminum quality, etc.), so be aware that flash powder will explode without being contained if the amount is large enough. Measurements are approximate and illustrative.
If ever mixing flash powder, never make more than 5 grams at a time. Even experienced hobbyists should never make more than 50 grams at a given time. Producing more than 5 grams for one device is considered a federal offense in the United States and is punishable by up to 6 years in prison.
Hobbyist pyrotechnicians usually use a method called diapering, in which the materials are poured separately onto a large piece of paper, which is then folded up at the corners and gently rocked back and forth until the chemicals are thoroughly mixed. Professionally, automated systems are used to achieve the same result.
The balanced equation for the reaction is:
Generally, 70% potassium perchlorate and 30% aluminium (or 70g KClO4 plus 30g Al to give you 100g flash powder) mix of potassium perchlorate and aluminium powder works very well. The more finely powdered the materials, the faster the reaction, and the "sharper" the flash. Care must be taken, however, to prevent any sparks or friction while mixing these two chemicals, as those may cause unwanted ignition.
The finer ground (mesh) the magnesium is, the faster it will burn and the more smoke it will produce. Magnesium based compositions are unstable over long periods of time, due to slow oxidation of the magnesium surface by both atmospheric oxygen and nitrates in the mixture.