# UV Exposure Time Calculator

> Estimates the time to skin reddening (erythema) from the UV index, the Fitzpatrick skin type (minimal erythema dose 200–1000 J/m²) and sunscreen SPF, and returns the WHO UV index category with its protection advice.

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

## Purpose

Estimates the time to skin reddening (erythema) from the UV index, the Fitzpatrick skin type (minimal erythema dose 200–1000 J/m²) and sunscreen SPF, and returns the WHO UV index category with its protection advice.

**Use when:** You want a theoretical sunburn-time estimate for a UV index forecast and a skin type, with or without sunscreen, shade or cloud cover.

**Do not use when:** You need a safety guarantee: individual MED varies about two-fold within a skin type, sunscreen is usually under-applied, and snow, sand and water reflection add exposure; the result is informational only, not medical advice.

## Input

| Parameter | Type | Unit | Required | Description |
| --- | --- | --- | --- | --- |
| `uv_index` | number |  | required | Forecast or measured UV index (1 unit = 25 mW/m² of erythemally weighted irradiance). (> 0, max 16) |
| `skin_type` | enum: type_1 \| type_2 \| type_3 \| type_4 \| type_5 \| type_6 |  | required | Fitzpatrick sun-reactive skin type; sets the minimal erythema dose (MED) used for the estimate. |
| `spf` | number |  | optional, default 1 | Sun protection factor of the sunscreen applied (1 = no sunscreen). Used as a theoretical multiplier of the burn time. (min 1, max 100) |
| `shade_factor_percent` | number | % | optional, default 0 | Percentage of UV blocked by shade, clouds or clothing (open shade ≈ 50 %, heavy overcast ≈ 70 %). (min 0, max 90) |

## Output

| Field | Type | Unit | Description |
| --- | --- | --- | --- |
| `minutes_to_burn_unprotected` | number | min | MED / dose rate, with the shade factor applied but no sunscreen. |
| `minutes_to_burn_with_spf` | number | min | Unprotected time × SPF (theoretical, full-label protection). |
| `hours_with_spf` | number | h | minutes_to_burn_with_spf / 60. |
| `med_j_m2` | number | J/m² | Erythemally weighted UV dose that produces just-visible reddening for the chosen skin type. |
| `uv_dose_rate_j_m2_per_min` | number | J/m²/min | uv_index × 1.5 J/m² per minute, reduced by the shade factor. |
| `uv_index_category` | string |  | WHO exposure category: low 0–2, moderate 3–5, high 6–7, very high 8–10, extreme 11+ (index rounded to the nearest whole number). |
| `advice` | string |  | WHO sun-protection message for the category. |

## Formula

`uv_dose_rate_j_m2_per_min = uv_index × 0.025 W/m² × 60 s × (1 − shade_factor_percent / 100) = uv_index × 1.5 × (1 − shade_factor_percent / 100); minutes_to_burn_unprotected = med_j_m2 / uv_dose_rate_j_m2_per_min; minutes_to_burn_with_spf = minutes_to_burn_unprotected × spf`

UV index 1 equals 25 mW/m² of CIE erythemally weighted irradiance (WHO), i.e. 1.5 J/m² per minute. The MED values 200, 250, 300, 450, 600 and 1000 J/m² for Fitzpatrick types I–VI are typical literature values; measured protection from sunscreen is usually a third to a half of the label SPF because people apply 0.5–1 mg/cm² instead of the 2 mg/cm² used in SPF testing. Informational only, not medical advice.

## Data Sources

- WHO (2002) Global Solar UV Index: A Practical Guide — https://www.who.int/publications/i/item/9241590076 (standard, retrieved 2026-09-24)
- Wikipedia – Ultraviolet index — https://en.wikipedia.org/wiki/Ultraviolet_index (reference, retrieved 2026-09-24)
- Wikipedia – Fitzpatrick scale — https://en.wikipedia.org/wiki/Fitzpatrick_scale (reference, 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/uv-exposure-time?uv_index=…&skin_type=…`
- `POST https://tttkmbb.com/api/v1/calculate/uv-exposure-time` 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/uv-exposure-time · OpenAPI operationId `estimate_uv_burn_time` 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": "uv-exposure-time", "inputs": {…}}`

## Example

- UV index 8, skin type II, SPF 30: inputs `{"uv_index":8,"skin_type":"type_2","spf":30}` → `{"minutes_to_burn_unprotected":20.8,"minutes_to_burn_with_spf":625,"hours_with_spf":10.42,"med_j_m2":250,"uv_dose_rate_j_m2_per_min":12,"uv_index_category":"Very high (8–10)"}`
- UV index 5, skin type IV, 50 % shade, SPF 15: inputs `{"uv_index":5,"skin_type":"type_4","spf":15,"shade_factor_percent":50}` → `{"minutes_to_burn_unprotected":120,"minutes_to_burn_with_spf":1800,"uv_dose_rate_j_m2_per_min":3.75,"uv_index_category":"Moderate (3–5)"}`

```
GET https://tttkmbb.com/api/v1/calculate/uv-exposure-time?uv_index=8&skin_type=type_2&spf=30
```

## Limitations

You need a safety guarantee: individual MED varies about two-fold within a skin type, sunscreen is usually under-applied, and snow, sand and water reflection add exposure; the result is informational only, not medical advice. UV index 1 equals 25 mW/m² of CIE erythemally weighted irradiance (WHO), i.e. 1.5 J/m² per minute. The MED values 200, 250, 300, 450, 600 and 1000 J/m² for Fitzpatrick types I–VI are typical literature values; measured protection from sunscreen is usually a third to a half of the label SPF because people apply 0.5–1 mg/cm² instead of the 2 mg/cm² used in SPF testing. Informational only, not medical advice. All values are computed from the formula above; no measurement or live data is involved.

## FAQ

**Why is the SPF time unrealistic?**

SPF is measured with 2 mg/cm² of product; typical use is a quarter to half of that, and sweat, water and rubbing remove it. Reapply every 2 hours and treat the SPF time as an upper bound, not a plan.

**Is the UV index constant during the day?**

No. The forecast value is the daily maximum around solar noon; the dose rate is much lower in the morning and late afternoon, so the burn time computed from the peak index is conservative for those hours.

**What is a minimal erythema dose?**

The smallest UV dose that produces just-perceptible reddening 24 hours later. It rises from about 200 J/m² (type I) to 1000 J/m² (type VI) but varies about two-fold between people of the same type.

## Related

- [Heat Index Calculator](https://tttkmbb.com/weather/heat-index.md) — Apparent temperature for the same outdoor conditions.
- [Water Intake Calculator](https://tttkmbb.com/health/water-intake.md) — Fluid needs on a hot day outdoors.
