Technique15 min read

How to Read a METAR: Decode US and International Reports

How to read a METAR, group by group, with two worked examples: a US report and an international one. Covers 9999, Q codes, CAVOK, RVR, and flight categories.

A Doppler weather radar dome on a lattice tower against a flat overcast sky
UnsplashUnsplash License

A METAR in one paragraph

METAR stands for Meteorological Aerodrome Report: the observed weather at an airport, encoded in groups that always appear in the same left-to-right order. Station, date and time, modifier, wind, visibility, RVR, present weather, sky condition, temperature and dew point, altimeter, remarks. Every time, everywhere. Learning how to read a METAR is mostly learning that order: once you have it, you are not reading a code, you are reading a sentence with the vowels removed.

Here is the one you have probably seen:

KJFK 101756Z 27015G25KT 10SM FEW040 SCT080 BKN250 22/14 A2992 RMK AO2

JFK, on the 10th at 17:56 UTC. Wind from 270 degrees true at 15 knots, gusting 25. Visibility 10 statute miles. Few clouds at 4,000 feet, scattered at 8,000, broken at 25,000. Temperature 22 C, dew point 14 C. Altimeter 29.92 inches of mercury. Automated station with a precipitation discriminator. That is the whole thing.

That exact string is pre-loaded in our METAR decoder, so open it in another tab, paste your own report over the top, and follow along with the sections below. The tool does the arithmetic. This post is so you know what the arithmetic means.


The 11 groups, in order

The METAR codes below always appear in this order, and a group with nothing to report is simply left out: no RVR unless visibility is bad, no modifier if a human observed it. That is why no two reports are the same length.

Station: KJFK

A four-letter ICAO identifier. In the continental US it is K plus the three-letter IATA code, so Seattle's SEA becomes KSEA. Alaska, Hawaii and Guam break the pattern and start with P. Everywhere else, the ICAO code is whatever it is: EGLL, EDDF, LFPG.

Date and time: 101756Z

First two digits are the day of the month. The next four are the time. The Z is Zulu, meaning UTC, and it is always Zulu. Weather does not respect time zones and neither does the report.

In the US, routine METARs are hourly, observed between :51 and :59 past the hour. That :56 in the JFK example is the tell. Elsewhere, many airports report every 30 minutes, which is why you will see :20 and :50 timestamps on European reports.

Modifier: AUTO / COR

AUTO means the report came from an automated station with no human editing it. COR means it is a corrected version of an earlier report. If neither appears, a human observer was involved.

Raw feeds often prefix the whole string with METAR or SPECI. METAR is the routine scheduled observation. SPECI is an unscheduled special, triggered when something significant happens: a wind shift, a visibility or ceiling change through a criterion, a tornado. A SPECI carries all the same elements as a METAR plus plain-language detail. One quirk of the international rules: a SPECI is not required if the airport already issues METARs every half hour, which is another reason the half-hourly stations look the way they do. Our decoder accepts the prefix, so you can paste the raw string as it arrives.

Wind: 27015G25KT

Three digits of direction, then two or three digits of speed, then optionally G and the gust. So 27015G25KT is 270 degrees at 15 knots gusting 25. 00000KT is calm.

Two variants worth knowing. VRB replaces the direction when the wind varies 60 degrees or more at 6 knots or less. Above 6 knots, a direction that swings 60 degrees or more gets its own group instead: 18015KT 150V210, read clockwise from the first value to the second.

Here is the gotcha that catches sim pilots constantly. METAR wind direction is referenced to true north. The wind ATC or ATIS speaks to you is referenced to magnetic north, because runways are numbered magnetically. In places with meaningful magnetic variation, a METAR wind and a spoken wind for the same moment will not match, and neither is wrong.

Which matters the second you ask the obvious follow-up: 270 at 15 gusting 25, so what is that on runway 22? Feed it to the crosswind calculator and use the gust figure, not the steady wind, when you are deciding whether you want the landing. Just square up the reference frames first.

Visibility: 10SM vs 9999

The first big fork between US and international format.

US reports use statute miles with an SM suffix. 10SM is the maximum reportable value, so it means "10 or more" rather than exactly ten. The smallest fraction you will routinely see is 1/4SM, and fractions can arrive as two tokens rather than one: 1 1/2SM is one and a half miles. Our decoder handles that split form, which is worth knowing because plenty of parsers choke on it.

International reports use metres, bare, with no unit suffix. 1400 is 1,400 metres. 0000 is less than 50 metres. And 9999 is the one that breaks every US-only guide: it does not mean 9,999 metres, it means 10 km or more. It is the metric equivalent of 10SM, a ceiling on the scale rather than a measurement.

A useful reflex either way: visibility below 7 SM implies something is restricting it, either precipitation or an obscuration, so go looking for the present weather group.

RVR: R04R/2000FT vs R06/0400

Runway Visual Range, measured by transmissometers along a specific runway, and it only shows up when visibility is genuinely bad. Read it as: R, runway designator, slash, value.

