How To Decode a TAF: Change Groups, Cloud Codes, and Forecast Periods Explained

By John Reed · May 14, 2026

how to decode a taf — TAF aviation forecast format explained

Learning how to decode a TAF is one of the most practical skills a pilot, dispatcher, or aviation enthusiast can develop — because the Terminal Aerodrome Forecast is the primary document describing what weather conditions are expected at an airport over the next 24 to 30 hours. This guide breaks every field apart, works through a real example line by line, explains all four change indicator types, and lists free tools that do the decoding for you when you need a fast answer.

1. What Is a TAF and How Is It Different from a METAR?

A TAF — Terminal Aerodrome Forecast — is the standard ICAO aviation weather forecast issued for the area within approximately 5 nautical miles of an airport. It is produced by a meteorological office and distributed to pilots, dispatchers, airlines, and air traffic services worldwide.

A METAR, by contrast, is a routine weather observation. It reports the conditions that were actually measured at the airport at a specific moment in time — wind speed and direction, visibility, present weather, cloud cover and heights, temperature, dew point, and altimeter setting. A METAR tells you what the weather is; a TAF tells you what the weather is expected to be.

Both products use the same ICAO encoding system for most fields — the same codes for wind, visibility, sky cover, and present weather — which means that the skills you develop reading one transfer directly to the other. The key structural difference is that a TAF includes change indicator groups (FM, BECMG, TEMPO, PROB) that divide the forecast period into sub-periods, each with its own set of expected conditions.

FeatureMETARTAF
PurposeCurrent observed conditionsForecast conditions
Time coverageSingle moment24 or 30 hours
Issuance frequencyHourly (or half-hourly)4× daily (or every 3 hours at major airports)
Change groupsNoneFM, BECMG, TEMPO, PROB
Coverage radiusAirport point~5 nautical miles

2. Decoding the TAF Header (Report Type, Station, Issue Time, Valid Period)

Every TAF begins with a header block that identifies the type of report, the airport, when it was issued, and when it is valid. Here is a complete, real-world example that we will dissect field by field:

TAF KSFO 121720Z 1218/1318 28012KT P6SM SCT040 FM122200 30015G25KT P6SM FEW030

TAF — Report Type

The first token is simply TAF, identifying this as a Terminal Aerodrome Forecast rather than a METAR or SPECI. You may also see TAF AMD (amended forecast) or TAF COR (corrected forecast) in this position.

KSFO — ICAO Station Identifier

The four-letter ICAO airport code identifies which airport the forecast covers. ICAO codes follow a regional convention: K-prefixed codes are continental United States airports (KSFO = San Francisco International, KJFK = John F. Kennedy, KLAX = Los Angeles International). European airports use two-letter country prefixes (EGLL = London Heathrow, LFPG = Paris Charles de Gaulle). Canadian airports begin with C (CYYZ = Toronto Pearson).

Remember: the TAF covers only the area within approximately 5 nautical miles of the reference point of the airport. Conditions at a destination 20 miles from the field are not reflected in the TAF.

121720Z — Issue Time (Day, Hour, Minute, UTC)

The issue time is encoded as DD HH MM Z — two digits for the day of the month, two for the hour (UTC), two for the minute (UTC), and the letter Z confirming Zulu (UTC) time. In our example, 121720Z means the forecast was issued on the 12th day of the month at 17:20 UTC.

TAFs are issued four times per day at most airports: at 00Z, 06Z, 12Z, and 18Z. Selected major airports issue a TAF every three hours (00Z, 03Z, 06Z, 09Z, 12Z, 15Z, 18Z, 21Z). The issue time will typically be a few minutes after the nominal issuance hour — for example, 0020Z for a 00Z TAF.

1218/1318 — Valid Period

The valid period uses the format DDHH/DDHH — day and hour for the start of validity, a slash, then day and hour for the end of validity. 1218/1318 means the forecast is valid from the 12th at 18:00Z to the 13th at 18:00Z — a full 24-hour period.

Standard TAFs are valid for 24 hours. At selected major airports — typically those with high traffic volume or complex weather patterns — the valid period can extend to 30 hours (for example, 1218/1400 would be 30 hours). Note that the valid period always begins at or after the issue time; the TAF does not retroactively cover time before it was issued.

