Energy, Solar, Sustainability & Environment Air Quality, Emissions & Noise US EPA Air Quality Index (40 CFR Part 58, Appendix G)

Air Quality Index (AQI) Calculator

The Air Quality Index converts a measured pollutant concentration into a number on a common 0–500 health scale, so that ozone in parts per million and fine particles in micrograms per cubic metre can be compared directly. This calculator applies the EPA's piecewise linear interpolation between published breakpoints for PM2.5, PM10, ozone, carbon monoxide, sulfur dioxide and nitrogen dioxide, reports a sub-index for each, and returns the overall AQI as the highest of them along with the pollutant driving it and the health category that follows.

Calculator

This calculator runs in your browser. Enable JavaScript for live results — the inputs, formula and worked example below remain fully readable without it.

Inputs this calculator takes, with typical values
InputWhat to enterExample
PM2.5 — fine particles, 24-hour averageRolling 24-hour average mass concentration. The index is defined on the 24-hour average, not on an instantaneous reading.12.5 µg/m³
PM10 — coarse particles, 24-hour average24-hour average of particles below 10 micrometres. Enter zero if you are not reporting this pollutant.40 µg/m³
Ozone — 8-hour averageMaximum daily 8-hour average ozone. The 8-hour breakpoints run to AQI 300; higher ozone is reported on the separate 1-hour scale.0.048 ppm
Carbon monoxide — 8-hour averageMaximum 8-hour running average in parts per million. Ambient background is typically well under 1 ppm.1.2 ppm
Sulfur dioxide — 1-hour averageMaximum 1-hour average in parts per billion. Above 304 ppb the EPA scale switches to the 24-hour average; this calculator continues the published breakpoints.8 ppb
Nitrogen dioxide — 1-hour averageMaximum 1-hour average in parts per billion, the averaging period the NO₂ index is defined on.20 ppb

It returns

  • Overall Air Quality Index — The highest sub-index across all reported pollutants.
  • PM2.5 sub-index
  • PM10 sub-index
  • Ozone sub-index
  • Carbon monoxide sub-index
  • Sulfur dioxide sub-index
  • Nitrogen dioxide sub-index

The formula

Ip=IHiILoBPHiBPLo(CpBPLo)+ILo
AQI=maxpIp

In plain text: Ip = (I_Hi − I_Lo)/(BP_Hi − BP_Lo) × (Cp − BP_Lo) + I_Lo; AQI = max(Ip)

  • IpSub-index for pollutant p, rounded to the nearest integer (AQI)
  • CpMeasured concentration of pollutant p, truncated to the precision the method specifies (µg/m³ or ppm or ppb)
  • BP_Lo, BP_HiConcentration breakpoints bracketing Cp in the published table (same as Cp)
  • I_Lo, I_HiIndex values corresponding to those breakpoints (AQI)

The index is piecewise linear in concentration, and each pollutant has its own breakpoint table anchored so that the national ambient air quality standard falls at AQI 100. The overall AQI is the maximum of the sub-indices, never their average.

Updated Category Air Quality, Emissions & Noise Verified against published test cases Reading time 11 min

What the AQI is and what it is not

The Air Quality Index is a translation device. Six criteria pollutants are measured in incompatible units — micrograms per cubic metre for particles, parts per million for ozone and carbon monoxide, parts per billion for the two gases — and the index maps each onto one 0-to-500 scale calibrated to health effects. That lets a single number carry a public health message, and it lets ozone at 0.078 ppm and PM2.5 at 35.9 µg/m³ be compared as roughly comparable hazards.

The anchoring is deliberate: for each pollutant, the concentration equal to the National Ambient Air Quality Standard maps to AQI 100. That is what makes the sub-indices commensurate. An AQI of 100 means the same regulatory thing regardless of which pollutant produced it, and it is why the category boundaries fall at 50, 100, 150, 200 and 300 for every pollutant rather than at round concentrations.

What the index is not: it is not a measure of total pollution, and it is not an average. It reports the worst sub-index, on the reasoning that the health message must reflect the most hazardous constituent present. Two pollutants each at AQI 90 report 90, not 180. It also says nothing about pollutants outside the six, including air toxics, pollen and radon.

