Skip to main content
Chemistry LibreTexts

3.3.6: Forensics- Gunpowder Stoichiometry

  • Page ID
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    Various formulations of gunpowder were apparently discovered and used before 1000 AD in China, and its military use is documented during the Jin Dynasty(1115–1234). Rockets, guns, cannons, grenades, and bombs were used against invading Mongols. Since the late 19th century, the original formulation has been called "black powder" to distinguish it from modern smokeless varieties[1]. Knowledge of gunpowder formulations, and of the products of their explosions, is essential in gunshot residue (GSR) analysis.

    Picture of bullet being shot from a gun. Vapor and trails of bright light emerge from the gun.

    Solids and gases resulting from explosion of gunpowder[2]

    Image of a pile of dark grey powder.

    A modern black powder substitute for muzzleloading rifles in FFG size[3]

    Black powder is usually 75% potassium nitrate (KNO3, known as saltpeter or saltpetre), 15% softwood charcoal , and 10% sulfur (elemental S). Charcoal is made by heating wood with limited air, and is mostly carbon (elemental C), but contains trace minerals (such as potassium carbonate, K2CO3) and some partially decomposed wood chemicals like lignin C9H10O2, cellulose (C6H10O5)n.

    There is no simple equation for the combustion of black powder because the products, as well as the reactants, are numerous and varied, as shown in this table:

    55.91% solid products (in decending order of quantities) 42.98% gaseous products (in decending order of quantities)
    K2CO3, K2SO4, K2S, S, KNO3, KSCN, C, NH4CO3, CO2, N2, CO, H2S, H2, CH4, H2O

    The main products are K2CO3, CO2, and N2, so the equation for the combustion can be given as[4]

    10 KNO3 + 3 S + 8 C → 2 K2CO3 + 3 K2SO4 + 6 CO2 + 5 N2 (1)

    But it is often simplified to[5]:

    2 KNO3 + S + 3 C → K2S + N2 + 3 CO2 (2)

    Sometimes, formulas for charcoal (like C7H4O) that approximate it's composition, but don't represent any actual compound in the charcoal, are used in place of C:

    6 KNO3 + C7H4O + 2 S → 2 K2S + 4 CO2 + 3 CO + 2 H2O + 2 N2 (3)

    Example 4 from Equations and Mass Relationships we noted that one reactant in a chemical equation may be completely consumed without using up all of another. A mixture like gunpowder is formulated for "average conditions", and some portion of reactants may be left unchanged after the reaction. Conversely, at least one reactant is usually completely consumed. When it is gone, the other excess reactants have nothing to react with and they cannot be converted to products. The substance which is used up first is the limiting reagent.

    EXAMPLE 1 If 100 g of black powder is made from the general recipe above (75 g KNO3, 15 g C, 10 g S), and the combustion reaction is given by equation (2), which is the limiting reagent? What mass of solid product will be formed?


    The balanced equation

    2 KNO3 + S + 3 C → K2S + N2 + 3 CO2 (2)

    Let's see how many moles of each we actually have

    \(\begin{align} & n_{\text{KNO}_{\text{3}}}=\text{75.0 g}\times \frac{\text{1 mol KNO}_{\text{3}}}{\text{101.1 g}}=\text{0.742 mol KNO}_{\text{3}} \\ & n_{\text{S}}=\text{10.0 g}\times \frac{\text{1 mol S}}{\text{32.1 g}}=\text{0.312 mol S} \\ & n_{\text{C}}=\text{15.0 g}\times \frac{\text{1 mol C}}{\text{12.01 g}}=\text{1.249 mol C} \\ \end{align}\)

    Now we can use stoichiometric ratios to determine how much C and S would be required to react with all of the KNO3:

    \(n_{\text{S}}=\text{0.742 mol KNO}_{\text{3}}~\times~\frac{\text{ mol S}}{\text{2 mol KNO}_{\text{3}}}~=~\text{0.371 mol S}\)

    \(n_{\text{C}}=\text{0.742 mol KNO}_{\text{3}}~\times~\frac{\text{3 mol C}}{\text{2 mol KNO}_{\text{3}}}~=~\text{1.13 mol C}\)

    Since only 0.312 mol S are present, and 0.371 mol S would be required to react with all of the KNO3, it is clear that this can't happen, and KNO3 must be present in excess. One of the other reactants must be limiting.

    We can use stoichiometric ratios to discover how much KNO3 and S would be required if all the C reacts:

    \(n_{\text{KNO}_{\text{3}}}=\text{1.25 mol C}~\times~\frac{\text{2 mol KNO}_{\text{3}}}{\text{3 mol C}}~=~\text{0.833 mol KNO}_{\text{3}}\)

    \(n_{\text{S}}=\text{1.25 mol C}~\times~\frac{\text{1 mol S}}{\text{3 mol C}}~=~\text{0.416 mol S}\)

    We see that C is also present in excess, so S must be the limiting reactant. We can prove it by using stoichiometric ratios to find out that there is plenty of C and KNO3 to react with all the S:

    \(n_{\text{C}}=\text{0.312 mol S}~\times~\frac{\text{3 mol C}}{\text{1 mol S}}~=~\text{0.936 mol C}\)

    \(n_{\text{KNO}_{\text{3}}}=\text{0.312 mol S}~\times~\frac{\text{2 mol KNO}_{\text{3}}}{\text{1 mol S}}~=~\text{0.624 mol KNO}_{\text{3}}\)

    These calculations can be organized as a table, with entries below the respective reactants and products in the chemical equation. We can calculate (hypothetically) how much of each reactant would be required if the other were completely consumed to demonstrate which is in excess, and which is limiting. 

      2 KNO3 + S +3 C → K2S + N2 + 3 CO2
    m (g) 75.0 10.0 15.0      
    M (g/mol) 101.1 32.1 12.01 110.3 28.01 44.01
    n (mol) 0.742 0.312 1.25      
    if all KNO3 reacts -0.742 -0.371 -1.13      
    if all S reacts -0.624 -0.312 -0.936      
    if all C reacts -0.833 -0.416 -1.25      
    Actual Reaction
    -0.624 -0.312 -0.936 + 0.312 +0.312 +0.936
    Actual Reaction
    -63.1 -10.0 -11.24 +34.4 +8.74 +41.2

    We use the amount of limiting reagent to calculate the amount of product formed. \(n_{\text{S}}~\xrightarrow{S\text{(K}_{\text{2}}\text{S/S)}}~n_{\text{K}_{\text{2}}\text{S}}\xrightarrow{M_{\text{K}_{\text{2}}\text{S}}} ~ m_{\text{K}_{\text{2}}\text{S}}\)

    \(m_{\text{K}_{\text{2}}\text{S}} ~=~ \text{0.312 mol S} ~\times~ \frac{\text{1 mol K}_{\text{2}}\text{S}}{\text{1 mol S}} ~ \times ~ \frac{\text{110.3 g}}{\text{mol K}_{\text{2}}\text{S}}=\text{34.4 g K}_{\text{2}}\text{S} \)

    When the reaction ends, there will be (0.742 – 0.624) mol KNO3 = 0.118 mol KNO3, or 11.9 g left over. There will also be (1.25 - 0.936) = 0.314 mol C, or 3.76 g left over. S is therefore the limiting reagent.

    The left over solids in GSR (gunshot residue) are detected by swiping areas with adhesive coated samplers, which are then viewed with a scanning electron microscope to indentify the particles.

    From this example you can begin to see what needs to be done to determine which of two reagents, X or Y, is limiting. We must compare the stoichiometric ratio S(X/Y) with the actual ratio of amounts of X and Y which were initially mixed together. In Example 1 this ratio of initial amounts

    \(\frac{n_{\text{S}}\text{(initial)}}{n_{\text{KNO}_{\text{3}}}\text{(initial)}}=\frac{\text{0.312 mol S}}{\text{0.742 mol KNO}_{\text{3}}}=\frac{\text{0.420 mol S}}{\text{1 mol KNO}_{\text{3}}}\) was less than the stoichiometric ratio \(\text{S}\left( \frac{\text{S}}{\text{KNO}_{\text{3}}} \right)=\frac{\text{1 mol S}}{\text{2 mol KNO}_{\text{3}}}~=~ 0.5\) This indicated that there was not enough S to react with all the KNO3 and sulfur was the limiting reagent. The corresponding general rule, for any reagents X and Y, is \(\begin{align} & \text{If}~ \frac{n_{\text{X}}\text{(initial)}}{n_{\text{Y}}\text{(initial)}}~\text{is less than S}\left( \frac{\text{X}}{\text{Y}} \right)\text{, then X is limiting}\text{.} \\ & \\ & \text{If}~\frac{n_{\text{X}}\text{(initial)}}{n_{\text{Y}}\text{(initial)}}~\text{is greater than S}\left( \frac{\text{X}}{\text{Y}} \right)\text{, then Y is limiting}\text{.} \\ \end{align}\)

    (Of course, when the amounts of X and Y are in exactly the stoichiometric ratio, both reagents will be completely consumed at the same time, and neither is in excess.). This general rule for determining the limiting reagent is applied in the next example.

    EXAMPLE 2 Iron can be obtained by reacting the ore hematite (Fe2O3) with coke (C). The latter is converted to CO2. As manager of a blast furnace you are told that you have 20.5 Mg (megagrams) of Fe2O3 and 2.84 Mg of coke on hand. (a) Which should you order first—another shipment of iron ore or one of coke? (b) How many megagrams of iron can you make with the materials you have?



    a) Write a balanced equation 2Fe2O3 + 3C → 3CO2 + 4Fe

    The stoichiometric ratio connecting C and Fe2O3 is \(\text{S}\left( \frac{\text{C}}{\text{Fe}_{\text{2}}\text{O}_{\text{3}}} \right)=\frac{\text{3 mol C}}{\text{2 mol Fe}_{\text{2}}\text{O}_{\text{3}}}=\frac{\text{1}\text{.5 mol C}}{\text{1 mol Fe}_{\text{2}}\text{O}_{\text{3}}}\) The initial amounts of C and Fe2O3 are calculated using appropriate molar masses \(\begin{align} & \text{ }n_{\text{C}}\text{(initial)}=\text{2}\text{.84}\times \text{10}^{\text{6}}\text{g}\times \frac{\text{1 mol C}}{\text{12}\text{.01 g}}=\text{2}\text{.36}\times \text{10}^{\text{5}}\text{mol C} \\ & \\ & n_{\text{Fe}_{\text{2}}\text{O}_{\text{3}}}\text{(initial)}=\text{20}\text{.5}\times \text{10}^{\text{6}}\text{g}\times \frac{\text{1 mol Fe}_{\text{2}}\text{O}_{\text{3}}}{\text{159}\text{.69 g}}=\text{1}\text{.28}\times \text{10}^{\text{5}}\text{mol Fe}_{\text{2}}\text{O}_{\text{3}} \\ \end{align}\) Their ratio is \(\frac{n_{\text{C}}\text{(initial)}}{n_{\text{Fe}_{\text{2}}\text{O}_{\text{3}}}\text{(initial)}}=\frac{\text{2}\text{.36}\times \text{10}^{\text{5}}\text{mol C}}{\text{1}\text{.28}\times \text{10}^{\text{5}}\text{mol Fe}_{\text{2}}\text{O}_{\text{3}}}=\frac{\text{1}\text{.84 mol C}}{\text{1 mol Fe}_{\text{2}}\text{O}_{\text{3}}}\) Since this ratio is larger than the stoichiometric ratio, you have more than enough C to react with all the Fe2O3. Fe2O3 is the limiting reagent, and you will want to order more of it first since it will be consumed first. b) The amount of product formed in a reaction may be calculated via an appropriate stoichiometric ratio from the amount of a reactant which was consumed. Some of the excess reactant C will be left over, but all the initial amount of Fe2O3 will be consumed. Therefore we use nFe2O3 (initial) to calculate how much Fe can be obtained \(n_{\text{Fe}_{\text{2}}\text{O}_{\text{3}}}\text{ }\xrightarrow{S\text{(Fe/Fe}_{\text{2}}\text{O}_{\text{3}}\text{)}}\text{ }n_{\text{Fe}}\xrightarrow{M_{\text{Fe}}}\text{ }m_{\text{Fe}}\) \(m_{\text{Fe}}=\text{1}\text{.28 }\times \text{ 10}^{\text{5}}\text{ mol Fe}_{\text{2}}\text{O}_{\text{3}}\text{ }\times \text{ }\frac{\text{4 mol Fe}}{\text{2 mol Fe}_{\text{2}}\text{O}_{\text{3}}}\text{ }\times \text{ }\frac{\text{55}\text{.85 g}}{\text{mol Fe}}=\text{1}\text{.43 }\times \text{ 10}^{\text{7}}\text{ g Fe}\) This is 1.43 × 106 g, or 14.3 Mg, Fe.

    As you can see from the example, in a case where there is a limiting reagent, the initial amount of the limiting reagent must be used to calculate the amount of product formed. Using the initial amount of a reagent present in excess would be incorrect, because such a reagent is not entirely consumed.

    The concept of a limiting reagent was used by the nineteenth century German chemist Justus von Liebig (1807 to 1873) to derive an important biological and ecological law. Liebig’s law of the minimum states that the essential substance available in the smallest amount relative to some critical minimum will control growth and reproduction of any species of plant or animal life. When a group of organisms runs out of that essential limiting reagent, the chemical reactions needed for growth and reproduction must stop. Vitamins, protein, and other nutrients are essential for growth of the human body and of human populations. Similarly, the growth of algae in natural bodies of water such as Lake Erie can be inhibited by reducing the supply of nutrients such as phosphorus in the form of phosphates. It is for this reason that many states have regulated or banned the use of phosphates in detergents and are constructing treatment plants which can remove phosphates from municipal sewage before they enter lakes or streams.


    4. Flash! Bang! Whiz!, University of Denver
    5. Gunpowder []

    • Was this article helpful?