3. Base Conditions — The Opening Forecast Group

After the valid period, the TAF presents the base forecast group — the expected conditions at the start of the valid period. These conditions remain in effect until modified by a change indicator group. In our example:

28012KT P6SM SCT040

28012KT — Wind

Wind is encoded as DDDSSKT or DDDSSGggKT, where DDD is the true direction the wind is blowing from in degrees (using the standard three-digit format), SS is the sustained speed, G introduces a gust value, gg is the gust speed, and KT means knots.

28012KT decodes to: wind from 280° (west-northwest) at 12 knots, no gusts. Compare this with 30015G25KT in the FM group later in the TAF: wind from 300° at 15 knots, gusting to 25 knots. The G prefix always precedes the gust speed — the gust value is always higher than the sustained speed.

Calm winds are encoded as 00000KT. Variable wind direction is encoded as VRB in place of the three-digit direction — for example, VRB05KT means variable direction at 5 knots. MPS (metres per second) may be used instead of KT outside the United States.

P6SM — Visibility

In US TAFs, visibility is reported in statute miles. P6SM means plus 6 statute miles — visibility is greater than 6 statute miles. The P prefix (for “plus” or “greater than”) is used when visibility exceeds the reportable maximum of 6 SM; no upper bound is stated. A value without the P — such as 3SM — means exactly 3 statute miles. Fractions are written as 1/2SM, 3/4SM, etc.

Outside the United States, visibility is reported in metres. 9999 is the international equivalent of P6SM, meaning visibility is 10 km or greater. 0800 would mean 800 metres.

SCT040 — Sky Condition

Sky condition groups follow the format CCChh, where CCC is the coverage code and hh is the cloud base height in hundreds of feet above ground level (AGL). SCT040 means scattered clouds (3–4 oktas of sky coverage) at 4,000 feet AGL.

CodeCoverageOktas
SKCSky clear0 oktas
FEWFew1–2 oktas
SCTScattered3–4 oktas
BKNBroken5–7 oktas
OVCOvercast8 oktas (complete overcast)
VVVertical visibility (obscured sky)

Multiple sky condition groups can appear in the same forecast group, ordered from lowest to highest. For example, FEW015 BKN040 OVC080 means few clouds at 1,500 ft, broken layer at 4,000 ft, overcast at 8,000 ft. The ceiling — the lowest broken or overcast layer — is the BKN or OVC height and is the operationally critical value for instrument approach minimums.

4. Change Indicators: FM, BECMG, TEMPO, and PROB

After the base forecast group, the TAF uses change indicators to describe how conditions are expected to evolve over the valid period. There are four types of change indicator, and understanding the difference between them is the most important skill in reading a TAF.

FM — From (Abrupt, Permanent Change)

FM marks a permanent, abrupt change. When an FM group begins, all conditions from the base forecast (or from the previous FM group) are entirely replaced by the new conditions. Nothing carries over. Format: FM[DDHHMM].

In our example: FM122200 30015G25KT P6SM FEW030 means that from the 12th at 22:00Z, the wind will change to 300° at 15 knots gusting 25 knots, visibility will remain greater than 6 SM, and the sky will be few clouds at 3,000 ft. The original SCT040 from the base group is gone — it is not carried forward.

FM is the strongest change indicator. It is used when a front, sea breeze, or other well-defined weather system is expected to arrive and completely transform the conditions.

BECMG — Becoming (Gradual, Permanent Change)

BECMG marks a gradual, permanent change. Unlike FM, BECMG specifies a transition window — the period over which the change is expected to occur. The change may begin at the start of the window, at the end, or at any point within it, and it takes up to 2 hours to complete. After the window, the new conditions persist for the rest of the forecast period (or until the next change indicator). Format: BECMG [DDHH/DDHH].

Example: BECMG 1306/1308 VRB03KT means that between 06Z and 08Z on the 13th, winds will gradually become variable at 3 knots. After 08Z the variable light winds persist.

TEMPO — Temporary (Fluctuation)

TEMPO marks temporary fluctuations. The described conditions are expected to last for less than one hour at a time and to occur for less than half of the TEMPO period. They do not replace the background conditions — the base or FM conditions remain in effect when the temporary conditions are not occurring. Format: TEMPO [DDHH/DDHH].

