The colour of smoke depends on how well something burns. Things that burn well give off white smoke. This contains vapour and carbon dioxide. Things that do not burn well, such as rubber, give off black smoke. This smoke has soot in it. Smoke that is grey has ash in it.
Sometimes smoke looks blue instead of white. If you remember, sunlight is made up of seven colours. When sunlight hits the moisture in smoke, the blue light scatters. This usually happens when the sky is dark, like at dust.
A lack of oxygen makes smoke black
A fire needs oxygen to burn. Oxygen is usually present in the air. When fire gets enough oxygen, nearly everything burns up. But if there isn’t enough oxygen, things don’t burn as well. The unburnt bits become soot and make the smoke black.
There are three requirements for making a fire: a substance that burns, enough heat to raise the substance to its kindling temperature and plenty of oxygen. Things that burn in the air usually contain carbon and hydrogen. During combustion, oxygen combines with these elements to form water vapour and carbon dioxide. Soot is unburnt carbon and is the result of a lack of oxygen getting to the fire. Ash is the non-combustible product of burnt substances and does not combine with oxygen. All of these factors affect the colour of smoke.