Same fork again. US codes feet with an explicit FT suffix, reported in 100 ft increments up to 1,000 ft, 200 ft increments to 3,000 ft, and 500 ft increments to 6,000 ft. ICAO states metres with no unit at all. So R04R/2000FT is 2,000 feet on runway 04 right, and R06/0400 is 400 metres on runway 06. The presence or absence of FT is your only clue, which is exactly why the two formats are worth keeping straight.

Present weather

Built as intensity, then descriptor, then phenomenon, and it reads as a sentence once you stop treating it as a lookup table. - is light, nothing is moderate, + is heavy, VC is in the vicinity. Then a descriptor like SH (showers), TS (thunderstorm), FZ (freezing), BL (blowing), MI (shallow). Then the phenomenon: RA rain, SN snow, BR mist, FG fog, HZ haze, GR hail.

So -SHRA is light showers of rain. +TSRA is a thunderstorm with heavy rain. FZFG is freezing fog. Read left to right and say it out loud.

Sky condition: FEW040 SCT080 BKN250

Three letters of coverage, three digits of height. Coverage is in eighths of the sky: FEW is 1-2/8, SCT is 3-4/8, BKN is 5-7/8, OVC is 8/8. Height is hundreds of feet above ground level, so BKN040 is broken at 4,000 ft AGL.

The FAA defines the ceiling as the lowest layer reported broken, overcast, or obscuration, not classified thin or partial. In the JFK example the ceiling is 25,000 ft, from BKN250. FEW and SCT never make a ceiling. Worth knowing that ICAO defines it differently: the base of the lowest layer below 20,000 ft covering more than half the sky. Same idea, different edges. Our decoder applies the FAA definition.

Two codes that look interchangeable and are not:

  • SKC comes from a human observer and means clear at any level.
  • CLR comes from an automated station and means no clouds detected below 12,000 ft, which is where the sensor stops looking.

So an automated CLR can be sitting underneath a solid high overcast that nothing at the field can see. Do not read it as "clear skies".

You may also meet VV002, vertical visibility, which appears when the sky is obscured and there is no discernible layer to report. It means you can see 200 feet up into the murk, and it counts as a ceiling. Be aware that our decoder does not currently break VV groups out, and does not treat one as a ceiling, so a report whose only ceiling is a VV will read as less restrictive than it is. Decode it by hand: VV plus hundreds of feet.

Temperature and dew point: 22/14

Whole degrees Celsius, always, separated by a slash. Below zero gets an M prefix, so 02/M01 is 2 C with a dew point of minus 1.

The gap between them is the useful part. A tight spread means the air is close to saturation, so think fog and low cloud. A wide spread means dry air. There is a training heuristic for convective cloud base worth exactly what you pay for it: temperature and dew point converge at roughly 2.5 C per 1,000 ft, so base AGL is about (T minus Td) divided by 2.5, times 1,000. For the JFK report, (22 - 14) / 2.5 x 1,000 gives roughly 3,200 ft. That is a rule of thumb for cumulus only, not a standard, and it tells you nothing useful about a stratus deck.

Temperature also feeds performance. Two of the three inputs to the density altitude calculator come straight out of the METAR you just decoded: the outside air temperature and the altimeter setting. Add field elevation and you know whether your takeoff numbers are honest today.

Altimeter: A2992 vs Q1011

The second big fork, and the one that will actually hurt you.

A2992 is US format: 29.92 inches of mercury. Q1011 is international: QNH 1,011 hectopascals. They measure the same thing in different units, and the leading letter is the whole distinction. Q1020 is 30.12 inHg.

If you fly an airliner in Europe with an altimeter still set in inches, you will be at the wrong altitude and nobody will tell you.

Remarks: RMK AO2 SLP205

Everything after RMK is supplementary, and it is overwhelmingly a US thing. International reports mostly do not carry one.

The two you will see constantly: AO2 means an automated station with a precipitation discriminator, one that can tell rain from snow. AO1 is automated without one. And SLP205 is sea level pressure, 1020.5 mb, with the leading 9 or 10 dropped because you are expected to know which one fits.


US vs international: the six differences that actually bite

The US format is governed by the Federal Meteorological Handbook No. 1, which carries national differences from the WMO and ICAO model. The rest of the world follows ICAO Annex 3. Most guides teach FMH-1 and call it "the" METAR format, which is fine until you load a flight into Heathrow.

ElementUS (FMH-1)International (ICAO Annex 3)
VisibilityStatute miles, 10SM maxMetres, 9999 = 10 km or more
AltimeterA2992 (inHg)Q1011 (hPa)
CAVOKNot used at allCommon
TrendNoneNOSIG, BECMG, TEMPO appended
RemarksRMK group, heavily usedRare
RVR unitsFeet, FT suffixMetres, no suffix

Two of those need a sentence more.

CAVOK is Ceiling And Visibility OK, and it is not a vibe, it is a threshold. All four conditions must hold at once: visibility 10 km or more; no cloud below 5,000 ft or below the highest minimum sector altitude, whichever is greater; no cumulonimbus and no towering cumulus at any level; and no significant weather at or near the aerodrome. Miss one and it is not CAVOK. It does not appear in US reports and is not in the FAA Pilot/Controller Glossary, and US reports never use NSC either.

