Pyrotechnic Design for Airbags

by Jeffrey Kantor (jeff at The latest version of this notebook is available at


This Jupyter notebook introduces the analysis and design of the chemistry underlying the automotive airbags.


Automobile airbags are designed to protect occupants in the event of front and side impact crashes, and have been mandated in all new cars since 1998. The following video provides background on the chemistry and engineering challenges involved in the design of modern airbags.

In [2]:
from IPython.display import YouTubeVideo

In older technologies, airbags were inflated with nitrogen generated by the explosive decomposition of sodium azide.

2 NaN3 → 2 Na + 3 N2 (g)

Highly reactive sodium would be a hazard at a crash site. A clever piece of chemical engineering is to add potassium nitrate (KNO3) to oxidize the sodium by the reaction

10 Na + 2 KNO3 → K2O + 5 Na2O + N2 (g)

K2O and Na2O are also highly reactive. In the presence of water, which is common near crash sites, these compounds would react to form KOH and NaOH, both of which would be hazardous to passengers and emergency personnel. So another clever piece of engineering is to add silica (SiO2) to the airbag which will react with K2O and Na2O to form silicate glass though the reactions

K2O + SiO2 → K2O3Si (potassium silicate glass)

Na2O + SiO2 → Na2O3Si (sodium silicate glass)

With proper design of the initial charge one can avoid the net production of sodium with the added benefit of generating further nitrogen.

Problem 1

Perform a generation consumption analysis to determine a process stoichiometry that avoids the net production of Na, Na2O, or K2O. Show your work, including the stoichiometric matrix and the final net stoichiometry.

Problem 2

Approximately 98 grams of N2 are needed to fill a typical airbag. Calculate (in grams) the required amount of sodium azide, potassium nitrate, and silica to be loaded into the airbag.

Problem 3

As mentioned in the video, newer airbag technologies replace sodium azide with other pyrotechnic agents, such as guanidine nitrate. One example from the vast patent literature cites mixture of 45.35 wt% ammonium nitrate (NH4NO3), 8.0 wt% potassium nitrate (KNO3), and 46.65 wt% guanidine nitrate (C(NH2)3NO3).

Species MW wt%
NH4NO3 80.05 45.35
KNO3 101.1 8.0
C(NH2)3NO3 122.1 46.65


  • the gaseous reaction products are carbon dioxide (CO2), nitrogen (N2), and water (H2O), and
  • KNO3 reacts to form K2O, and
  • silica (SiO2) will be added to produce a silicate glass.

How much of the mixture will be required to produce the same gas volume as in problem 2?


The problem does not provide a list of reactions. But we can make some inferences based on knowledge of the reaction products. The first step is to consider the decomposition of the reactants to reaction products plus elemental species.

NH4NO3 → N2 + 2 H2O + 1/2 O2

C(NH2)3NO3 + O2 → 2 N2 + CO2 + 3 H2O

2 KNO3 → K2O + N2 + 5/2 O2

Since oxygen doesn't appear in the list of reactants (and, in any event, would certainly be completely consumed in the course of the pyrotechnic combustion), we'll combine these three reactions into two:

R1: C(NH2)3NO3 + 2 NH4NO3 → 4 N2 + CO2 + 7 H2O

R2: 5 C(NH2)3NO3 + 4 KNO3 → 2 K2O + 12 N2 + 5 CO2 + 15 H2 O

The third reaction to consider is

R3: K2O + SiO2 → K2O3Si (potassium silicate glass)

The way to proceed with this problem is to, first, choose a basis of, say, 100 grams of pyrotechnic charge. What will be the extents of each reaction? How would you scale up or down the charge?

Problem 4

At about the 2:40 mark in the above video, the narrator refers to alternative chemistries for gas generation combining guanidine nitrate (C(NH2)3NO3) as a fuel, and metallic compounds such as iron oxide (Fe2O3), molybdenum disulfide, or cupric oxide (CuO) as oxydizers. For each oxydizer, propose a balanced reaction showing

  • the maximum amount of gas that can be generated per gram of charge, and
  • the approximate temperature of the gas mixture following expansion.

Among these options, which would seem most appropriate for its intended application to airbags?

In [ ]: