The purpose of the following list is to provide an overview about color producing chemicals. Most color donors are mixed into a fuel-oxidizer mixture, which as a standalone produces little colour emitters and can be seen as a white piece of colour ready to be filled in with salts. This is why sodium salts are never used for colored flame compositions (except yellow): sodium burns with a yellow flame and overpowers other colours. Some of the chemicals serve as both oxidizer and color producing agent.
Color producing agents which serve as an oxidizing agent also:
Red - Strontium nitrate
Yellow - Sodium nitrate, Sodium chlorate
Green - Barium nitrate, Barium chlorate, Barium perchlorate
Sulfates have also been used as high temperature oxidizers in strobes, colored fire compositions, and exotic flash compositions.
Color producing agents:
Red: Strontium carbonate, Strontium oxalate
Orange: Calcium carbonate
Yellow: Cryolite, Sodium oxalate, Sodium bicarbonate, Sodium chloride, Sodium borate, Sodium Benzoate
Green: Barium carbonate, Barium sulfate (can be used as an oxidizer, see above)
Blue: Copper acetoarsenite (Paris green), Copper sulphate, Copper carbonate (basic), Copper arsenite, Copper powder, Black Copper-II-oxide (cupric oxide), Copper oxychloride, Copper benzoate
Other: For other colours, such as purple, colour donors can be mixed, in these cases the two colours which make the desired colour, for example red and blue color donors are used in the same composition. While yellow can be made with pure sodium, a cleaner canary yellow is made by the addition of Barium to shift the yellow tone away from the orange end of the spectrum. Because Sodium is such a strong emitter only a small ammount is needed to shift a Barium green to a clear yellow.
Generally most of the color producing agents work best with a specific oxidizer, e.g. Copper carbonate can be used with Ammonium perchlorate for best results, while Paris Green (if available) works best with Potassium chlorate.