Heart Rate Stuck at One Flat Value: Causes and How to Fix It
By Roy Lachica on . Last updated .
You open your activity and the heart rate graph is not a graph at all, it is a perfectly straight line. Every point reads the same number, 142, 150, 165, whatever value the sensor last locked onto, repeated for the rest of the file. This is a different problem from missing heart rate data, and it needs a different fix. Here is what is actually happening and what can be done about it.
A flat line is not the same problem as missing data
Missing heart rate means the GPX gpxtpx:hr extension element is simply absent for some track
points. A flat line means the element is present at every point, but the value never changes. The sensor
(or the export pipeline) kept writing a number, it just stopped being a real reading. This distinction
matters because the two problems call for different treatment, and it is the first thing worth checking
before you try to fix anything.
Two versions of the problem
The whole file is flat
Every single heart rate value in the recording is identical, from start to finish. Statistically, the standard deviation of the heart rate series is zero. There is no variation anywhere in the file to learn from, no rise on the hills, no drop at the water stop.
Only part of the file is flat
Heart rate behaves normally for most of the activity, then locks onto one number for a stretch, say ten or twenty minutes, before recovering and varying normally again. The rest of the file still contains a real, usable relationship between effort and heart rate.
This distinction changes everything about what can be recovered, which is covered below.
What causes a heart rate sensor to freeze on one value
- Lost skin contact: an optical wrist sensor or chest strap that loses contact does not always drop to zero. Some firmware holds and repeats the last confident reading instead, which produces a flat line rather than a gap.
- Chest strap running dry: as sweat evaporates, strap electrodes lose conductivity and the signal degrades gradually rather than cutting out, sometimes settling on a stuck value.
- Weak or dying strap battery: a battery too low to maintain a clean broadcast can cause the receiving watch to keep re-displaying the last good packet.
- Cadence lock (optical sensors): during very rhythmic movement, some wrist sensors can briefly lock onto stride cadence instead of pulse, producing a value that barely moves for a period.
- Simulated or test data: files produced by indoor trainer software, treadmill apps, or manually constructed GPX files sometimes carry a placeholder heart rate value that was never a real reading to begin with.
How to check which case you have
- Open the file in a plain text editor and search for
gpxtpx:hr. If the number after it is identical everywhere, you have a flat line, not missing data. - Load the file into GpxFix and look at the heart rate chart. A dead straight horizontal line across the whole session confirms a whole-file flat line. A straight segment in the middle of an otherwise normal curve confirms a partial flat line.
- Check the average heart rate GpxFix reports alongside the chart. If every value equals the average, the standard deviation is zero and there is genuinely no variation anywhere in the file.
What can honestly be fixed
What GpxFix does: when GpxFix detects zero variation across the entire heart rate series it tells you directly that the value cannot be reconstructed, rather than fabricating a curve that looks plausible but is not based on anything real. There is no pace change, no elevation change, no partial signal anywhere in the file to estimate from, so there is nothing to extrapolate from.
What you can do: if the flat value is clearly not a real reading, the honest option is to strip the heart rate channel from the file entirely before uploading, so platforms do not display a straight line as if it were a genuine effort curve. GpxFix's strip tool can remove heart rate data cleanly while keeping your GPS track intact.
What GpxFix does: because real variation exists elsewhere in the same file, GpxFix can treat the stuck section the same way it treats a missing segment, estimating a plausible curve for that stretch based on your pace and elevation change during the same window, anchored to the heart rate values immediately before and after the gap.
What you can do: load the file, let GpxFix detect the stuck segment, and review the estimated curve before saving. If you would rather not estimate at all, you can crop just that segment out instead.
Preventing a stuck reading next time
- Wet the strap electrodes or optical sensor contact points before you start, dry skin is the most common reason a sensor locks onto a bad value.
- Replace a weak chest strap battery before a long or important session rather than waiting for it to fail mid-activity.
- Watch for the value early on: if your device shows heart rate in the pre-activity screen, glance at it before you press start, a number that refuses to move is a sign of a bad contact.
- Tighten a wrist sensor slightly for high-intensity intervals where arm movement can momentarily break optical contact.
Frequently asked questions
Why does Strava show a straight line for my heart rate?
Strava renders whatever numbers are in the file. If every heart rate value in your GPX or FIT file is identical, Strava has no way to know that is not a genuine flat effort, it simply draws what it is given.
Can a fully flat heart rate recording be recovered?
No. If the standard deviation of the recorded values is zero across the whole file, there is no signal left to reconstruct from. The most useful step is removing the heart rate channel rather than uploading a misleading flat line.
Does a flat heart rate line affect training load calculations?
Yes. Metrics like Suffer Score, TSS, or relative effort that depend on heart rate zones will either read incorrectly or fall back to pace-based estimates when the underlying heart rate data is not real, which is another reason to strip a clearly bogus flat reading rather than leave it in.
If your heart rate looks suspicious, the fastest way to find out what you are actually dealing with is to open the file in GpxFix and look at the chart. Related reading: heart rate data missing or corrupted and fixing heart rate anomalies.
Other blog posts
- GPS Freezes Then Jumps: Why Your Watch Shows Impossible Speed Spikes
- TCX to GPX: Why Convert a Garmin Training Center File and How It Works
- Repairing a Workout Using a Reference GPX File
- Snap to Road: Aligning a Wandering GPS Track to the Real Route
- How Wind Turbines Can Interfere with GPS Signals
- Why Your Strava Activity Got Flagged And How to Fix It
- Why Setting the Correct Activity Type is Essential
- How to Adjust the Start Time of Your Activity
- How to Calibrate Elevation in Your GPX File
- GpxFix Blog
- How to Resample and Simplify Your GPX File
- How to Reverse the Direction of Your GPX Route
- How to Adjust Speed and Pace in Your GPX File
- How to Fix Common Strava Upload Errors
- How to Fix Incorrect Heart Rate Data in Your GPX File
- Understanding and Fixing Saw-Pattern GPS Tracks
- Understanding GPS Spike Zones: Identifying and Analyzing Erroneous GPS Data
- Heart Rate Data Missing or Corrupted in Your GPX File — Causes and Fixes
- How to Anonymize a GPX File Before Sharing It Online
- Why Your Elevation Gain Is Wrong And How to Fix It
- How to Fix a Workout When You Forgot to Resume a Paused Watch
- How to increase the distance of a Strava Activity after watch died
- Why you should skip the headphones on trail runs and races
- Tips for Recording Video While Racing — Camera Options, Battery Life, and More
- How to Create a Hyperlapse Video for Your GPX Route
- GPX Files with YouTube Video Segments: A New Way to Experience Routes
- To Pause or Not to Pause
- GPS & Elevation Accuracy Showdown 2026 | Garmin vs COROS vs the Rest
- Why Garmin and Strava Sometimes Show Different Distances for the Same Workout
- Why Your Activity Distance Is Wrong And How to Correct It
- Fixing Broken Strava Activities
- Why Some Workouts Cannot Be Fixed
- How to Get a GPX File onto Your Garmin Sports Watch
- How to Combine Multiple Runs Into One Activity
- How to removes GPS Spikes or extreme sudden movements
- Why We Are Introducing Subscription
- Comparing activities - a practical guide
- How GpxFix Reconstructs Indoor Track Runs — even when GPS drops out
- How to restore missing GPS data
- Crop & Cut GPX Activities — A Practical Guide
- How to Change the Distance of a Workout
- When Is It Okay, and Not Okay, to Alter Elapsed Time
- How to Change Moving Time to Match Elapsed Time
- On the Ethics Of Editing Fitness Data
- Understanding Elapsed vs. Moving Time in Strava
- How to Get Accurate GPS and Heart Rate Data