TREND is a forecast bolted onto an observation, covering the next 2 hours. NOSIG means no significant change expected in that window. BECMG and TEMPO work the way they do in a TAF. US NWS METARs carry no trend group.


Worked example 1: a US METAR

KJFK 101756Z 27015G25KT 10SM FEW040 SCT080 BKN250 22/14 A2992 RMK AO2
  • KJFK - John F. Kennedy International.
  • 101756Z - 10th of the month, 17:56 UTC. The :56 marks it as a routine hourly US observation.
  • 27015G25KT - wind 270 true at 15 kt, gusting 25. Gusty, and worth a crosswind check against your landing runway.
  • 10SM - 10 statute miles or more. Maximum reportable.
  • FEW040 SCT080 BKN250 - few at 4,000, scattered at 8,000, broken at 25,000. Ceiling is 25,000 ft, the lowest broken layer.
  • 22/14 - 22 C, dew point 14 C. An 8-degree spread, so no fog concern.
  • A2992 - 29.92 inHg. Standard pressure, pleasingly.
  • RMK AO2 - automated, with a precipitation discriminator.

Flight category: VFR. Visibility 10 beats 5, ceiling 25,000 beats 3,000.

Worked example 2: an international METAR

EGLL 101750Z 25012KT 9999 FEW025 SCT040 12/09 Q1011 NOSIG

Same airport-weather-in-a-string, and three tokens a US-only guide cannot parse.

  • EGLL - Heathrow. No K prefix, because the K is a US thing.
  • 101750Z - 10th at 17:50 UTC. Note the :50, not :55. Half-hourly reporting.
  • 25012KT - wind 250 at 12 kt. No gust group.
  • 9999 - 10 km or more, not 9,999 metres.
  • FEW025 SCT040 - few at 2,500, scattered at 4,000. No BKN, no OVC, so no ceiling at all.
  • 12/09 - 12 C, dew point 9 C. A 3-degree spread. Damp, and a London evening might close in.
  • Q1011 - QNH 1,011 hPa. Set hectopascals, not inches.
  • NOSIG - no significant change forecast for the next 2 hours.

9999, Q1011, and NOSIG. Three groups, none of which exist in the US format, all in one perfectly ordinary Heathrow report. That is why "learn the 11 groups" is only half the job.


Flight categories: VFR, MVFR, IFR, LIFR

A US and NOAA convention, not an ICAO one, so do not expect it on a European chart. It reduces the whole report to one word, using the worse of ceiling or visibility:

CategoryCeilingVisibility
VFRabove 3,000 ftand above 5 SM
MVFR1,000 to 3,000 ftand/or 3 to 5 SM
IFR500 to 999 ftand/or 1 to 3 SM
LIFRbelow 500 ftand/or below 1 SM

The "and/or" is the part people miss. Ten miles of visibility under a 400 ft overcast is LIFR. The bad number wins, always. Our decoder computes this for you and converts metric visibility to statute miles first, so it works on a Heathrow report as well as a JFK one.

METAR vs TAF

A METAR is an observation: what the weather is doing at the field right now, measured. A TAF is a forecast: what a meteorologist expects within about 5 statute miles of the centre of the runway complex, covering the next 24 hours at most airports and 30 at some of the bigger ones.

They look similar because a TAF reuses METAR's group encoding, but they answer different questions. Use the METAR to set your altimeter and pick your runway now. Use the TAF to decide whether your destination will still be usable when you get there in three hours. TAFs also carry change groups METARs mostly do not: FM, BECMG, TEMPO, PROB30. The TAF decoder handles those, so if the change groups are what is tripping you up, that is the tool for it.

Reading METARs in the sim

Getting them is easy: aviationweather.gov, any flight planning site, SimBrief's briefing package, or the ATIS in the sim itself. Same format regardless of where the string comes from.

The part nobody writing about METARs for student pilots will tell you: in MSFS, the live weather and the real METAR are known to disagree. Live weather is supplied by Meteoblue as gridded forecast and observational model data. Asobo blends METAR wind and gust data in close to airports and falls back to the model where no METAR exists or the report is incomplete. A METAR is a point measurement at the field, ground truth by definition. A gridded model is an interpolation. Near the surface, where you care most, those two can differ noticeably, and pilots regularly report the sim's conditions diverging from the real ones and even from the METAR shown in the sim's own interface.

So decide which one you are flying. If you want to practise real-world procedure, decode the real METAR, set the QNH from it, and pick your runway from its wind. If you want your instruments to agree with what is out the window, use what the sim's own ATIS gives you. Mixing the two is how you end up 200 feet off on an approach and blaming the aircraft.

Either way, that altimeter figure is the number that actually goes into the cockpit. On a Boeing that is the EFIS baro knob during the preflight flow, which the PMDG 737 cold start guide walks through in sequence. Wrong units there, and every altitude you fly afterwards is wrong with it.

Decode any METAR instantly

You now know the format well enough to read one by hand, which is the point: the tool should save you time, not think for you. Paste your string into the METAR decoder and it will break out every group, convert both altimeter formats, handle metres or statute miles, and give you the flight category. The JFK example above is already loaded, so you can see it work before you trust it with a report that matters.