Example: TEMPO 1221/1302 -RA BKN015 means that between 21Z on the 12th and 02Z on the 13th, there will be temporary periods of light rain and a broken ceiling at 1,500 ft. Between these temporary episodes, the base conditions apply.

PROB30 / PROB40 — Probability

PROB30 and PROB40 indicate a 30% or 40% probability that the specified conditions will occur. PROB30 is used for lower-confidence events; PROB40 for somewhat more likely ones. Per ICAO rules, PROB50 and above should be expressed as TEMPO or BECMG; PROB30 is the lowest threshold used in a TAF.

PROB is often combined with TEMPO: PROB30 TEMPO 1300/1306 TSRA BKN010CB means there is a 30% chance of temporary thunderstorms with rain and a broken ceiling at 1,000 ft with cumulonimbus between 00Z and 06Z on the 13th.

IndicatorChange typeDurationReplaces base?
FMAbrupt, permanentRemainder of forecastYes — completely
BECMGGradual, permanentUp to 2 h transition windowYes — after window
TEMPOTemporary fluctuation< 1 h at a time; < half the periodNo — base conditions persist
PROB30/40Conditional (30% or 40%)Specified windowNo — shows probability only

5. Cloud, Visibility, and Weather Codes in a TAF

Present weather is encoded using a structured system of prefixes, descriptors, and phenomenon codes. These appear between the visibility and sky condition groups.

Intensity Prefixes

  • - (minus) — light intensity. Example: -RA = light rain.
  • No prefix — moderate intensity (the default). Example: RA = moderate rain.
  • + (plus) — heavy intensity. Example: +SN = heavy snow.
  • VC — in the vicinity (within 5–10 SM of the airport but not at it). Example: VCTS = thunderstorm in the vicinity.

Descriptor Codes

  • TS — thunderstorm. Nearly always combined with a precipitation code: TSRA = thunderstorm with rain.
  • SH — shower. Example: SHRA = rain shower.
  • FZ — freezing. Example: FZRA = freezing rain.
  • BL — blowing. Example: BLSN = blowing snow.
  • DR — low drifting. Example: DRDU = low drifting dust.
  • MI — shallow. Example: MIFG = shallow fog.
  • BC — patches. Example: BCFG = patchy fog.
  • PR — partial (fog covering part of the aerodrome). Example: PRFG = partial fog.

Common Phenomenon Codes

CodePhenomenon
RARain
SNSnow
DZDrizzle
GRHail (≥ 5 mm diameter)
GSSmall hail or snow pellets
FGFog (visibility < 1,000 m)
BRMist (visibility 1,000–9,999 m)
HZHaze
FUSmoke
SASand
DUDust
SQSquall
PODust or sand whirls
FCFunnel cloud / tornado / waterspout
SSSandstorm
DSDust storm

Special Cloud Suffixes

When cumulonimbus (CB) or towering cumulus (TCU) clouds are forecast, the cloud type is appended to the sky condition group. BKN020CB means broken cumulonimbus at 2,000 ft. These suffixes are operationally significant because CB clouds are associated with severe turbulence, icing, and thunderstorms. CB and TCU override CAVOK — if either is present at any height, CAVOK cannot be used.

6. CAVOK, NSW, and Other Special Designators

CAVOK — Ceiling And Visibility OK

CAVOK is a single group that replaces the visibility, present weather, and sky condition groups entirely when all of the following conditions are simultaneously met:

  • Visibility is 10 km or greater (no upper limit stated)
  • No cloud below 5,000 feet AGL and no cloud below the highest minimum sector altitude — whichever is greater
  • No cumulonimbus (CB) or towering cumulus (TCU) at any level
  • No significant weather phenomena (precipitation, fog, thunderstorms, etc.)

CAVOK is widely used in international TAFs and METARs because it dramatically shortens the report when conditions are excellent. It is not used in US TAFs; the US equivalent is effectively P6SM SKC (or SKC with no weather groups).

NSW — No Significant Weather

