FreeToGenerate.com

Enter concentrations and get the index the regulation requires — with the PM2.5 table as revised in 2024, and a comparison against the one it replaced. Nothing is uploaded.

Try one:

Concentrations

Fill in whichever pollutants you have. Leave the rest blank — the index is calculated from each one separately.

Air quality index

The highest of the individual values, which is what gets reported.

53

Moderate

Main pollutant: PM2.5, 24-hour

Every pollutant, separately

Each concentration is truncated to its own precision, looked up in its own table and rounded on its own. The reported index is the largest of them — nothing is averaged.

Air quality indexEnteredTruncatedIndexCategory
PM2.5, 24-hour101053Moderate

This table changed in 2024

The PM2.5 breakpoints were revised on 6 March 2024. A calculator still carrying the older table gives a different answer for the same air, and often a different category.

Under the previous table
42 Good
Under the current table
53 Moderate

The category changed as well.

The four steps, in the regulation's order

  1. Truncate the concentration — do not round it. Ozone goes to three decimal places, PM2.5 and carbon monoxide to one, and PM10, sulfur dioxide and nitrogen dioxide to whole numbers.
  2. Find the two breakpoints containing that value and interpolate linearly between their index values.
  3. Round the result to the nearest whole number.
  4. Across pollutants, the reported index is the highest of them. It is a maximum, never an average, so an index of 60 tells you one pollutant reached 60 and nothing at all about the others.

Breakpoints as published in the CFR edition of 2025. Everything here runs in your browser. Nothing you enter is uploaded.

Also available in: Español · Português · Français · العربية

Air quality index calculator: the current EPA breakpoints

Convert concentrations to the US AQI, and see how much the 2024 revision changed.

What is the air quality index?

The air quality index is a way of putting several different pollutants on one scale. Ozone is measured in parts per million, particulates in micrograms per cubic metre, nitrogen dioxide in parts per billion — numbers that cannot be compared with one another at all. The index maps each of them onto the same 0 to 500 range, so that 100 means the same thing whichever pollutant produced it.

In the United States the mapping is not a convention or a rule of thumb; it is set out in 40 CFR part 58, appendix G, as a table of breakpoints and a four-step procedure. Take the highest concentration, truncate it, find the two breakpoints it falls between, interpolate, round. Then, across pollutants, report the highest of the resulting values.

This calculator implements that procedure from the regulation's own text, using the breakpoints as they stand in the current edition of the CFR. It also shows what the previous table would have said, because for PM2.5 the two disagree far more often than most people realise.

How to use it

  1. Enter whichever concentrations you have. Fill in one pollutant or all seven; anything left blank is simply not part of the calculation. Each field is labelled with the units and the averaging period the regulation specifies, because a 1-hour ozone reading and an 8-hour one use different tables.
  2. Read the index and the main pollutant. The large number is what would be reported. Underneath it is the pollutant that produced it — the regulation calls that the main pollutant — and, if two pollutants tie, both are named.
  3. Look at the table underneath. It shows every pollutant separately: what you entered, what it truncated to, its own index and its own category. For PM2.5 there is also a panel comparing the current breakpoints with the ones they replaced in 2024.

The PM2.5 table changed in 2024

On 6 March 2024 the EPA revised the PM2.5 breakpoints. This is not a small correction at the top of the scale: comparing the current table against the one in the 2023 edition of the CFR, across every PM2.5 reading from 0.0 to 325.4 micrograms per cubic metre, the two give a different index at 3,003 of 3,255 readings and a different category at 530 of them.

The categories change in three bands. From 9.1 to 12.0 a reading that was Good is now Moderate. From 125.5 to 150.4 what was Unhealthy is now Very Unhealthy. And from 225.5 to 250.4 what was Very Unhealthy is now Hazardous. The first of those covers concentrations that occur in ordinary air on ordinary days.

The worked example is worth doing yourself. A PM2.5 concentration of 10.0 was an index of 42 and Good. Under the current table it is 53 and Moderate. The air has not changed; the table has. Any calculator still carrying the older breakpoints will quietly disagree with an official reading for the same measurement, and there is nothing in the output to tell you which table it used — which is why this page prints the CFR edition it was built from.

Three rules that are easy to get wrong

The concentration is truncated, not rounded, and to a precision that differs per pollutant: ozone to three decimal places, PM2.5 and carbon monoxide to one, and PM10, sulfur dioxide and nitrogen dioxide to whole numbers. A PM2.5 reading of 9.97 becomes 9.9, not 10.0. Measured across every two-decimal PM2.5 value the regulation covers, rounding instead of truncating changes the index 7.7 percent of the time — but changes the category only 0.08 percent of the time. Both figures are worth stating: it matters for the number you print and almost never for the label beside it.

The reported index is a maximum, never an average. If ozone gives 101 and PM2.5 gives 76, the reported index is 101 and the day is Unhealthy for Sensitive Groups — and that number says nothing whatever about the particulates. Adding a perfectly clean pollutant to the calculation cannot lower the result. An index is a statement about one pollutant, and this page names which.

The interpolation is linear between the two breakpoints containing the concentration, and it reproduces the table exactly at its own endpoints. The regulation publishes the equation as an image rather than as text, but it defines every variable in prose and adds that where a concentration equals a breakpoint the equation can still be used and the results will be equal. That constraint pins the formula, and this page's tests check it at all 78 breakpoint endpoints rather than taking it on trust.

Honest limitations

This is the United States index, and only that. Other countries publish air quality indices with different pollutants, different breakpoints and different category names, and a number from one is not comparable with a number from another. If you are reading an index from outside the US, check which scheme it uses before comparing it with anything here.

It converts, it does not measure or advise. The regulation defines an index and names its categories; it is not a health assessment, and nothing on this page is one either. The category names shown are the regulation's own labels, quoted as labels. What any level means for any particular person is a question for people who are not a converter.

Finally, the breakpoints are a snapshot of a document that demonstrably moves — that is the whole point of the comparison above. The page prints the CFR edition it was built from, and the tests that verify it assert every rule against the sentence of the regulation that states it, so a future revision breaks the build rather than leaving this page silently wrong. The averaging periods matter too: the table expects a 24-hour average for PM2.5 and an 8-hour one for ozone, so feeding it an instantaneous reading gives an answer to a question nobody asked.

Why is it free?

It is a lookup table and a straight line, and your browser does the whole thing as you type. No server is involved, so there is nothing to meter and no account to create.

Nothing is uploaded. The concentrations you enter stay in this tab.