The interpolation, step by step

Each pollutant has a breakpoint table of concentration bands paired with index bands. The calculation has three parts.

Truncate the concentration. Not round — truncate. PM2.5 goes to one decimal place, PM10 and the two gases in ppb to whole numbers, ozone to three decimals, carbon monoxide to one. A PM2.5 reading of 35.97 is treated as 35.9. This step is what makes the small gaps between bands — 9.0 and then 9.1, 35.4 and then 35.5 — unreachable, and it is why two monitors reporting the same air can differ by one AQI point.

Find the band and interpolate. Locate the band whose lower and upper concentration breakpoints bracket the truncated value, then interpolate linearly between the corresponding index values. The formula is exactly the equation of the straight line through the two corners of that band. Round the result to the nearest integer.

Take the maximum. Compute a sub-index for every pollutant you have data for, and report the largest. The pollutant producing it is the responsible or driving pollutant, and it is what the health message should refer to.

Because the mapping is piecewise linear rather than proportional, index differences are not concentration differences. Between AQI 0 and 50 each PM2.5 index point costs 0.18 µg/m³; between 151 and 200 each point costs about 1.4 µg/m³. The scale deliberately stretches at the clean end and compresses at the dirty end. A jump from AQI 150 to 200 is a much larger change in the air than a jump from 50 to 100.

One further practical note: the EPA uses a separate NowCast weighting for real-time particle reporting, which weights recent hours more heavily to approximate the 24-hour average before the day is over. That is why an app's current AQI can differ from what you get here by putting a single hourly reading in. Enter a genuine 24-hour average for the definitional answer.

Worked example: ozone at 0.078 ppm

A monitor reports a maximum daily 8-hour ozone average of 0.078 ppm. Nothing else is elevated.

  1. Truncate. Ozone is carried to three decimal places, so Cp = 0.078 ppm.
  2. Find the band. 0.078 lies in the 0.071–0.085 ppm band, which corresponds to AQI 101–150.
  3. Set the four corners. BPLo = 0.071, BPHi = 0.085, ILo = 101, IHi = 150.
  4. Slope. (150 − 101) ÷ (0.085 − 0.071) = 49 ÷ 0.014 = 3,500 index points per ppm.
  5. Interpolate. 3,500 × (0.078 − 0.071) = 3,500 × 0.007 = 24.5; add ILo: 24.5 + 101 = 125.5.
  6. Round. AQI 126, category Unhealthy for Sensitive Groups, driving pollutant ozone.

Now suppose PM2.5 is also elevated, at 35.9 µg/m³. Its band is 35.5–55.4 µg/m³ mapping to 101–150, so the slope is 49 ÷ 19.9 = 2.4623 points per µg/m³, and the sub-index is 2.4623 × (35.9 − 35.5) + 101 = 0.985 + 101 = 101.98, rounding to 102.

The overall AQI is still 126. Both pollutants are in the same health category, but the index reports the higher of the two rather than combining them, so the reported value and the driving pollutant are unchanged. That is the design of the index, and it is also its main limitation: simultaneous exposure to several pollutants near the same level is not treated as worse than exposure to one of them.

Reading the categories

Six categories divide the scale, and the boundaries are what matter rather than the exact number. 0–50 Good: air quality is satisfactory and pollution poses little or no risk. 51–100 Moderate: acceptable, with a risk for people unusually sensitive to the driving pollutant. 101–150 Unhealthy for Sensitive Groups: members of sensitive groups may experience health effects while the general public is less likely to be affected. 151–200 Unhealthy: some of the general public may experience effects, and sensitive groups more serious ones. 201–300 Very Unhealthy: a health alert, with increased risk for everyone. 301 and above Hazardous: a health warning of emergency conditions.

Who counts as a sensitive group depends on the driving pollutant, which is why that output matters as much as the number. For ozone and particles it includes people with asthma or other lung disease, people with heart disease, older adults, children and teenagers, and people active outdoors. For carbon monoxide it is people with cardiovascular disease. An AQI of 130 driven by ozone and one driven by PM2.5 call for advice aimed at overlapping but not identical populations.