NSW (No Significant Weather) is used in a TEMPO or BECMG group to explicitly cancel a previously forecast weather phenomenon. If the base forecast included fog (FG) and a BECMG group shows improving conditions, NSW signals that the weather is clearing — distinguishing an intentional “no weather” from a field simply being omitted.

SKC — Sky Clear

SKC means sky clear — zero cloud cover. In automated US reports you may see CLR instead (clear below 12,000 ft as reported by an ASOS station), but in TAFs the correct ICAO code is SKC.

NIL — No Forecast

TAF NIL means no forecast is currently available for the specified station. This may be seen when a station is temporarily non-operational or when a forecast has been cancelled.

7. Amended and Corrected TAFs

A TAF is not always static for its full valid period. Two types of supplemental issuances modify the original forecast:

TAF AMD — Amended TAF

When actual or expected weather conditions differ significantly from the current valid TAF, the forecaster issues an amended TAF. The designation TAF AMD appears in the report type field. An AMD replaces the original TAF in its entirety from the time of amendment onward. The amended TAF gets its own issue time but retains the original valid period end time.

Amendments are common during rapidly changing weather — an approaching frontal system that is moving faster than forecast, unexpected fog development, or a thunderstorm complex that was not anticipated.

TAF COR — Corrected TAF

A corrected TAF (TAF COR) is issued when a clerical or coding error is found in the original TAF — for example, an incorrect station identifier, a transposed digit in the valid period, or a missing element. A COR is a technical fix, not a change in the forecast itself, though in practice the distinction from an AMD can be subtle.

When reviewing TAFs for flight planning, always use the most recently issued version for a station — whether it is the original, an AMD, or a COR. Aviation weather services such as aviationweather.gov display the current version automatically.

8. Free Tools to Decode a TAF Online

While manual decoding is a skill worth developing, several free tools decode TAFs automatically and present the result in plain English. This is especially useful when reading an unfamiliar station's TAF quickly or when training newer pilots to understand the format.

aviationweather.gov

The Aviation Weather Center's official website (aviationweather.gov) provides a TAF decoder as part of its terminal forecasts tool. Enter an ICAO station identifier and select “decoded” output to see every field translated into plain English alongside the raw TAF text. The site also overlays TAF valid periods on a timeline, making it easy to see which change group applies at any given time.

SkyVector

SkyVector (skyvector.com) is an online aviation chart and flight planning tool that includes a built-in TAF decoder. Click on any airport on the chart, or search by identifier, to see the current TAF decoded field by field. SkyVector is popular with VFR and IFR pilots for its combined chart and weather view.

ForeFlight and Garmin Pilot

Commercial EFB (electronic flight bag) applications such as ForeFlight and Garmin Pilot present TAFs in a timeline or graphical format. These tools are not free, but they are the standard for professional pilots and offer the most integrated view of TAF data alongside charts, NOTAMs, and TFRs.

NOAA Text Product Viewer

For raw TAF text without decoding, the NOAA Telecommunications Operations Center (tgftp.nws.noaa.gov) provides plain-text TAF files for every station. These are the primary distribution mechanism used by aviation systems worldwide and can be fetched programmatically using HTTP requests.

9. Frequently Asked Questions

What does TAF stand for in aviation?

TAF stands for Terminal Aerodrome Forecast. It is the standard ICAO weather forecast for the area within approximately 5 nautical miles of an airport. TAFs are issued by meteorological offices and distributed globally through aviation weather services.

How often are TAFs issued and how long are they valid?

Most airports issue TAFs four times per day at 00Z, 06Z, 12Z, and 18Z UTC. Standard TAFs are valid for 24 hours. Selected major airports issue TAFs every 3 hours, and some of these are valid for 30 hours.

What is the difference between a TAF and a METAR?

A METAR is an observation — it records the weather conditions that were actually measured at the airport at a specific moment. A TAF is a forecast — it predicts what conditions are expected over the next 24 or 30 hours. Both use the same ICAO codes for wind, visibility, and sky cover, but only a METAR reports what actually happened.

What does CAVOK mean in a TAF?

CAVOK stands for Ceiling And Visibility OK. It is used when visibility is 10 km or more, there are no clouds below 5,000 feet AGL (and no CB or TCU at any level), and there is no significant weather. CAVOK replaces the visibility, present weather, and sky condition groups entirely.

Further Reading