Wind data on Strava
Explainer · last updated 1 August 2026
Two riders post the same 60 km at the same average speed. One had the wind behind them for an hour; the other spent half the ride at 1.2× the effort for the same number on the screen. Strava shows you nothing that tells them apart. Here is what wind actually does to a ride, how headwind and tailwind are worked out from a GPS track, and how to get those numbers onto every activity automatically.
Does Strava show wind data?
No. Strava keeps your GPS track, speed, elevation, power and heart rate, and it will happily compute grade-adjusted pace or a power curve from them — but nowhere on an activity page does it show wind speed, wind direction, or how much of your ride was into the wind. Weather simply is not part of what Strava displays.
That leaves a real gap. Wind is, on flat terrain, the single largest variable between two otherwise identical rides — bigger than tyre choice, bigger than most of what riders do obsess over. It is also the one condition that never appears in the ride log, so a hard day into a gale is remembered as a slow day.
Headwind, sidewind and tailwind: the split
"It was windy" is not a measurement. A useful one starts from the fact that wind only matters relative to the direction you were travelling, which changes at every turn of the route. So the ride gets broken into short segments:
- the track is cut into stretches of roughly constant bearing — split at the corners and wherever the GPS starts drifting, with long straights split again over time, because the wind itself changes during a ride;
- each stretch is matched against historical wind for that time and place (Open-Meteo's ERA5 reanalysis — measured conditions, not a forecast);
- the wind vector is projected onto your direction of travel: the component along the axis is head or tail, the perpendicular component is side;
- stops and GPS noise are thrown away, and the rest is averaged weighted by time, so ten minutes into the wind counts for ten times more than one.
Add the segments up and you get the shares — for example 48% head, 33%
side, 19% tail. That triple describes a ride far better than a single average wind
speed does: 25 km/h of wind hurts enormously on an out-and-back and barely registers on a loop
that turned with it.
Sidewind is not free either. A crosswind still costs watts — you lean into it, and the component along your direction of travel is rarely exactly zero — which is why the side share is reported separately instead of being folded into either extreme.
What wind factor actually means
The shares tell you how the ride was distributed; the wind factor compresses the whole thing into one number. It weighs every segment of the route by how much the wind was working with or against you at that moment:
- Above 1.00 — the wind was net against you, and the further above, the harder the day was for the speed you produced.
- Around 1.00 — a balanced ride, or a day with no real wind to speak of.
- Below 1.00 — you were pushed along. Enjoy it, and expect the return leg to collect the debt.
Alongside it come the raw conditions — average wind speed, average wind direction in degrees,
and a compass arrow such as ↗ showing where the wind was blowing. Velometry
exposes all of these as description tokens: {wind_factor},
{head_wind_percent}, {side_wind_percent},
{tail_wind_percent}, {average_wind_speed},
{wind_direction_indicator} and the per-component factors. The
full token reference lists the lot.
Why a headwind wrecks your average more than a tailwind saves it
Aerodynamic drag grows with the square of your speed through the air. Ride at 30 km/h into a 15 km/h headwind and your body is meeting 45 km/h of air — more than double the drag of the still-air case. Turn around and the same 15 km/h behind you leaves only 15 km/h of relative air, but you also spend far less time on that half of the ride, because you are moving faster.
The arithmetic is unforgiving: the slow half lasts longer than the fast half, so the wind takes
more time from you than it gives back. An out-and-back in a steady wind is always slower than
the same route in still air. A description line such as
Fought 48% headwind at 1.21× effort is not an excuse — it is the missing context
for an average speed that otherwise looks like a bad day.
How to add wind data to your Strava activities
Velometry writes it into the activity description for you, free:
- Connect with Strava. The official OAuth flow doubles as your login — no separate account, no password.
- Put wind tokens in your template. Either write your own line or load a ready-made one from the description ideas page.
- Ride. When the activity lands on Strava, a webhook wakes Velometry, which pulls the GPS streams, sends them to the wind-factor engine at windfactor.cc, and writes the finished description back to that ride — seconds after upload.
Only the GPS streams leave the app, and the result is not stored beyond a short cache, in line with the Strava API Agreement. Nothing derived from your activities is persisted — see privacy and data.
FAQ
Does Strava show wind data?
No. Strava stores your GPS track, speed, elevation, power and heart rate, but it shows no wind speed, wind direction or headwind information anywhere on the activity page. Weather conditions are not part of what Strava displays for a ride.
What is a good wind factor?
There is no "good" one — it describes the day, not your form. Above 1.00 means the wind was against you overall, below 1.00 means it helped. Its value is in comparing rides: two 30 km/h averages at 1.21 and 0.88 were nothing like the same effort.
How is headwind percentage calculated?
Your GPS track is cut into stretches of roughly constant bearing, each is matched against the historical wind for that time and place, and the wind vector is projected onto your direction of travel. The component along the axis counts as head or tail, the perpendicular one as side. Stops and GPS noise are discarded and the shares are averaged weighted by time.
How do I add wind data to a Strava activity?
Connect Velometry to Strava and put wind tokens in your description template. On every new ride Velometry sends the GPS streams to the wind-factor engine, gets the head, side and tail breakdown back, and writes it into the activity description automatically. It is free.
Can I get wind data for rides I have already uploaded?
Yes. The Recent rides tab in the admin panel regenerates the description of any of your last 10 rides with your current template, wind tokens included.
Does wind data work for runs?
No. Velometry writes descriptions for bike rides only — including indoor, virtual, gravel and MTB rides. Runs, swims, walks and e-bike rides are left untouched.