ForHosting KIT · Science

Air quality index from nitrogen dioxide

Convert a one-hour nitrogen dioxide reading into the US EPA air quality index: 53 ppb sits at the top of the Good band and gives AQI 50. You also see the band limits behind the number. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Concentration
53
You get
Concentration ppb
53 ppb
Aqi
50
Aqi low
0
Aqi high
50

The US Environmental Protection Agency Air Quality Index turns a measured nitrogen dioxide concentration into the same 0-to-500 scale used for ozone, fine particles, and the other criteria pollutants on public maps. This nitrogen dioxide AQI calculator applies the official one-hour NO2 breakpoint table and the linear interpolation formula published in the EPA technical assistance document, so a reading in parts per billion becomes an integer index, a category label such as Good or Unhealthy, and the concentration bounds of the active band. Enter a non-negative concentration in ppb; the solver truncates to an integer, looks up the band, and returns the interpolated AQI.

What the EPA nitrogen dioxide AQI is and how breakpoints interpolate

The US EPA Air Quality Index for nitrogen dioxide is not a free-floating score. Each one-hour NO2 concentration in parts per billion falls inside a published band with a lower and upper concentration breakpoint and a matching pair of AQI bounds. Inside a band the agency uses linear interpolation so that the low concentration of the Good band maps to an index of zero and the high concentration of that same band maps to fifty, with intermediate readings filling the interval proportionally.

The published identity is Ip equals ((IHi minus ILo) divided by (BPHi minus BPLo)) times (Cp minus BPLo), plus ILo, where Cp is the truncated concentration, BPLo and BPHi are the concentration breakpoints, and ILo and IHi are the index bounds of the band.

The one-hour table covers Good (0 to 53 ppb, AQI 0 to 50), Moderate (54 to 100 ppb, AQI 51 to 100), Unhealthy for Sensitive Groups (101 to 360 ppb, AQI 101 to 150), Unhealthy (361 to 649 ppb, AQI 151 to 200), Very Unhealthy (650 to 1249 ppb, AQI 201 to 300), and two Hazardous bands through 2049 ppb and AQI 500. Category labels match the names people see on EPA-style maps and health messaging.

When a reading sits exactly on a published inclusive edge, such as 53 ppb, the lookup uses that documented interval so clients stay stable.

Where an NO2 AQI calculator earns its keep, and what this page is not

Classroom and public-health explainers use an air quality index from nitrogen dioxide calculator so learners can turn a lab or textbook ppb reading into the same colour-coded index they see on weather apps, and see which breakpoint band produced it. Civic-tech and open-data pipelines often receive raw NO2 concentrations from regulatory monitors or low-cost sensors and still need a deterministic EPA-style AQI for dashboards, school alerts, and archives that store the index beside the mass or mixing-ratio reading.

Product teams building air-quality widgets can keep a free browser path that matches the paid automation path byte-for-byte on the same pure module, avoiding silent drift between a marketing demo and a production job. Journalists and educators can check that 80 ppb is Moderate, not Unhealthy, before quoting a headline index. This page targets people searching for a nitrogen dioxide AQI calculator, NO2 air quality index from ppb, or EPA breakpoint interpolation for nitrogen dioxide.

It is not a PM2.5 inversion, not an ozone eight-hour calculator, not a micrograms-per-cubic-metre converter, and not a live sensor feed. Prefer this capability when you already have a one-hour NO2 concentration in ppb and only need the official index, category, and band.

Classroom and public-health explainers

Convert a textbook or lab NO2 reading in ppb into the US EPA AQI, category, and breakpoint band so students see how the official table maps concentration to the colour-coded index.

Civic-tech and monitor pipelines

Turn raw one-hour nitrogen dioxide concentrations from regulatory or low-cost monitors into a deterministic EPA-style AQI for dashboards, school alerts, and machine-readable archives.

How is the air quality index calculated from nitrogen dioxide?

Truncate the one-hour NO2 concentration to an integer ppb, find the US EPA breakpoint band, and apply Ip=((IHi−ILo)/(BPHi−BPLo))×(Cp−BPLo)+ILo. The result is rounded to the nearest integer AQI.

What is the highest NO2 concentration this calculator accepts?

2049 ppb, the top of the published Hazardous band (AQI 401–500).

Which averaging period and unit does the NO2 table use?

The official US EPA daily AQI table for nitrogen dioxide is the 1-hour table in parts per billion (ppb). This calculator does not convert µg/m³ or use the annual NAAQS.

What does the nitrogen dioxide AQI calculator cost?

The browser tool is free and runs locally.

At what NO2 level is the air unhealthy for sensitive groups?

From 101 to 360 ppb as a one-hour average, which corresponds to AQI 101 to 150. Above 360 ppb the category becomes Unhealthy, starting at AQI 151.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/earth/aqi-no2

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/earth/aqi-no2 \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"concentration":53}'
{
  "concentration": 53
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "earth.aqi_no2",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Negative readings and concentrations above the highest published breakpoint of 2049 ppb fail with invalid_input instead of inventing an index.

What the EPA nitrogen dioxide AQI is and how breakpoints interpolate

This endpoint applies that exact formula after truncating the submitted concentration to an integer ppb, which is the EPA truncation rule for nitrogen dioxide, then rounds the interpolated index to the nearest integer.

How to call the API and what the response contains

The value must be non-negative and, after integer truncation, no greater than 2049, the highest published NO2 breakpoint. A negative concentration fails with a clear message that US EPA AQI is not defined for a negative nitrogen dioxide reading. A reading above 2049 ppb fails because it exceeds the highest breakpoint of the published table; those failures are not billed. Example: concentration 53 ppb sits at the top of the Good band and returns AQI 50. Send a JSON body with one required finite number: concentration (aliases no2, no2_ppb, conc, value, c, and no2_concentration) in parts per billion. Values may arrive as JSON numbers or numeric strings that match a strict finite pattern. Missing concentration, empty strings, and non-finite values fail with invalid_input naming the field. On success the body echoes the submitted concentration and the truncated concentration_ppb used for interpolation; aqi is the rounded integer index; aqi_low and aqi_high are the index bounds of the active band; conc_low_ppb and conc_high_ppb are the official concentration bounds; category and color are the EPA health label and map colour; pollutant is NO2; averaging_period is 1-hour; unit is ppb; method is epa_no2_1hour; formula restates the interpolation identity; and equation fills the same identity with the numbers from this call. Pricing is a flat $0.002 per successful request with unit item; failed validation does not consume prepaid balance.

Product widgets and editorial checks

Power a free browser tool and a prepaid API from the same pure module so demos, newsroom fact-checks, and automation never disagree on an NO2 breakpoint edge.

What happens if the nitrogen dioxide concentration is negative?

The task fails with invalid_input. US EPA AQI is not defined for a negative concentration, so the request is rejected and not billed.

Read the full KIT documentation →