geoprimsField-grade geospatial math

How to read a TAF

The valid period and each change group of a terminal forecast, and how to turn one into a timeline of what to expect and when.

For pilots · updated 2026-09-23

Planning and education aid. Not for primary navigation. Full disclaimer

A TAF (terminal aerodrome forecast) is the forecast for one airport, written in the same code as a METAR. It covers the area within 5 statute miles of the center of the runways for 24 or 30 hours. The forecast is split into periods by change groups: FM starts a new set of conditions, TEMPO and PROB30 add brief or possible changes on top of them, and BECMG marks a gradual change.

Why it matters

The METAR tells you what the weather is now. The TAF tells you what it should be when you get there, and whether an alternate is likely to be needed. Reading one well means turning its lines into a timeline: what the prevailing conditions are at each hour, and what might happen inside them.

The header

TAF KDEN 181720Z 1818/1918

In the US, the National Weather Service issues routine TAFs four times a day, at 0000Z, 0600Z, 1200Z, and 1800Z. Most cover 24 hours. Some large airports get 30 hours.

The change groups

Group What it means
FM190200 From the 19th at 0200Z, a new, complete forecast replaces everything before it
TEMPO 1820/1824 Temporary changes between those hours, each lasting an hour or less and together covering less than half the window
PROB30 1914/1918 A 30% chance of the conditions that follow, in that window
BECMG 1910/1912 A gradual change that starts in that window and holds after it

An FM group is self-contained. It repeats the wind, visibility, and clouds even when they do not change, so it stands on its own. A TEMPO or PROB30 group lists only what changes. Anything it leaves out stays as the prevailing forecast has it.

The handbook says TEMPO conditions have a better than even chance of happening. PROB30 is for a lower-probability thunderstorm or precipitation event. NWS TAFs use only PROB30, never in the first 9 hours, while military and international TAFs may also use PROB40. The FAA and NWS key card notes that NWS TAFs do not use BECMG, but you will see it in TAFs from military and international airports.

A worked example

Here is a Denver TAF, decoded by the TAF decoder with Denver’s summer offset of UTC−6. The example includes a BECMG group to show how one reads.

TAF KDEN 181720Z 1818/1918 30012G22KT P6SM SCT080 BKN200 TEMPO 1820/1824 VRB25G35KT 3SM TSRA BKN060CB FM190200 32008KT P6SM FEW100 BECMG 1910/1912 18010KT PROB30 1914/1918 3SM -SHRA BKN030

Period UTC Starts, local Forecast Category
Base 18th 1800Z to 19th 0200Z 12:00 300° true at 12 kt, gusting 22 kt; more than 6 SM; scattered at 8,000 ft, broken at 20,000 ft VFR
TEMPO 18th 2000Z to 2400Z 14:00 Variable at 25 kt, gusting 35 kt; 3 SM; thunderstorm with rain; broken cumulonimbus at 6,000 ft MVFR
FM 19th 0200Z to 1800Z 20:00 on the 18th 320° true at 8 kt; more than 6 SM; few at 10,000 ft VFR
BECMG 19th 1000Z to 1200Z 04:00 Wind turning to 180° true at 10 kt
PROB30 19th 1400Z to 1800Z 08:00 3 SM; light rain showers; broken at 3,000 ft MVFR

The decoder sums it up as a forecast from the 18th at 1800Z to the 19th at 1800Z in 5 periods.

Read as a timeline, it says: a gusty but VFR afternoon, with thunderstorms coming and going between 2 pm and 6 pm local that bring gusts to 35 kt, visibility down to 3 SM, and a 6,000 ft ceiling in cumulonimbus. From 8 pm the storms are gone and the wind is light. Early the next morning the wind turns to the south. After 8 am there is a 30% chance of showers with a 3,000 ft ceiling.

Two things are easy to miss. The FM period starts at 0200Z on the 19th, which is still the evening of the 18th in Denver. And the BECMG group changes only the wind: the visibility and clouds carry on from the FM group before it.

Common mistakes

Where the numbers come from

The meanings of the header and change groups follow the FAA Aviation Weather Handbook chapter on forecasts and the FAA and NWS key to TAF and METAR codes. The flight categories are the ones described in how to read a METAR. The TAF decoder turns any TAF you paste into this kind of timeline, with local times when you give an offset, and flags a change group that falls outside the valid period. To compare the forecast with what is happening now, paste the current report into the METAR decoder. A decoded forecast is a study aid: get a current official briefing before flight.

Try it: TAF decoder

The calculator below is the real tool, running its worked example. Change any value; nothing leaves your device.

KDEN

KDEN forecast from day 18 at 1800Z to day 19 at 1800Z, 5 periods. Get a current official briefing before flight.

Periods
ChangeFromToFrom (local)StartWindVisibilityCloudsCeilingFlight categoryWeather
baseday 18 at 1800Zday 19 at 0200Z12:00 local0.0300° true at 12 kt, gusting 22 ktmore than 6 SMscattered at 8,000 ft; broken at 20,000 ft20,000 ftVFR
temporaryday 18 at 2000Zday 18 at 2400Z14:00 local2.0variable at 25 kt, gusting 35 kt3 SMbroken at 6,000 ft, cumulonimbus6,000 ftMVFRthunderstorm with rain
fromday 19 at 0200Zday 19 at 1800Z20:00 local, previous day8.0320° true at 8 ktmore than 6 SMfew at 10,000 ftVFR
becomingday 19 at 1000Zday 19 at 1200Z04:00 local16.0180° true at 10 kt
30% probabilityday 19 at 1400Zday 19 at 1800Z08:00 local20.03 SMbroken at 3,000 ft3,000 ftMVFRlight rain showers
Issued
Valid from
Valid to
Valid for
Periods
Notice
Provenance
Computed by
aviation.weather.taf-decode 1.2.1, core 0.1.0
Model
TAF coding as in the FAA Aviation Weather Handbook and FAA Order JO 7900.5E groups; day numbers below the start day belong to the next month
Accuracy
Decodes the text as written. It does not check the forecast against the station or fetch anything.
Notes
None
Cites
Federal Aviation Administration, Aviation Weather Handbook, FAA-H-8083-28B; Federal Aviation Administration, Surface Weather Observing, FAA Order JO 7900.5E

Open the full tool, with your values →

Your values

Showing an example. Change anything.

Tools for this

Sources

Every number on this page comes from the tools above, which cite their sources on their own pages under "How we got this." Found a mistake? Use "Report a problem" at the bottom of the page.