# Noise Exposure Calculator

> Computes the permitted exposure time at a given A-weighted sound level, the daily noise dose and the 8-hour time-weighted average under both the NIOSH recommended exposure limit (85 dBA, 3 dB exchange rate) and the OSHA permissible exposure limit (90 dBA, 5 dB exchange rate).

- Calculator id: `noise-exposure` · Category: Health (`health`) · Tool name: `calculate_noise_exposure`
- Canonical page: https://tttkmbb.com/health/noise-exposure · This document: https://tttkmbb.com/health/noise-exposure.md · JSON definition: https://tttkmbb.com/health/noise-exposure.json

## Purpose

Computes the permitted exposure time at a given A-weighted sound level, the daily noise dose and the 8-hour time-weighted average under both the NIOSH recommended exposure limit (85 dBA, 3 dB exchange rate) and the OSHA permissible exposure limit (90 dBA, 5 dB exchange rate).

**Use when:** You want to know how long a person may be exposed to a measured noise level, whether a shift, concert or tool use exceeds the NIOSH or OSHA limit, or the dose of a single-level exposure.

**Do not use when:** The level varies over the day (sum the partial doses C/T of each level instead) or you need decibel arithmetic such as adding sources or distance attenuation (use decibel); the result is informational only and no substitute for a workplace noise survey or medical advice.

## Input

| Parameter | Type | Unit | Required | Description |
| --- | --- | --- | --- | --- |
| `noise_level_dba` | number | dBA | required | A-weighted sound level of the exposure (slow response). (min 40, max 140) |
| `duration_hours` | number | h | required | Length of the exposure at that level. (> 0, max 24) |
| `standard` | enum: niosh \| osha |  | optional, default "niosh" | Criterion used for exceeds_limit, time_weighted_average_dba and hearing_protection_recommended; both standards are always computed. |

## Output

| Field | Type | Unit | Description |
| --- | --- | --- | --- |
| `allowed_duration_hours_niosh` | number | h | 8 / 2^((L − 85) / 3): time at this level that reaches 100 % of the NIOSH REL. |
| `allowed_duration_hours_osha` | number | h | 8 / 2^((L − 90) / 5): time at this level that reaches 100 % of the OSHA PEL (Table G-16). |
| `dose_percent_niosh` | number | % | 100 × duration_hours / allowed_duration_hours_niosh. |
| `dose_percent_osha` | number | % | 100 × duration_hours / allowed_duration_hours_osha. |
| `exceeds_limit` | boolean |  | true when the dose under the selected standard is above 100 %. |
| `time_weighted_average_dba` | number | dBA | Equivalent 8-hour time-weighted average for the selected standard: 10·log10(D/100) + 85 (NIOSH) or 16.61·log10(D/100) + 90 (OSHA). |
| `hearing_protection_recommended` | boolean |  | true when the TWA reaches 85 dBA: dose ≥ 50 % under OSHA (action level, hearing conservation program) or ≥ 100 % under NIOSH (REL). |
| `comparison_table` | object |  | NIOSH allowed exposure in minutes keyed by sound level in dBA (85, 88, 91, 94, 97, 100). |

## Formula

`NIOSH: T = 8 / 2^((noise_level_dba − 85) / 3) h; OSHA: T = 8 / 2^((noise_level_dba − 90) / 5) h; dose D = 100 × duration_hours / T; TWA = 10 × log10(D / 100) + 85 (NIOSH) or 16.61 × log10(D / 100) + 90 (OSHA)`

NIOSH (1998) recommends an 85 dBA 8-hour TWA with a 3 dB exchange rate (equal energy); OSHA 29 CFR 1910.95 enforces a 90 dBA PEL with a 5 dB exchange rate and an 85 dBA action level (dose 50 %). Neither integrates levels below 80 dBA, and no exposure above 115 dBA continuous or 140 dB peak is permitted. Informational only.

## Data Sources