Treat single-point differences as noise. Given the truncation step, monitor uncertainty and the choice of averaging window, an AQI of 98 and an AQI of 103 describe air that is not meaningfully different, even though they fall in different categories. Use the categories for decisions and the number for trends.

Finally, if you are working with a low-cost sensor, be aware that most report a raw particle estimate that has not been corrected against a reference instrument. Correction factors matter a great deal at the concentrations where the category boundaries sit, and an uncorrected sensor reading pushed through this calculator inherits whatever bias the sensor has.

AQI breakpoints by pollutant

Concentration ranges mapping to each AQI category. PM2.5 and PM10 are 24-hour averages in µg/m³; ozone is the maximum daily 8-hour average in ppm; carbon monoxide is the maximum 8-hour average in ppm; SO₂ and NO₂ are 1-hour averages in ppb, except that the SO₂ breakpoints above 304 ppb are defined on the 24-hour average. The 8-hour ozone index is not defined above AQI 300.
AQI bandCategoryPM2.5PM10O₃ (8-h)CO (8-h)SO₂ (1-h)NO₂ (1-h)
0–50Good0.0–9.00–540.000–0.0540.0–4.40–350–53
51–100Moderate9.1–35.455–1540.055–0.0704.5–9.436–7554–100
101–150Unhealthy for Sensitive Groups35.5–55.4155–2540.071–0.0859.5–12.476–185101–360
151–200Unhealthy55.5–125.4255–3540.086–0.10512.5–15.4186–304361–649
201–300Very Unhealthy125.5–225.4355–4240.106–0.20015.5–30.4305–604650–1,249
301–500Hazardous225.5–325.4425–604not defined30.5–50.4605–1,0041,250–2,049

PM2.5 breakpoints are those set by the EPA's 2024 revision of the fine particle standard, which lowered the Good/Moderate boundary from 12.0 to 9.0 µg/m³. If you are reproducing an older reported value, check which table it used.

Mistakes that produce the wrong AQI

  • Averaging the sub-indices. The overall AQI is the maximum, not the mean. Averaging systematically understates the index whenever more than one pollutant is elevated.
  • Rounding the concentration instead of truncating it. The method truncates. A PM2.5 value of 35.48 is 35.4, not 35.5, and that single step moves it across a category boundary.
  • Using an hourly reading where a 24-hour average is required. The particle indices are defined on 24-hour averages. For real-time reporting the EPA uses the NowCast weighting, which is a different calculation from the one on this page.
  • Mixing averaging periods for gases. Ozone uses the maximum daily 8-hour average, CO the maximum 8-hour, NO₂ and SO₂ the maximum 1-hour. Applying an annual mean to any of these tables is meaningless.
  • Using an outdated PM2.5 table. The fine-particle breakpoints changed with the 2024 standard revision. A concentration of 10 µg/m³ is Moderate on the current table and Good on the older one.
  • Converting gases between ppb and µg/m³ carelessly. The conversion depends on molar mass, temperature and pressure. Use a proper concentration conversion rather than a single fixed factor.
  • Reading an AQI above 500 as a valid index value. The published tables end there. The EPA describes higher concentrations as beyond the AQI, and any number quoted past the end of the table comes from an extrapolation someone chose, not from the method.

Which document governs

The index, its breakpoints, the reporting requirements and the category descriptors are set out in 40 CFR Part 58, Appendix G, and elaborated in the EPA's technical assistance document for reporting the AQI. Breakpoints change when the underlying National Ambient Air Quality Standard for a pollutant changes, because AQI 100 is defined to coincide with the standard — which is exactly what happened to PM2.5 in the 2024 revision. If you are reproducing a historically reported value, use the table in force at the time. Other countries operate their own indices with different breakpoints, categories and even scale ranges; a Chinese or Indian AQI of 150 is not the same air as a US AQI of 150.

Key terms

Sub-index
The AQI value computed for one pollutant on its own. The overall AQI is the largest sub-index across the pollutants being reported.
Driving pollutant
Also called the responsible or critical pollutant: the one whose sub-index equals the overall AQI, and therefore the one the health advice should address.
Breakpoint
A concentration marking the edge of an AQI band. Each band is defined by a pair of concentration breakpoints and a pair of index values, and the index varies linearly between them.
NowCast
A weighted average of recent hourly particle measurements the EPA uses for real-time reporting, giving more weight to the most recent hours so that the index responds quickly when conditions change.
NAAQS
National Ambient Air Quality Standards — the health-based concentration limits the EPA sets for the criteria pollutants. Each pollutant's standard is anchored at AQI 100.

