You walk into the briefing room, look at the screen for your departure aerodrome, and see one line:
METAR VABB 281230Z 26022G35KT 1500 R27/0900D +TSRA SCT020 BKN045CB 26/24 Q1004 BECMG 1100 +TSRA=
In about 70 characters that line tells you the exact state of the atmosphere over Mumbai right now: the wind is gusting 35 kt out of the south-west, you can see 1.5 km, RVR on runway 27 is 900 m and falling, there's heavy rain inside an active thunderstorm, the cloud base is broken at 4 500 ft and there are cumulonimbus cells, the temperature/dewpoint spread is only 2 °C, the QNH is 1004 hPa, and visibility is forecast to worsen to 1 100 m as the storm intensifies.
The compression isn't accidental. METAR is encoded according to WMO Code 4678 and ICAO Annex 3, Appendix 3 so that the same line parses identically in Delhi, Heathrow and Anchorage. Every group has a fixed position, a fixed prefix, and a fixed unit. Once you know what each block of characters represents, the line above reads as quickly as a sentence.
The eleven groups, in fixed order
Every METAR is built from these groups, always in this sequence (brackets mark optional groups that only appear when they apply):
- METAR or SPECI — report type
- CCCC — ICAO station identifier (4 letters)
- YYGGggZ — date (DD) and time (HHMM) in UTC
- (AUTO) — present if the report was generated by an automated station
- dddffGffKT — surface wind (or
VRB02KT) - (dddVddd) — wind direction variation (only if the swing exceeds 60°)
- VVVV or VVSM — prevailing visibility (metres or statute miles)
- (Rrunway**/RVR)** — runway visual range (when prevailing vis or RVR is < 1500 m)
- (w'w') — present weather (TS, RA, FG, etc.)
- NsNsNshshshs or NSC / NCD — cloud groups
- TT/TdTd — temperature and dewpoint (M-prefix for negative)
- QNNNN or APPPP — pressure (hPa or inches Hg)
- (REw'w' WS rwy) — recent weather, wind shear
- NOSIG / BECMG / TEMPO … — trend forecast for next 2 hours
The widget above colours each group so you can see them in the wild. Below, each group with its rules.
Report type and station
The report shall be identified by the name of the type of report ('METAR' for routine reports or 'SPECI' for special reports), the ICAO location indicator and the date and time of the observation. — ICAO Annex 3, Appendix 3, §1
METAR is the routine report, issued at the same minute past every
half-hour or hour at most aerodromes. SPECI is the special report,
triggered when conditions cross a defined threshold between scheduled
times — visibility drops below a category, the wind suddenly veers
30°, a thunderstorm begins, etc.
The station code is always four letters and follows the ICAO
location-indicator scheme: the first letter is the world region
(V = South Asia, K = continental US, E = northern Europe,
Z = China, Y = Australia, etc.). VIDP, KJFK, EGLL, ZBAA,
YSSY are Delhi, JFK, Heathrow, Beijing, Sydney respectively.
Date and time — always UTC
The six-digit group YYGGggZ is day of month (DD), hour (HH),
minute (MM). 281230Z = the 28th of the current month, at 12:30
UTC. The trailing Z ('Zulu') is shorthand for UTC and is mandatory.
There is no local-time variant. Every aviation document — METARs, TAFs, NOTAMs, flight plans, ATC clearances, ATIS times — is UTC end to end. A 12:30 Z report from Mumbai is 18:00 IST; a 12:30 Z report from JFK is 07:30 EST. Always convert from UTC when you brief.
Wind — direction in degrees TRUE
Format: dddffGffKT, where:
dddis the direction the wind is coming FROM, in degrees TRUE (not magnetic), rounded to the nearest 10°.ffis the mean speed in knots over the previous 10 minutes.Gff(optional) is the gust speed — the highest 3-second peak in the same period — present only if the gust exceeds the mean by 10 kt or more.- The unit suffix is
KTworldwide, with a few states usingMPS(metres per second) orKMH.
Two important variants:
VRB02KT— direction is variable (used when speed is light, typically ≤ 3 kt, and direction can't be pinned down).dddVddd— appears in a separate group right after the wind block, listing the variation extremes when the average is ≥ 3 kt and the swing exceeds 60°. Example:22018KT 180V260means the wind averages 220° at 18 kt but is shifting through 80° between 180° and 260°.
The METAR wind is always TRUE; the ATIS converts it to magnetic for the runway-in-use call ("Wind 270 at 12, runway 27 in use"), and on the ATIS only the runway-relative components are useful.
Visibility — metres or statute miles
ICAO METARs use metres, with 9999 as the special code for "10
km or more". The 4-digit value rounds in defined steps:
VVVV< 800 m → reported in 50 m increments (e.g.,0750)- 800–5000 m → 100 m increments (e.g.,
1500,4000) - 5000–9999 m → 1 km increments
9999→ 10 km or greater
US METARs use statute miles with the suffix SM (10SM, 1 1/2SM). 1 SM ≈ 1609 m.
When visibility varies sharply by direction, a minimum visibility
is given followed by the worst direction (1500 1200NW). When the
prevailing value is < 1500 m, the next group reports RVR for the
runway-in-use.
RVR — Runway Visual Range
R27/0900D reads as: Runway 27, slash, RVR value 0900 m,
tendency suffix Downgoing. If RVR is on a centre or right runway,
the runway designator gets the suffix (R27L/, R27R/).
Tendency:
U— Upgoing (improving)D— Downgoing (worsening)N— No change
Variability between two limits: R27/0900V1200. Values outside the
sensor range get a prefix:
M0050— less than the minimum (here, < 50 m)P2000— greater than the maximum (> 2000 m)
RVR is only reported when the prevailing visibility or RVR itself is below 1500 m, and it's only valid for the specific runway the transmissometer measures.
Significant weather (w'w')
The single most compressed group in the report. It is built from up to four parts in this fixed order: intensity → descriptor → phenomenon (precipitation) → phenomenon (obscuration / other).
Intensity prefix:
+— heavy-— light- (no sign) — moderate
VC— in the VCinity (5–10 km from the aerodrome, not at it)RE— REcent (in the last hour but not currently)
Descriptors (modifiers; only one per group):
MI— shallow (depth < 2 m)PR— partial (covers part of the aerodrome)BC— patchesDR— low drifting (< 2 m)BL— blowing (≥ 2 m)SH— showersTS— thunderstormFZ— freezing
Precipitation:
DZ— drizzleRA— rainSN— snowSG— snow grainsIC— ice crystals (diamond dust)PL— ice pelletsGR— hail (≥ 5 mm)GS— small hail / snow pellets (< 5 mm)UP— unknown precipitation (automated stations only)
Obscuration (visibility-restricting phenomena that are not precipitation):
BR— mist (vis 1000–5000 m)FG— fog (vis < 1000 m)FU— smokeVA— volcanic ashDU— widespread dustSA— sandHZ— hazePY— spray
Other:
PO— dust / sand whirlsSQ— squallFC— funnel cloud (tornado / waterspout)SS— sandstormDS— duststorm
So +TSRA parses as + (heavy) TS (thunderstorm with) RA
(rain). -FZRA is light freezing rain. VCFG is fog within 5–10 km
of the aerodrome but not at it. MIFG is shallow fog (the
runway is clear, but a layer of fog covers the surrounding ground).
Cloud — amount and base in hundreds of feet
Each cloud group is NsNsNshshshs — three letters of amount
followed by three digits of base in hundreds of feet AGL.
Amount (in eighths of sky covered, called oktas):
FEW— 1–2 oktasSCT— Scattered, 3–4 oktasBKN— Broken, 5–7 oktas (a ceiling — important for IFR minima)OVC— Overcast, 8 oktas
Base: 045 = 4 500 ft above aerodrome elevation. Layers are reported
in increasing height (lowest first) and only the significant ones
(threshold depends on jurisdiction; Annex 3 says report all FEW or
SCT below 5000 ft and any BKN/OVC).
Two suffixes that matter:
CB— Cumulonimbus, the thunderstorm cloud. ALWAYS reported when present, no matter how high.BKN045CBmeans 5–7 oktas of CB-bearing cloud at 4 500 ft — every storm hazard applies.TCU— Towering Cumulus, the stage before CB. Severe turbulence likely.
Special "no cloud" codes (one of these replaces the cloud groups entirely):
SKC— Sky CleaR (manual observation, no cloud at all).CLR— automated equivalent in the US: no cloud below 12 000 ft AGL.NSC— No Significant Cloud (no cloud below 5 000 ft and no CB/TCU).NCD— No Cloud Detected (automated station's ceilometer found none — does not guarantee absence, only that nothing was detected).
When cloud is obscuring the sky to the point the ceilometer can't
measure a base, VV001 (vertical visibility 100 ft) is reported in
place of the cloud groups — typical of heavy fog or snowfall.
Temperature and dewpoint
TT/TdTd — two-digit air temperature, slash, two-digit dewpoint, both
in whole degrees Celsius. Sub-zero values get the prefix M:
15/12— temperature 15 °C, dewpoint 12 °C.M02/M02— temperature −2 °C, dewpoint −2 °C (saturated; fog certain).26/24— temperature 26 °C, dewpoint 24 °C (spread of 2 °C; very humid; CB and rain likely).
The temperature–dewpoint spread is the fastest fog/cloud forecast you can do at the briefing table: a spread of 1 °C or less means the air is essentially saturated and visibility is at risk.
Pressure — Q (hPa) or A (in Hg)
Q1018— QNH 1018 hPa. Set in the altimeter pressure subscale to read altitude above sea level. Standard in Europe, India, almost everywhere except the United States and Canada.A2992— Altimeter setting 29.92 inches of mercury. US/Canada convention. Divide by 100 to get inches; multiply by 33.864 ≈ hPa (soA2992≈ 1013 hPa).
Some military stations also report QFE (height above the airfield)
and QFF (sea-level pressure adjusted with the actual temperature
profile, not the standard atmosphere) — but those don't appear in a
civil METAR.
Trend forecast — what's coming next
Every METAR ends with a 2-hour trend, tacked on after the pressure group. There are three flavours:
NOSIG— No Significant Change expected over the next 2 hours. The body of the METAR remains the operative forecast.BECMG <time-or-condition> …— BEComing: a permanent change starting (or by) a stated time. Whatever follows is the new state. Example:BECMG 1100means visibility will permanently drop to 1 100 m.TEMPO <time-or-condition> …— TEMPOrary: a fluctuation expected to last less than 1 hour at a time, total duration < half the period. Example:TEMPO 4000 SHRAmeans brief visibility drops to 4 km in showers of rain.
Trends carry only the groups that change — if QNH and temperature are unchanged in the trend period, they are omitted from the trend section.
Other groups you'll occasionally see
Beyond the eleven main groups, METAR allows several extras that turn up in specific operational situations.
Wind shear — WS
WS RWY27— wind shear reported on the approach or take-off path for runway 27.WS ALL RWY— wind shear affecting every runway at the aerodrome.WS LDG RWY09/WS TKOF RWY09— wind shear specifically on the landing or take-off path of a particular runway.
These come from PIREPs, low-level wind-shear alerting systems
(LLWAS), or terminal Doppler weather radar. A WS group on the
runway you're using is a stop-and-think item — the boundary layer
is doing something the airframe will feel.
Recent weather — RE
A weather phenomenon in the past hour but not currently happening at the moment of observation. Examples:
RETSRA— recent thunderstorm with rainREGR— recent hailREFZRA— recent freezing rain
Used to flag hazards a recently-arrived crew might miss because the weather isn't there right now.
Runway state group
Some states (mostly Europe under EUR ANP) tack on the runway surface
state at the end of the report. The format is
RrDrDrDr/ERCReReRBrBr — eight digits encoding runway designator,
deposit type (snow, slush, ice…), contamination percentage, deposit
depth, and braking action.
R27/CLRD//— runway 27 reported clear and dry.R09/690155— runway 09: dry-snow deposit, 25–50 % coverage, 1 mm depth, braking action 0.55.SNOCLO(whole-aerodrome) — aerodrome closed because of snow.
Probability — PROB30 / PROB40
Strictly a TAF-only group (the forecast product, not the observation). It expresses the probability of a forecast condition:
PROB30 0306 +TSRA— 30 % chance of heavy thunderstorm with rain between 03:00 and 06:00 UTC.PROB40— 40 % chance.
Probabilities of 50 % or more are not allowed in TAFs (above 50 %
the forecaster commits to the condition with BECMG or TEMPO
instead). PROB never appears in a METAR; if you see it, you're
reading a TAF.
Missing-data markers
///— element value not measurable. Appears inside any group where a sensor failed (M02////if dewpoint sensor was down,FEW///if cloud type couldn't be determined, etc.).RVRNO— RVR is normally reported here but the equipment is out.SLPNO— sea-level pressure not available (US RMK section).PNO— precipitation sensor not operating (US).
NIL — no observation
Replaces the entire body of the METAR when no observation could be
made (sensor outage, observer absence). The line reads simply
METAR VABB 281230Z NIL=.
RMK — remarks (mostly US)
Everything after RMK is additional automated or local
observation, US-style. Common groups include:
AO1/AO2— automated station type (AO2 has a precipitation discriminator, AO1 doesn't).SLP132— sea-level pressure 1013.2 hPa (last three digits, with an implicit leading 9 or 10 chosen to fit the local pressure).T02440150— precise temperature 24.4 °C, dewpoint 15.0 °C (4 digits each, leading digit 0 = positive, 1 = negative).60017— 6-hour precipitation 0.17 inches.4/008— snow depth 8 inches.
ICAO-format METARs from the rest of the world omit RMK entirely.
A handful of less-common codes
NSW— Nil Significant Weather. Used inside a trend or TAF after a weather phenomenon has cleared (e.g.,BECMG NSW= the rain/fog/etc. ends).WSCONDS— wind-shear conditions expected (TAF group only).00000KT— calm wind. The sensor detects no movement; direction is not reportable so all five digits are zero.- Military colour codes (
BLU,WHT,GRN,YLO,AMB,RED,BLACK) — a single-word overall-condition summary used at NATO/RAF/USAF aerodromes.BLU= ceiling ≥ 2 500 ft & vis ≥ 8 km; the categories worsen down toBLACK(aerodrome closed for reasons unrelated to weather). MPS/KMH— wind speed units in metres per second or kilometres per hour, used at some Russian/CIS and Chinese aerodromes in place ofKT.Q////,A////,M//////— pressure or temperature element unreadable (sensor failed).
Validity periods — how long each product is current
A METAR is an observation (valid at the moment it was taken),
but every forecast product has a defined validity window. Mixing
them up — using an expired TAF, treating a TEMPO as if it were
certain, or stacking a PROB30 against the wrong time block — is
one of the most common sources of pre-flight planning errors.
METAR (observation)
- Issued routinely every 30 or 60 minutes depending on the aerodrome.
- "Current" until the next METAR or SPECI replaces it.
- Has no forward-looking validity by itself; for what's coming next, read the TAF or the trend appended to the METAR.
SPECI (special observation)
- Issued between scheduled METARs when conditions cross a defined trigger (visibility category change, wind shift ≥ 30° with new speed ≥ 20 kt, thunderstorm onset, etc.).
- Replaces the previous METAR until the next scheduled one.
TAF (forecast)
- Standard TAF: 24-hour validity (most ICAO states).
- Long TAF: 30-hour validity (United States, some others).
- Short TAF: 9-hour validity (smaller / less busy airfields).
- Issued four times a day at 00, 06, 12, 18 UTC, typically released 30–60 minutes before the validity period begins.
- Validity window encoded in the second group:
1218/1318= valid from 18:00 UTC on the 12th to 18:00 UTC on the 13th. - An amendment (
TAF AMD …) replaces the in-force TAF from the amendment time onward.
Trend (NOSIG / BECMG / TEMPO at end of METAR)
- The trend covers the 2 hours following the METAR observation.
- A
BECMGorTEMPOgroup inside the trend lives within that 2-hour window.
BECMG (in TAF or trend)
- A permanent change. The new state begins during the stated
time window and persists through the rest of the validity period
(or until the next
BECMG).
TEMPO (in TAF or trend)
- A short-lived fluctuation. Each occurrence lasts < 1 hour, and the total duration of all occurrences is < half the stated window. Conditions revert to the main forecast in between.
- Time window in TAF:
TEMPO 1218/1222 SHRA= expected sometime between 18:00 and 22:00 UTC on the 12th.
PROB30 / PROB40 (TAF only)
- 30 % or 40 % probability of the listed condition occurring during the specified time window.
- Probabilities of 50 % or more are not allowed in TAFs —
above 50 % the forecaster commits to the condition with
BECMGorTEMPOinstead. - Never appears in a METAR. If you see it, you're looking at a TAF.
SIGMET — significant meteorological information
- Issued for hazardous weather en route: severe turbulence, severe icing, severe mountain wave, embedded CB, volcanic ash, tropical cyclone, sandstorm, duststorm.
- Validity: 4 hours (most cases). Volcanic ash and tropical cyclone SIGMETs run up to 6 hours.
- Issued by the responsible Meteorological Watch Office (MWO).
AIRMET — airmen's meteorological information
- Lesser hazards relevant to GA and lower-flying aircraft (moderate icing, moderate turbulence, mountain obscuration, IFR conditions).
- Validity: 6 hours in US practice (the FAA convention; ICAO Annex 3 does not formally standardise AIRMET).
GAMET — general aviation forecast (Europe)
- Sub-regional low-level forecast (typically up to FL100, FL150 in mountainous areas).
- Validity: 6 hours.
ATIS / D-ATIS
- The Automatic Terminal Information Service is updated whenever conditions change significantly (new METAR, runway change, altimeter change, etc.).
- Each update gets the next phonetic letter (
Information ALPHA,BRAVO,CHARLIE…). On first contact ATC expects you to state the letter you have — they will refuse a takeoff clearance until you've copied the current one.
VOLMET
- Continuous voice radio broadcast of METARs/TAFs/SIGMETs for a list of major aerodromes — classically used by long-range aircraft on HF or VHF before approach.
- "Valid" as long as the broadcast loop is current; the data inside has the validity of its source METAR/TAF/SIGMET.
Worked example — VABB monsoon report
Take the line we opened with:
METAR VABB 281230Z 26022G35KT 1500 R27/0900D +TSRA SCT020 BKN045CB
26/24 Q1004 BECMG 1100 +TSRA=
Read in groups, left to right:
METAR— routine reportVABB— Mumbai (Chhatrapati Shivaji)281230Z— 28th of the month, 12:30 UTC (18:00 IST)26022G35KT— wind from 260° true at 22 kt, gusting 35 kt1500— visibility 1 500 m (1.5 km)R27/0900D— RVR runway 27 is 900 m and decreasing+TSRA— heavy thunderstorm with rainSCT020— scattered cloud at 2 000 ftBKN045CB— broken cloud at 4 500 ft, AND cumulonimbus26/24— temperature 26 °C, dewpoint 24 °C (spread 2 °C)Q1004— QNH 1004 hPa (significantly below standard 1013 — the storm low)BECMG 1100 +TSRA— over the next 2 hours, visibility is forecast to permanently drop to 1 100 m as the storm intensifies=— end of report
Operationally: this is inside a monsoon CB cell. RVR 900 m on runway 27 is below most CAT I ILS minima; the gust factor of 13 kt (35 − 22) over the mean is in itself a wind-shear caution; CB cloud at 4 500 ft is at most aircraft pattern altitude. A flight plan filed with VABB as departure or destination needs an alternate, the crew briefs ILS CAT II/III if available, and ground operations suspend until the cell clears.
Common gotchas
- Wind direction in METAR is TRUE, not magnetic. ATIS and the tower give magnetic. If you're computing a crosswind, you must apply local variation before subtracting the runway heading — or wait for the ATIS, which has done it for you.
9999is not "9999 metres". It is a special code meaning 10 km or more. The visibility is not exactly 9 999 m; it is at least 10 000 m and could be unlimited.CAVOKreplaces visibility, weather and cloud at once. When the visibility is ≥ 10 km AND there is no cloud below 5 000 ft (or minimum sector altitude) AND no CB/TCU AND no significant weather, the entire visibility / weather / cloud block is replaced by the single wordCAVOK. It is not an additional group — it stands in for three groups.NSC≠NCD≠SKC.SKCsays a human observer saw a cloudless sky.NSCsays nothing significant for the forecast — there could be clouds above 5 000 ft you don't care about.NCDis an automated-station statement that the ceilometer literally found nothing — possibly because the cloud is above the sensor range.BECMGis permanent;TEMPOis not. Treat them differently: aBECMGchange becomes the new operating condition for the rest of the validity period; aTEMPOis a worst case the airframe must be able to survive but reverts to the main forecast afterwards.
Why it matters
A METAR is the current weather; the corresponding TAF is the forecast. Every pre-flight, every alternate decision, every fuel calculation, and every "do we go now or wait?" call starts with the METAR — and the regulator does not let you brief one you cannot read. ATPL Meteorology questions on METAR/TAF decoding routinely account for 15-25 % of the paper, and operationally the cost of misreading the cloud or wind group can be a botched approach into a CB cell or a runway excursion in unanticipated wind shear. Read deliberately, group by group, until the line reads like a sentence.