- NIOSH (1998) Criteria for a Recommended Standard: Occupational Noise Exposure, DHHS (NIOSH) Publication 98-126 — https://www.cdc.gov/niosh/docs/98-126/ (government, retrieved 2026-09-24)
- OSHA 29 CFR 1910.95 – Occupational noise exposure — https://www.osha.gov/laws-regs/regulations/standardnumber/1910/1910.95 (standard, retrieved 2026-09-24)

Data freshness: `static`. Deterministic formula with fixed constants; results never go stale. Inputs supplied by the caller determine the output.

## API

- `GET https://tttkmbb.com/api/v1/calculate/noise-exposure?noise_level_dba=…&duration_hours=…`
- `POST https://tttkmbb.com/api/v1/calculate/noise-exposure` with JSON body `{"inputs": {…}}`
- Response: unified envelope (`success`, `request`, `result.values`, `result.units`, `sources`, `freshness`, `timestamp`, `next_actions`, `links`); see https://tttkmbb.com/docs/response-format.md
- Schema: https://tttkmbb.com/api/v1/calculators/noise-exposure · OpenAPI operationId `calculate_noise_exposure` in https://tttkmbb.com/openapi.json
- Authentication: none. Rate limit: fair use, see https://tttkmbb.com/docs/rate-limits.md.

## MCP

- Server: `https://tttkmbb.com/mcp` (Streamable HTTP, JSON-RPC 2.0, no auth)
- Tool:  `run_calculator` with `{"calculator_id": "noise-exposure", "inputs": {…}}`

## Example

- 95 dBA for 2 hours (NIOSH): inputs `{"noise_level_dba":95,"duration_hours":2,"standard":"niosh"}` → `{"allowed_duration_hours_niosh":0.79,"allowed_duration_hours_osha":4,"dose_percent_niosh":252,"dose_percent_osha":50,"exceeds_limit":true,"time_weighted_average_dba":89,"hearing_protection_recommended":true,"comparison_table":{"85":480,"88":240,"91":120,"94":60,"97":30,"100":15}}`
- 100 dBA for 30 minutes (OSHA): inputs `{"noise_level_dba":100,"duration_hours":0.5,"standard":"osha"}` → `{"allowed_duration_hours_niosh":0.25,"allowed_duration_hours_osha":2,"dose_percent_niosh":200,"dose_percent_osha":25,"exceeds_limit":false,"time_weighted_average_dba":80,"hearing_protection_recommended":false}`

```
GET https://tttkmbb.com/api/v1/calculate/noise-exposure?noise_level_dba=95&duration_hours=2&standard=niosh
```

## Limitations

The level varies over the day (sum the partial doses C/T of each level instead) or you need decibel arithmetic such as adding sources or distance attenuation (use decibel); the result is informational only and no substitute for a workplace noise survey or medical advice. NIOSH (1998) recommends an 85 dBA 8-hour TWA with a 3 dB exchange rate (equal energy); OSHA 29 CFR 1910.95 enforces a 90 dBA PEL with a 5 dB exchange rate and an 85 dBA action level (dose 50 %). Neither integrates levels below 80 dBA, and no exposure above 115 dBA continuous or 140 dB peak is permitted. Informational only. All values are computed from the formula above; no measurement or live data is involved.

## FAQ

**Why do NIOSH and OSHA differ so much?**

NIOSH halves the allowed time for every 3 dB increase (equal energy rule) starting from 85 dBA, OSHA for every 5 dB starting from 90 dBA. At 95 dBA that is 47.6 minutes versus 4 hours; NIOSH's limit is the health-based recommendation, OSHA's the enforceable minimum in the US.

**How do I handle several noise levels in one day?**

Compute the dose of each period separately (100 × C/T) and add them; the total must stay at or below 100 %. Run this calculator once per level and sum the dose outputs.

**What about the EU?**

EU Directive 2003/10/EC uses a 3 dB exchange rate like NIOSH with an exposure limit of 87 dBA and action values of 80 and 85 dBA (8-hour Lex), so the NIOSH allowed duration is the closer comparison.

## Related

- [Decibel Calculator](https://tttkmbb.com/engineering/decibel.md) — Add sound sources or convert between sound level and intensity.