Where the AQI fits, and where it does not

The AQI exists to support a same-day decision: whether to run outside, whether to keep a school class indoors, whether a construction crew needs respiratory protection. It compresses a great deal into one integer for exactly that purpose, and it should not be pushed further than that. Long-term exposure assessment uses annual mean concentrations against the annual standard, not index values, because the health effects of chronic exposure follow the mean rather than the peaks.

Three limits are worth stating plainly. The index covers six pollutants and no others. It reports the maximum rather than combining pollutants, so it under-represents mixed exposure. And it is a US construction — indices published elsewhere use different breakpoints and category names, so international comparisons of index values are not meaningful without converting back to concentrations first.

Where the AQI is driven by particles, the source often traces back to combustion, and quantifying that source is a separate exercise: see the fuel combustion calculator for the emissions side of the same fire, and the driving emissions calculator for the transport contribution. On the exposure side, the sibling tools in this category deal with the other main environmental exposure that is measured on a logarithmic health scale — noise — through distance attenuation and occupational dose.

Frequently asked questions

Why is the overall AQI the highest sub-index rather than an average?

Because the index carries a health message, and the health risk on a given day is governed by the most hazardous pollutant present, not by a blend. Averaging would let a very clean pollutant mask a dangerous one. The consequence is that the index does not capture the combined burden of several pollutants at similar levels, which is a recognised limitation rather than an oversight.

What PM2.5 concentration is an AQI of 100?

35.4 µg/m³ as a 24-hour average, on the breakpoint table set by the EPA's 2024 revision. That value is the top of the Moderate band; anything from 35.5 upward moves into Unhealthy for Sensitive Groups. The Good/Moderate boundary in the same table is 9.0 µg/m³, lowered from 12.0 in the previous version.

Why does my air quality app show a different number for the same reading?

Most apps report a NowCast value, which weights the most recent hours of particle data more heavily so that the index reacts quickly. This calculator applies the definitional method to whatever averaging period you enter. Apps may also apply their own sensor corrections, use a different country's index, or report a forecast rather than a measurement.

Should I round or truncate the concentration?

Truncate. The method discards digits beyond the specified precision rather than rounding them: PM2.5 to one decimal, ozone to three, carbon monoxide to one, PM10 and the ppb gases to whole numbers. A reading of 9.08 µg/m³ becomes 9.0 and lands in the Good band, whereas rounding it to 9.1 would put it in Moderate.

Can the AQI go above 500?

Not within the published tables, which stop at 500. Concentrations beyond the top breakpoint are described by the EPA as beyond the AQI. Some agencies and apps extrapolate the top segment to report higher numbers during extreme wildfire smoke events, but that is a local convention rather than part of the method. This calculator holds the sub-index at the top of the scale and flags that it has done so.

How do I convert a gas concentration from µg/m³ to ppb?

Through the ideal gas law, which means the factor depends on the pollutant's molar mass and on temperature and pressure. There is no single number that works for all gases, and using one is a common source of wrong sub-indices. Convert with a tool that takes molar mass and conditions as inputs, and state the reference temperature you assumed.

Which pollutants are missing from the AQI?

Everything outside the six criteria pollutants. Hazardous air pollutants such as benzene and formaldehyde, ultrafine particles below 0.1 micrometres, pollen, mould spores, radon and indoor pollutants including carbon dioxide are all absent. A Good AQI says the six measured pollutants are low outdoors; it makes no statement about the air inside a building.

Does the AQI apply indoors?

Not as published. It is defined on ambient outdoor monitoring data. Indoor particle levels track outdoor levels imperfectly, depending on ventilation, filtration and indoor sources such as cooking and combustion appliances. You can put an indoor PM2.5 measurement through the same breakpoints to get a comparable number, but it is no longer the regulatory AQI and should not be reported as one.

References