<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://forums.garmin.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Heart rate zones in Garmin Connect Web</title><link>https://forums.garmin.com/apps-software/mobile-apps-web/f/garmin-connect-web/430130/heart-rate-zones-in-garmin-connect-web</link><description>Hi all, I am trying to understand how the below values are being calculated. 
 
 Just to make an example, I have for today&amp;#39;s run the following &amp;quot;time at zones&amp;quot; values: 
 Z5 0% 
 Z4 26% 
 Z3 30% 
 Z2 32% 
 Z1 9% 
 And in this case, in the HR zones I can</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 29 Jan 2026 16:34:18 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://forums.garmin.com/apps-software/mobile-apps-web/f/garmin-connect-web/430130/heart-rate-zones-in-garmin-connect-web" /><item><title>RE: Heart rate zones in Garmin Connect Web</title><link>https://forums.garmin.com/thread/2007004?ContentTypeID=1</link><pubDate>Thu, 29 Jan 2026 16:34:18 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:9b4110ce-2c85-47d8-8276-dc0254890e2a</guid><dc:creator>runny</dc:creator><description>&lt;p&gt;Well, what to add? We have deeply analyzed the topic, I learned a lot of new things and I thank you.&lt;/p&gt;
&lt;p&gt;Let&amp;#39;s go for the next topic then! .-)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Heart rate zones in Garmin Connect Web</title><link>https://forums.garmin.com/thread/2006879?ContentTypeID=1</link><pubDate>Thu, 29 Jan 2026 10:49:04 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:0f647b5f-a395-4941-9239-09a767d6bcea</guid><dc:creator>flowstate</dc:creator><description>[quote userid="1533666" url="~/apps-software/mobile-apps-web/f/garmin-connect-web/430130/heart-rate-zones-in-garmin-connect-web/2006846"] if Garmin consider that boundary BPM belongs to zone_(x+1)_min, that&amp;#39;s fine to me.&amp;nbsp;[/quote]
&lt;p&gt;Yes, I think it does, although Garmin isn&amp;#39;t clear about it.&lt;/p&gt;
&lt;p&gt;My reasoning:&lt;/p&gt;
&lt;p&gt;- By the HR fractional zone formula I guessed, any HR value on a shared border (e.g. Z1 max and Z2 min, assuming those are the same value in BPM) should belong to the higher zone. It&amp;#39;s possible that a different formula could assign such a value to the lower zone, but I really don&amp;#39;t see how that formula would be simpler or more intuitive than what I guessed&lt;/p&gt;
&lt;p&gt;e.g.&lt;/p&gt;
&lt;p&gt;- if Z1 min = 123 and Z1 max = Z2 min = 137, then:&lt;/p&gt;
&lt;p&gt;Assuming 137 is in Z1, the corresponding fractional HR is 1.0 + (137 - 123) / (137 - 123) = 2.0&lt;/p&gt;
&lt;p&gt;Assuming 137 is in Z2, the corresponding fractional HR is 2.0 + (137 - 137) / (??? - 137) = 2.0&lt;/p&gt;
&lt;p&gt;Either way, the fractional zone for 137 is 2.0, which means that 137 is actually in Zone 2 (even if we assumed it was in Z1 haha).&lt;/p&gt;
&lt;p&gt;- My zones in FIT file (and from CIQ API getHeartRateZones() call) are: 123, 137, 152, 166, 181, 195&lt;/p&gt;
&lt;p&gt;- The CIQ API getHeartRateZones() call is documented to return Z1 min, Z1 max, Z2 max, Z3 max, Z4 max, Z5 max&lt;/p&gt;
&lt;p&gt;- My zones in Connect&amp;#39;s time in zones chart are:&lt;br /&gt;Z1: 123 - 136&lt;br /&gt;Z2: 137 - 151&lt;br /&gt;Z3: 152 - 165&lt;br /&gt;Z4: 166 - 180&lt;br /&gt;Z5: 181 - 195&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Therefore what Garmin internally calls Z1 max (which is implicitly shared with Z2 min, internally) is shown to the end user as Z2 min only.&lt;/strong&gt; The end user sees Z1 max (UI) as [Z2 min (internal) or Z1 max (internal)] minus 1.&lt;/p&gt;
&lt;p&gt;I do think the zones are continuous internally, and I do think that a value on the border of 2 zones is taken to be in the higher zone. I don&amp;#39;t think the end user necessarily needs to know or care about this, which is why the bpm zones are shown as non-continuous. (Although I will again point out that the older Connect HR zone settings showed each adjacent zone as sharing a border value. I can see why they stopped doing this - it must have been very confusing for end users)&lt;/p&gt;
&lt;p&gt;Also, for the purpose of something like time in zones, Garmin does have to pick one zone or another (not both) when calculating time in zones.&lt;/p&gt;
&lt;p&gt;I also think that the way the settings show % zones as continuous / sharing a value at the border of zones proves my point about the BPM zones being continuous internally (and continuous in the old settings for old watches).&lt;/p&gt;
&lt;p&gt;i.e.&lt;br /&gt;Z1: 50% - 60%&lt;br /&gt;Z2: 60% - 70%&lt;br /&gt;...&amp;nbsp;&lt;/p&gt;
&lt;p&gt;There&amp;#39;s no way Garmin could instead show/let you configure:&lt;br /&gt;Z1: 50% - 60%&lt;br /&gt;Z2: 61% - 70%&lt;/p&gt;
&lt;p&gt;Because then your BPM zones would really be messed up, like this:&lt;/p&gt;
&lt;p&gt;Z1: 123 - &lt;strong&gt;136&lt;/strong&gt;&lt;br /&gt;Z2: &lt;strong&gt;138&lt;/strong&gt; - 151&lt;/p&gt;
&lt;p&gt;But in the end all this talk of continuous/overlapping/touching zones vs non-touching zones is really secondary to the question of what fractional zones mean.&lt;/p&gt;
&lt;p&gt;As long as we know that 4.5 z&amp;nbsp; means roughly 50% into zone 4, I don&amp;#39;t think the other details matter. After all, 4.5 z (for example) is probably rounded to the nearest 1 decimal place, the exact fraction isn&amp;#39;t important, and if you want the &amp;quot;exact&amp;quot; numbers, you can look at the BPM values anyway.&lt;/p&gt;
&lt;p&gt;Honestly I rarely look at the fractional zone numbers in Connect anyway, although the graphical HR zone charts on the watch itself use a very similar concept (except instead of showing something like &amp;quot;3.5&amp;quot;, it would show a needle that is halfway between the zone 3 and zone 4, or right in the middle of the zone 3 bar).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Heart rate zones in Garmin Connect Web</title><link>https://forums.garmin.com/thread/2006846?ContentTypeID=1</link><pubDate>Thu, 29 Jan 2026 09:09:49 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:9c052db3-5c66-47f3-9164-78b33e49c10f</guid><dc:creator>runny</dc:creator><description>&lt;p&gt;The formula is clear to me, thanks. I have been checking that in the .tif file there are not fractional values for BPM (unless I didn&amp;#39;t see well) so from a math standpoint we could replace zone_(x+1)_min with zone_x_max in my opinion, but if Garmin consider that boundary BPM belongs to zone_(x+1)_min, that&amp;#39;s fine to me.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Heart rate zones in Garmin Connect Web</title><link>https://forums.garmin.com/thread/2006631?ContentTypeID=1</link><pubDate>Wed, 28 Jan 2026 13:46:10 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:039295b2-fece-4c4f-98f8-052ddbe88b2f</guid><dc:creator>flowstate</dc:creator><description>[quote userid="117275" url="~/apps-software/mobile-apps-web/f/garmin-connect-web/430130/heart-rate-zones-in-garmin-connect-web/2006628"]&lt;p&gt;As I said above, if a 3rd-party Connect IQ app queries the user&amp;#39;s current HR zones, they get back the following values:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Z1 min, Z1 max, Z2 max, Z3 max, Z4 max, Z5 max (max HR)&lt;/strong&gt;&lt;/p&gt;[/quote]
&lt;p&gt;&lt;a href="https://developer.garmin.com/connect-iq/api-docs/Toybox/UserProfile.html#getHeartRateZones-instance_function"&gt;https://developer.garmin.com/connect-iq/api-docs/Toybox/UserProfile.html#getHeartRateZones-instance_function&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;getHeartRateZones(sport as UserProfile.SportHrZone) as Lang.Array&amp;lt;Lang.Number&amp;gt;&lt;/p&gt;
&lt;p&gt;Retrieve an Array of the current heart rate zone threshold values in beats per minute (bpm)&lt;/p&gt;
&lt;p&gt;The returned Array contains zone values as follows:&lt;/p&gt;
&lt;p&gt;min zone 1 - The minimum heart rate threshold for zone 1&lt;/p&gt;
&lt;p&gt;max zone 1 - The maximum heart rate threshold for zone 1&lt;/p&gt;
&lt;p&gt;max zone 2 - The maximum heart rate threshold for zone 2&lt;/p&gt;
&lt;p&gt;max zone 3 - The maximum heart rate threshold for zone 3&lt;/p&gt;
&lt;p&gt;max zone 4 - The maximum heart rate threshold for zone 4&lt;/p&gt;
&lt;p&gt;max zone 5 - The maximum heart rate threshold for zone 5&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;There&amp;#39;s no need for the API to return min zone 2 [for example], because it&amp;#39;s understood to be the same as max zone 1. [Ofc the docs don't really explain whether a value on a border of 2 zones actually belongs to the lower or the higher zone, which is a shame]&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Heart rate zones in Garmin Connect Web</title><link>https://forums.garmin.com/thread/2006629?ContentTypeID=1</link><pubDate>Wed, 28 Jan 2026 13:33:05 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:7a5d67f3-5639-451b-9354-f2bf42afc923</guid><dc:creator>flowstate</dc:creator><description>&lt;p&gt;To drive home the point, here are the zones that were recorded to the FIT file for a recent run. Again, only Z1 min, Z1 max, Z2 max, Z3 max, Z4 max, and Z5 max are represented in the file. Note that these are indeed integers.&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://forums.garmin.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/92/pastedimage1769605715476v1.png" /&gt;&lt;/p&gt;
&lt;p&gt;Ofc nothing stops Garmin from taking these numbers and internally using them anyway they want.&lt;/p&gt;
&lt;p&gt;They could in fact take these numbers to represent zones such as:&lt;/p&gt;
&lt;p&gt;122.5000000... &amp;raquo; 136.49999999...&amp;nbsp;&lt;br /&gt;136.5000000... &amp;raquo; 151.49999999&lt;/p&gt;
&lt;p&gt;But I really don&amp;#39;t think they do (unless you consider that it could be that way as an implementation detail, as mentioned above). (But that implementation detail would only be necessary if in fact there were 2 separate values internally at borders - one for Z1 max and one for Z2 min, for example, and I don&amp;#39;t think there needs to be.)&lt;/p&gt;
&lt;p&gt;I think the simplest answer of looking at it that my zones are actually:&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;%HRR / BPM&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp;|-- 100%&lt;span&gt;&amp;nbsp;/ 195&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;Z5 | &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;|--- 90&lt;span&gt;% /&amp;nbsp;&lt;/span&gt;181&lt;br /&gt;Z4 | &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;|--- 8&lt;span&gt;0% /&amp;nbsp;&lt;/span&gt;166&lt;/code&gt;&lt;br /&gt;&lt;code&gt;Z3 | &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp;|--- 7&lt;span&gt;0% /&amp;nbsp;&lt;/span&gt;152&lt;/code&gt;&lt;br /&gt;&lt;code&gt;Z2 | &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp;|--- 6&lt;span&gt;0% /&amp;nbsp;&lt;/span&gt;137&lt;/code&gt;&lt;br /&gt;&lt;code&gt;Z1 | &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp;|--- 50% / 123&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;If I could see them in the old Connect website HR zones settings page (not available for new devices), I think that&amp;#39;s exactly what it would look like.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Note that these zones are a little different than what I said before, since the watch detected a slightly lower max HR (195) for me than was previously set.&lt;/p&gt;
&lt;p&gt;To write these zones differently (making the equalities at the borders explicit)&lt;/p&gt;
&lt;p&gt;123&amp;nbsp;&lt;span&gt;&amp;le;&lt;/span&gt; &lt;strong&gt;Z1&lt;/strong&gt; &amp;lt; 137&amp;nbsp;&lt;span&gt;&amp;le;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;strong&gt;Z2&lt;/strong&gt; &amp;lt; 152&amp;nbsp;&amp;le;&amp;nbsp;&lt;strong&gt;Z3&lt;/strong&gt; &amp;lt;&amp;nbsp;166&amp;nbsp;&amp;le; &lt;strong&gt;Z4&amp;nbsp;&lt;/strong&gt;&amp;le; 181&amp;nbsp;&amp;le;&amp;nbsp;&lt;strong&gt;Z5&lt;/strong&gt; &amp;lt; 195&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Again I am assuming that if a HR value is on a border (like 137), then it belongs to the higher HR zone (in this case, Z2). This at least matches the fractional HR formula that I guessed, and it also matches Garmin&amp;#39;s presentation of the zones in BPM where adjacent zones are separated by 1 BPM (e.g. my time in zones chart shows zones like 123-136, 137 - 151, etc.).&lt;/p&gt;
&lt;p&gt;In the end it doesn&amp;#39;t matter. I think we all agree that the zones are actually continuous, which is especially obvious if you use % zones, as in % max HR or % HRR. In this case, Garmin shows continuous/touching/pseudo-overlapping ranges in the settings such as 50%-60%, 60%-70%, etc, for the reason that I said above. (It wouldn&amp;#39;t work with ranges like 50% - 59%, 60% - 69%, for example, because then you&amp;#39;d have something other than 1 BPM of separation between adjacent zones)&lt;/p&gt;
&lt;p&gt;But it doesn&amp;#39;t matter so much when you look at BPM values, because Connect never shows fractional BPM values. Internally, any BPM that is recorded to the FIT file is an integer if I&amp;#39;m not mistaken, and any average that is taken is rounded for dispaly.&lt;/p&gt;
&lt;p&gt;And I mentioned the formula for calculating fractional zone, which was the point of this thread in the first place. At least that formula works for me. Here&amp;#39;s the formula in general:&lt;/p&gt;
&lt;p&gt;For a given heart rate H (in bpm), the corresponding &amp;quot;fractional zone&amp;quot; X.Y&amp;nbsp;(where X and Y are integers) is given by:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;fractional_hr_zone = X + (H - zone_X_min) / (zone_(X+1)_min -&amp;nbsp; zone_X_min), where X is such that&amp;nbsp;zone_X_min&amp;nbsp;&amp;le; H&amp;nbsp;&amp;le;&amp;nbsp;zone_(X+1)_min)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Here I have chosen to write the formula so it would work with either the (supposed) internal continuous ranges, or the user-visible ranges which are separated by 1 bpm.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;I could be wrong ofc, since all of this is an educated guess. But it&amp;#39;s the simplest explanation (to me, anyway).&lt;/p&gt;
&lt;p&gt;And maybe the details don&amp;#39;t really matter, so long as we understand that a fractional zone of 4.5 (for example) means that you are halfway (50%) between zone 4 min and zone 5 min.&lt;/p&gt;
&lt;p&gt;Similarly, 3.3 means you are 30% between zone 3 min and zone 4 min.&lt;/p&gt;
&lt;p&gt;[2/2]&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Heart rate zones in Garmin Connect Web</title><link>https://forums.garmin.com/thread/2006628?ContentTypeID=1</link><pubDate>Wed, 28 Jan 2026 13:32:41 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:a8e94c59-2cfa-4a78-bf2b-b53b1d00e16d</guid><dc:creator>flowstate</dc:creator><description>[quote userid="180556" url="~/apps-software/mobile-apps-web/f/garmin-connect-web/430130/heart-rate-zones-in-garmin-connect-web/2006600"]&lt;p&gt;No, the zones are continuous. If they use classic rounding then they are&lt;/p&gt;
&lt;p&gt;122.5000000... (rounded to 123) » 136.49999999... (rounded to 136) and &lt;br /&gt;136.5000000... (rounded to 137) » 151.49999999... (rounded to 151)&lt;/p&gt;[/quote]
&lt;p&gt;I really don&amp;#39;t want to belabour the point, but in the FIT file (and I assume internally), adjacent HR zones actually share a single value at the border, just like this little diagram I posted above, which shows how my zones would&amp;#39;ve looked in Garmin Connect&amp;#39;s old HR zones settings, which displayed BPM and % at the same time:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;%HRR / BPM&lt;br /&gt;&amp;nbsp; &amp;nbsp; ...&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp;|--- 7&lt;span&gt;0% /&amp;nbsp;&lt;/span&gt;151&lt;/code&gt;&lt;br /&gt;&lt;code&gt;Z2 | &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp;|--- 6&lt;span&gt;0% /&amp;nbsp;&lt;/span&gt;137&lt;/code&gt;&lt;br /&gt;&lt;code&gt;Z1 | &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp;|--- 50% / 123&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;So actually, there are not separate values in the FIT file (and I assume internally) for Z1max and Z2min, for example.&lt;/p&gt;
&lt;p&gt;As I said above, if a 3rd-party Connect IQ app queries the user&amp;#39;s current HR zones, they get back the following values:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Z1 min, Z1 max, Z2 max, Z3 max, Z4 max, Z5 max (max HR)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;I also don&amp;#39;t see any reason for the boundaries to actually be fractional as in your example. The boundaries could very well be rounded to the nearest integer (in BPM), without changing any of the assumptions or the math).&lt;/p&gt;
&lt;p&gt;I actually think it makes more sense for the zones to be exactly as I said:&lt;/p&gt;
&lt;p&gt;123 &amp;le; Z1 &amp;lt; 137&lt;br /&gt;137 &amp;le; Z2 &amp;lt; 151&lt;/p&gt;
&lt;p&gt;In other words, if an avg HR of 136.75 was calculated, that should be in Z1 (and it would be, based on the fractional HR zone formula that I guessed), not in Z2 as per your zones whose boundaries lie on *.5. Then again, if 136.75 is rounded to 137 before being converted to a &amp;quot;fractional zone&amp;quot;, then it would be in Z2. I&amp;#39;m guessing that probably how it works in practice, but I don&amp;#39;t think it matters so much. &lt;strong&gt;With that in mind, I see your point about how the zones could be considered to be anchored at values of *.5, but that seems like more of an implementation detail.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;[1/2]&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Heart rate zones in Garmin Connect Web</title><link>https://forums.garmin.com/thread/2006600?ContentTypeID=1</link><pubDate>Wed, 28 Jan 2026 10:55:00 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:dd429d17-edfc-4209-8d02-f65d70c3f765</guid><dc:creator>trux</dc:creator><description>[quote userid="1533666" url="~/apps-software/mobile-apps-web/f/garmin-connect-web/430130/heart-rate-zones-in-garmin-connect-web/2006593"]The two zones are at the end non overlapped as well, are they not Garmin&amp;#39;s internal zones assumptions?[/quote]
&lt;p&gt;No, the zones are continuous. If they use classic rounding then they are&lt;/p&gt;
&lt;p&gt;122.5000000... (rounded to 123) &amp;raquo; 136.49999999... (rounded to 136) and &lt;br /&gt;136.5000000... (rounded to 137) &amp;raquo; 151.49999999... (rounded to 151)&lt;/p&gt;
&lt;p&gt;Theys could also use FLOOR or CEIL conversion to integer, but the principle is the same - there are no gaps between the zones&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Heart rate zones in Garmin Connect Web</title><link>https://forums.garmin.com/thread/2006593?ContentTypeID=1</link><pubDate>Wed, 28 Jan 2026 10:14:32 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:51c4a414-a943-41f3-9b20-0011c53c8273</guid><dc:creator>runny</dc:creator><description>&lt;p&gt;Sorry, I admit I made a mistake because effectively m&lt;span&gt;y time zone (%) is actually set as overlapped (I wrote non-overlapped).&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I readr carefully and I think your explanation&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Z1 = 123-136 --&amp;gt;&amp;nbsp;123 &amp;le; Z1 &amp;lt; 137&lt;br /&gt;Z2 = 137-151 --&amp;gt;&amp;nbsp;137 &amp;le; Z2 &amp;lt; 151&lt;/p&gt;
&lt;p&gt;is quite well explaining.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Just one question: you say that&amp;nbsp;&lt;strong&gt;Garmin presents HR zone BPM ranges to the user as non-overlapped (or 1 bpm apart), but internally / mathematically Garmin&amp;#39;s zones are overlapping (or touching).&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;But If I see the math your wrote:&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Z1 = 123-136 --&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;123 &amp;le; Z1 &amp;lt; 137&lt;/span&gt;&lt;br /&gt;&lt;span&gt;Z2 = 137-151 --&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;137 &amp;le; Z2 &amp;lt; 151&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The two zones are at the end non overlapped as well, are they not Garmin&amp;#39;s internal zones assumptions?&lt;/p&gt;
&lt;p&gt;Again, thank you!&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Heart rate zones in Garmin Connect Web</title><link>https://forums.garmin.com/thread/2006430?ContentTypeID=1</link><pubDate>Tue, 27 Jan 2026 20:34:47 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:d24511da-9113-4fcb-86ac-921d712a8d6e</guid><dc:creator>flowstate</dc:creator><description>[quote userid="1533666" url="~/apps-software/mobile-apps-web/f/garmin-connect-web/430130/heart-rate-zones-in-garmin-connect-web/2006303"] My time zone is actually non-overlapped but as far as I understand it&amp;#39;s preferable to set with overlapping.[/quote]
&lt;p&gt;&lt;strong&gt;I was saying that Garmin presents HR zone BPM ranges to the user as non-overlapped (or 1 bpm apart), but internally / mathematically Garmin&amp;#39;s zones are overlapping (or touching).&lt;/strong&gt; And in the past, Garmin actually showed HR zones as overlapping in the Connect website HR zones settings (which don&amp;#39;t exist for newer devices).&lt;/p&gt;
&lt;p&gt;You cannot actually *set* your zones with overlapping BPM, although if you set your zones by % (% HRR or % max HR), you will see that the percentages are overlapping, which proves my point.&lt;/p&gt;
&lt;p&gt;For example, I set my zones by %HRR, and these are the default ranges in settings (User Profile &amp;gt; Zones):&lt;/p&gt;
&lt;p&gt;Z5: 90% - 100%&lt;br /&gt;Z4: 80% - 90%&lt;br /&gt;Z3: 70% - 80%&lt;br /&gt;Z2: 60% - 70%&lt;br /&gt;Z1: 50% - 60%&lt;/p&gt;
[quote userid="1533666" url="~/apps-software/mobile-apps-web/f/garmin-connect-web/430130/heart-rate-zones-in-garmin-connect-web/2006303"]&lt;p&gt;Z1=123-137 intended defined as max 137.0&lt;/p&gt;
&lt;p&gt;Z2=137-151 intended defined as min 137.1&lt;/p&gt;[/quote]
&lt;p&gt;Not exactly. Think of it this way - Garmin shows the following ranges in the HR time in zones chart:&lt;/p&gt;
&lt;p&gt;Z1 = 123-136&lt;br /&gt;Z2 = 137-151&lt;/p&gt;
&lt;p&gt;But actually it means:&lt;/p&gt;
&lt;p&gt;123 &amp;le; Z1 &amp;lt; 137&lt;br /&gt;137 &amp;le; Z2 &amp;lt; 151&lt;/p&gt;
&lt;p&gt;Z1 max and Z2 min are both 137, but if your HR is exactly 137, then you&amp;#39;re in Z2 (both by the above definition and the fractional zone calculations).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;In other words, if your HR is on the border of 2 zones, then the higher zone applies. So actually, Garmin&amp;#39;s non-overlapping zone presentation is correct as long as your HR is an integer (and since we don&amp;#39;t really ever see or care about fractional heart rates, that&amp;#39;s just fine).&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It&amp;#39;s similar to tax brackets. Tax brackets are often defined with overlapping ranges. You might see progressive tax brackets defined like this (fake example):&lt;/p&gt;
&lt;p&gt;$0 - $10,000: 0%&lt;br /&gt;$10,000 - $50,000: 10%&lt;br /&gt;$50,000 - $75,000: 20%&lt;br /&gt;...&lt;/p&gt;
&lt;p&gt;But what if my income is exactly on the border of 2 brackets, like $50,000? Am I in the 10% bracket or the the 20% bracket? It doesn&amp;#39;t matter, because of the formula that&amp;#39;s used to calculate your taxes. In the case of tax brackets, only the income that *exceeds* the minimum value for a bracket is taxed at that bracket&amp;#39;s level. So If you make exactly $50,000, then $50,000 - $50,000 = $0 of your income is taxed at 20%. In this case, if your income is on the border of 2 brackets, the lower bracket applies.&lt;/p&gt;
&lt;p&gt;Again it&amp;#39;s better for the ranges to overlap like this because it takes care of all possible cases of fractional amounts.&lt;/p&gt;
&lt;p&gt;The average person who is not too interested in numbers / math will ofc not really understand why the ranges overlap, which is why Garmin presents HR zone &lt;strong&gt;BPM ranges&lt;/strong&gt; as non-overlapping (but they can&amp;#39;t do that with the % ranges, because a difference of 1% won&amp;#39;t be exactly 1 BPM, and that would mess up the BPM ranges).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Heart rate zones in Garmin Connect Web</title><link>https://forums.garmin.com/thread/2006303?ContentTypeID=1</link><pubDate>Tue, 27 Jan 2026 10:25:37 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:33917401-e752-41ea-a89a-b2c9f079055f</guid><dc:creator>runny</dc:creator><description>&lt;p&gt;Thank you for the good discussions! My time zone is actually non-overlapped but as far as I understand it&amp;#39;s preferable to set with overlapping. BTW, overlapping should not be an issue if we assume that 137.0 is Z1 and 137.1 is Z2.&lt;/p&gt;
&lt;p&gt;Z1=123-137 intended defined as max 137.0&lt;/p&gt;
&lt;p&gt;Z2=137-151 intended defined as min 137.1&lt;/p&gt;
&lt;p&gt;Thanks, ciao&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Heart rate zones in Garmin Connect Web</title><link>https://forums.garmin.com/thread/2006161?ContentTypeID=1</link><pubDate>Mon, 26 Jan 2026 20:19:38 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:691856cb-764a-4575-9f04-7d1554ba8a62</guid><dc:creator>flowstate</dc:creator><description>&lt;p&gt;I will also say that for fractional zones, there a couple of uncertainties:&lt;/p&gt;
&lt;p&gt;- For 0.x (HR lower than zone 1), it&amp;#39;s not clear what &amp;quot;zone 0 min&amp;quot; is (I *think* it might be a fixed value like 30, the minimum hr that Garmin watches will measure)&lt;/p&gt;
&lt;p&gt;- For 6.x (HR higher than max HR), it&amp;#39;s not clear what &amp;quot;zone&amp;nbsp;6 max&amp;quot; is. (Note that zone 5 max is your max HR in user profile). I *think* it might be 220 or some other arbitrary absolutely max HR.&lt;/p&gt;
&lt;p&gt;If you ever have examples of these (0.x should actually be easy because your recovery HR &amp;quot;&lt;span&gt;fractional&lt;/span&gt; zone&amp;quot; will almost certainly be less than 1.0 *), you can calculate these unknown constants yourself.&lt;/p&gt;
&lt;p&gt;[*] Ofc it makes little sense to present recovery HR as a &amp;quot;fractional zone&amp;quot;, since it&amp;#39;s not an absolute HR&amp;nbsp;measurement but a relative calculation (the difference between HR measurements when you stop exercising and 2 minutes later), and HR zones only make sense for absolute HR measurements, but Garmin does it anyway....&lt;/p&gt;
&lt;p&gt;EDIT I did the math and it looks like:&lt;/p&gt;
&lt;p&gt;- &amp;quot;zone 0 min&amp;quot; is actually 0 (or maybe 1)&lt;/p&gt;
&lt;p&gt;- there is no zone 6 max, because if you exceed your max HR, Garmin just displays 6.0 anyway, even though it will show &amp;quot;% of Max&amp;quot; as being higher than 100%.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Heart rate zones in Garmin Connect Web</title><link>https://forums.garmin.com/thread/2006149?ContentTypeID=1</link><pubDate>Mon, 26 Jan 2026 20:10:30 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:794c94ab-ddb5-4bfa-b213-44cbc1eee6f9</guid><dc:creator>flowstate</dc:creator><description>&lt;p&gt;One problem with 1) (overlapping zones) is that if a value is on the border of 2 zones (like 137), which zone range is it in?&lt;/p&gt;
&lt;p&gt;If you use fractional zones, then the fractional zone for 137 is always 2.0 whether you assume 137 is in Z1 or Z2:&lt;/p&gt;
&lt;p&gt;Assume 137 is in Z1 and use the overlapping zones:&lt;/p&gt;
&lt;p&gt;Z1min + 1.0 + fractional_zone * (Z1max - Z1min) = 137&lt;br /&gt;&lt;span&gt;fractional_zone = 1.0 + (137 - z1min) / (Z1max - z1min)&lt;br /&gt;fractional_zone = 1.0 + (137 - 123) / (137 -123)&lt;br /&gt;fractional_zone = 1.0 +&amp;nbsp;1&lt;br /&gt;fractional_zone = 2.0&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Assume 137 is in Z2 &lt;span&gt;and use the overlapping zones&lt;/span&gt;:&lt;/p&gt;
&lt;p&gt;Z2min + 2.0 + fractional_zone * (Z2max - Z2min) = 137&lt;br /&gt;&lt;span&gt;fractional_zone = 2.0 + (137 - z2min) / (Z2max - z2min)&lt;br /&gt;fractional_zone = 2.0 + (137 - 137) / (151 - 137)&lt;br /&gt;fractional_zone = 2.0 + 0&lt;/span&gt;&lt;span&gt;&lt;br /&gt;fractional_zone = 2.0&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;(Either calculation would also work if you used the non-overlapping zones, but ofc you&amp;#39;d have to adjust the formulas)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;In other words, in terms of fractional zones, 137 would be &amp;quot;100% into Z1&amp;quot;, &amp;nbsp;&amp;quot;0% into Z2&amp;quot;, or 2.0.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;If you use integer zones, you could just Garmin&amp;#39;s non-overlapping presentation and say that 137 is in zone 2 (which also makes a lot of sense given that the fractional zone is 2.0)&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Heart rate zones in Garmin Connect Web</title><link>https://forums.garmin.com/thread/2006148?ContentTypeID=1</link><pubDate>Mon, 26 Jan 2026 20:10:10 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:55e97e7f-4837-4ea9-813e-588261f20455</guid><dc:creator>flowstate</dc:creator><description>[quote userid="1533666" url="~/apps-software/mobile-apps-web/f/garmin-connect-web/430130/heart-rate-zones-in-garmin-connect-web/2006051"]&lt;p&gt;Just one point, how to define intervals. For example, for Z4 interval, why we consider (Z5 min - Z4 min) and not (Z4 max - Z4 min) it&amp;#39;s more logical to me, without creating overlapping.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;[/quote]
&lt;p&gt;Yes I agree that Z4 max - Z4 min is more logical. To explain why I used Z5 min - Z4 min instead, I will echo what trux said and add:&lt;/p&gt;
&lt;p&gt;Historically, Garmin has actually presented your zone BPM ranges in 2 ways: with and without overlapping.&lt;/p&gt;
&lt;p&gt;1) In the (old) HR zone settings [**] where you could see both % and BPM at the same time, with overlapping (without gaps). e.g. My real zones would&amp;#39;ve looked like this:&lt;/p&gt;
&lt;p&gt;Z1: 123-137&lt;br /&gt;Z2: 137-151&lt;/p&gt;
&lt;p&gt;2) In the time in zones chart, without overlapping (with gaps). e.g. For my real zones:&lt;/p&gt;
&lt;p&gt;Z1: 123-136&lt;br /&gt;Z2: 137-151&lt;/p&gt;
&lt;p&gt;It is worth noting that the new settings based on BPM show non-overlapping ranges as in 2).&lt;/p&gt;
&lt;p&gt;I think 1) (overlapping zones) makes more sense&amp;nbsp;mathematically [*], but end users may find it confusing, which is why Garmin went with 2) (non-overlapping zones) for the time in zones chart.&lt;/p&gt;
&lt;p&gt;[*] For example, if my average HR is 136.5, then by 2), it is in neither zone 1 nor 2, but by 1) it is clearly in zone 1.&lt;/p&gt;
&lt;p&gt;If you use the overlapping zone ranges from 1), then Z4 max is the same as Z5 min, and Z4 max - Z4 min is the same as Z5 min - Z4 min, so it doesn&amp;#39;t matter which one you use.&lt;/p&gt;
&lt;p&gt;If you use the non-overlapping zone ranges from 2), then you must use Z5 min&amp;nbsp;- Z4 min for the Z4 calculation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;I think Garmin actually uses overlapping zones internally&lt;/strong&gt; (this can be seen in a few technical ways, by looking at the Connect IQ SDK or analyzing activity&amp;nbsp;FIT files). Internally, zones actually look&amp;nbsp;like this:&lt;/p&gt;
&lt;p&gt;Z1 min, Z1 max, &amp;nbsp;Z2 max, Z3 max, Z4 max, Z5 max (max HR)&lt;/p&gt;
&lt;p&gt;(Ofc these could also be interpreted as half open ranges - ultimately I don&amp;#39;t think it matters.)&lt;/p&gt;
&lt;p&gt;--&lt;/p&gt;
&lt;p&gt;[**]&lt;/p&gt;
&lt;p&gt;The old HR zone settings (available on the Connect website for older devices) actually would&amp;#39;ve looked something like this, which pretty much shows overlapping zones:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;%HRR / BPM&lt;br /&gt;&amp;nbsp; &amp;nbsp; ...&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp;|--- 7&lt;span&gt;0% /&amp;nbsp;&lt;/span&gt;151&lt;/code&gt;&lt;br /&gt;&lt;code&gt;Z2 | &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp;|--- 6&lt;span&gt;0% /&amp;nbsp;&lt;/span&gt;137&lt;/code&gt;&lt;br /&gt;&lt;code&gt;Z1 | &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp;|--- 50% / 123&lt;/code&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Heart rate zones in Garmin Connect Web</title><link>https://forums.garmin.com/thread/2006057?ContentTypeID=1</link><pubDate>Mon, 26 Jan 2026 14:42:06 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:80bd2c70-a419-4da8-8ca7-7868c8df904d</guid><dc:creator>trux</dc:creator><description>[quote userid="1533666" url="~/apps-software/mobile-apps-web/f/garmin-connect-web/430130/heart-rate-zones-in-garmin-connect-web/2006051"]why we consider (Z5 min - Z4 min) and not (Z4 max - Z4 min)[/quote]
&lt;p&gt;There would be&amp;nbsp;1 bpm gap between the zones. Technically the HR may be for example 136.8 bpm, so if the thresholds were 123-136 and 137-151, the HR of 136.8 would be in the gap. Especially for calculating averages and percentages, you have to avoid these gaps.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Heart rate zones in Garmin Connect Web</title><link>https://forums.garmin.com/thread/2006051?ContentTypeID=1</link><pubDate>Mon, 26 Jan 2026 14:26:44 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:b1fd3050-84a6-46e7-bdc8-13ad9d381734</guid><dc:creator>runny</dc:creator><description>&lt;p&gt;Thank you all for your help!&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Just one point, how to define intervals. For example, for Z4 interval, why we consider (Z5 min - Z4 min) and not (Z4 max - Z4 min) it&amp;#39;s more logical to me, without creating overlapping.&lt;/p&gt;
&lt;p&gt;In the expmple by flowstate, you write&amp;nbsp;&lt;span&gt;2.2 z = Z2min + 0.2 * (Z3min - Z2min) = &amp;nbsp;137 + 0.2 * (152 - 137) = 140, but why not 2.2 z = Z2min + 0.2 * (Z2max - Z2min) instead. At the end, it doesn&amp;#39;t change so much, just formally.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Heart rate zones in Garmin Connect Web</title><link>https://forums.garmin.com/thread/2006018?ContentTypeID=1</link><pubDate>Mon, 26 Jan 2026 13:22:07 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:378dd5e9-534e-42fe-a923-81841aec4e05</guid><dc:creator>flowstate</dc:creator><description>&lt;p&gt;Sorry for the weird formatting in my reply, but it&amp;#39;s due to a forum bug and the forum won&amp;#39;t let me fix it now.&lt;/p&gt;
&lt;p&gt;I will say that if I do the same calculations with one of my own running activity&amp;#39;s avg/max fractional zones, the answers match the corresponding avg/max BPM values exactly.&lt;/p&gt;
&lt;p&gt;For example here&amp;#39;s my avg/max BPM / fractional zones for a long run:&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://forums.garmin.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/92/pastedimage1769433976380v2.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://forums.garmin.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/92/pastedimage1769433992743v3.png" /&gt;&lt;/p&gt;
&lt;p&gt;And here&amp;#39;s my zones, from the time in zones chart for the same run:&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:336px;max-width:640px;" alt=" " src="https://forums.garmin.com/resized-image/__size/1280x672/__key/communityserver-discussions-components-files/92/pastedimage1769433949129v1.png" /&gt;&lt;/p&gt;
&lt;p&gt;2.2 z = Z2min + 0.2 * (Z3min - Z2min) = &amp;nbsp;137 + 0.2 * (152 - 137) = 140&lt;/p&gt;
&lt;p&gt;4.0 z = Z4min + 0 (Z5min - Z4min) = 166&lt;/p&gt;
&lt;p&gt;I would expect the same kind of calculation to work with all of my running activities (I&amp;#39;ve looked at this in the past, when I first tried to figure out what fractional zones numbers meant).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Heart rate zones in Garmin Connect Web</title><link>https://forums.garmin.com/thread/2006017?ContentTypeID=1</link><pubDate>Mon, 26 Jan 2026 13:20:14 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:f6c94331-4fee-4401-8074-b82244777a5c</guid><dc:creator>flowstate</dc:creator><description>[quote userid="1533666" url="~/apps-software/mobile-apps-web/f/garmin-connect-web/430130/heart-rate-zones-in-garmin-connect-web/2006013"]connect.garmin.com/.../
[quote]
&lt;p&gt;For whatever reason (perhaps intentional on Garmin&amp;#39;s part), I can&amp;#39;t see the Heart Rate &amp;gt; Zones or Heart Rate &amp;gt; % Max tabs, only the Heart Rate &amp;gt; BPM data&amp;nbsp;for the activity you shared, but you already told us what the Zones tab said.&lt;/p&gt;
&lt;p&gt;For the record I will repeat it here:&lt;/p&gt;
&lt;p&gt;&amp;gt;&amp;nbsp;&lt;span&gt;in the HR zones I can see 3,3 z ave HR, 4,9 z max HR&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;And here&amp;#39;s the HR &amp;gt; BPM data:&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://forums.garmin.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/92/pastedimage1769433168789v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;And here&amp;#39;s your time in zones:&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://forums.garmin.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/92/pastedimage1769433194859v2.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;It doesn&amp;#39;t show your max HR, but we don&amp;#39;t need that value because neither the avg nor max zone number is 5.x.&lt;/p&gt;
&lt;p&gt;Here we can&amp;nbsp;try to verify that the fractional zones and bpm numbers match up&lt;/p&gt;
&lt;p&gt;- 3.3z = zone 3 min + 0.3 * (zone 4 min - zone 3 min) = 134 + .3 * (145 - 134) = 137.3&lt;/p&gt;
&lt;p&gt;Hmmm that doesn&amp;#39;t quite match up with 135, even if you account for possible rounding of either the avg HR in BPM or the fractional zone&lt;/p&gt;
&lt;p&gt;- 4.9z &amp;nbsp;= zone 4 min + 0.9 * (zone 5 min - zone 4 min) = 145 + 0.9 * (155 -145) = 154&lt;/p&gt;
&lt;p&gt;Also doesn&amp;#39;t quite match up.&lt;/p&gt;
&lt;p&gt;Not sure how to explain it.&lt;/p&gt;[/quote][/quote]&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Heart rate zones in Garmin Connect Web</title><link>https://forums.garmin.com/thread/2006014?ContentTypeID=1</link><pubDate>Mon, 26 Jan 2026 13:09:34 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:338c620f-530f-4907-a8f6-8d72fc9f4060</guid><dc:creator>flowstate</dc:creator><description>[quote userid="180556" url="~/apps-software/mobile-apps-web/f/garmin-connect-web/430130/heart-rate-zones-in-garmin-connect-web/2005992"](at least as long as all the data refers to the same activity)[/quote]
&lt;p&gt;It&amp;#39;s not all from the same activity. 4.3 z avg and 5.1 z max is one activity.&lt;/p&gt;
&lt;p&gt;The other data with time in zones, 3.3 z avg and 4.9 z max is another activity.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Heart rate zones in Garmin Connect Web</title><link>https://forums.garmin.com/thread/2006013?ContentTypeID=1</link><pubDate>Mon, 26 Jan 2026 13:09:27 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:aa5d67fb-f488-4935-b475-f125666307e3</guid><dc:creator>runny</dc:creator><description>&lt;p&gt;&lt;a id="" href="https://connect.garmin.com/app/activity/21628273862"&gt;https://connect.garmin.com/app/activity/21628273862&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Heart rate zones in Garmin Connect Web</title><link>https://forums.garmin.com/thread/2006012?ContentTypeID=1</link><pubDate>Mon, 26 Jan 2026 13:08:11 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:6f603c0f-b796-4a54-83b1-4364ef2ed393</guid><dc:creator>flowstate</dc:creator><description>[quote userid="1533666" url="~/apps-software/mobile-apps-web/f/garmin-connect-web/430130/heart-rate-zones-in-garmin-connect-web"]I can see 3,3 z ave HR, 4,9 z max HR.&amp;nbsp;How these values are calculated?&amp;nbsp;&amp;nbsp;[/quote]
&lt;p&gt;Those are &amp;quot;fractional zone&amp;quot; numbers and they&amp;#39;re basically just a different way of representing the corresponding average and max values in BPM. The whole number part&amp;nbsp;tells you which zone you&amp;#39;re in and the fractional part tells you &amp;quot;how far into the zone&amp;quot; you are.&lt;/p&gt;
&lt;p&gt;They don&amp;#39;t relate &lt;strong&gt;directly&lt;/strong&gt; to the time in zone numbers, any more than the&amp;nbsp;average and max bpm values do. Ofc there&amp;#39;s some relationship, but you can&amp;#39;t calculate time in zone from the average/max values or vice versa.&lt;/p&gt;
&lt;p&gt;For example, 4.5 z would mean that you&amp;#39;re right in the middle of zone 4 (4.5 = 4 + 0.5 = &amp;quot;50% into zone 4&amp;quot;) or halfway between zone 4 (min) and zone 5 (min).&lt;/p&gt;
&lt;p&gt;- 3.3 z basically means &amp;quot;30% into zone 3&amp;quot; or &amp;quot;zone 3&amp;nbsp;min + 30% of (zone 3 max&amp;nbsp;- zone 3 min)&amp;quot;&lt;/p&gt;
&lt;p&gt;- 4.9 z means &amp;quot;zone 4 min + 90% of (zone 4 max - zone 4 min)&amp;quot;.&lt;/p&gt;
&lt;p&gt;- 5.1 z means &amp;quot;zone 5 min + 10% of (max hr - zone 5 min)&amp;quot;&lt;/p&gt;
&lt;p&gt;I&amp;#39;ll give you an example using some fake zones:&lt;/p&gt;
&lt;p&gt;Z1: 120-135&lt;/p&gt;
&lt;p&gt;Z2: 135-150&lt;/p&gt;
&lt;p&gt;Z3: 150-165&lt;/p&gt;
&lt;p&gt;Z4: 165-180&lt;/p&gt;
&lt;p&gt;Z5: 180-195 (max HR)&lt;/p&gt;
&lt;p&gt;Note that the max BPM for a given zone purposely overlaps with the min BPM for the next zone, even though the time in zones chart shows zones as non-overlapping (more on this later in the thread). When the zones are defined this way, the math described above works out, as Zone 4 min + 100% of Zone 4 will be the same as Zone 5 min + 0% of Zone 5 (for example).&lt;/p&gt;
&lt;p&gt;In this example, 4.3z would be:&lt;/p&gt;
&lt;p&gt;Z4min + 0.3 * (Z4max - Z4min)&lt;br /&gt;= 165 + 0.3 * (180-165) = 169.5&lt;/p&gt;
&lt;p&gt;You can verify this by switching to the BPM&amp;nbsp;tab and checking those numbers against your fractional zone numbers and zone ranges.&lt;/p&gt;
&lt;p&gt;EDIT: one could say that this system of fractional zones doesn&amp;#39;t&amp;nbsp;really make sense from a mathematical POV, since zones aren&amp;#39;t necessarily of uniform width (especially zone 0, which will almost certainly be &amp;quot;wider&amp;quot; than all the other zones). But I guess it makes sense as long as you don&amp;#39;t expect the &amp;quot;.5&amp;quot; in both 3.5 z and 4.5 z to have the same meaning in terms of absolute BPM.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Heart rate zones in Garmin Connect Web</title><link>https://forums.garmin.com/thread/2005998?ContentTypeID=1</link><pubDate>Mon, 26 Jan 2026 12:03:31 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:69aae6aa-b3d9-451c-bf80-8ba4b6f6ff54</guid><dc:creator>trux</dc:creator><description>[quote userid="1533666" url="~/apps-software/mobile-apps-web/f/garmin-connect-web/430130/heart-rate-zones-in-garmin-connect-web/2005993"]Otherwise how can I post a link to the activity?[/quote]
&lt;p&gt;Open the activity in &lt;strong&gt;&lt;a href="https://connect.garmin.com/"&gt;Garmin Connect Web&lt;/a&gt;&lt;/strong&gt;, make&amp;nbsp;it visible to Everyone (see the padlock icon in the top right corner of the page), and post here the URL from the address line of the browser.&amp;nbsp;You can also use the function Share as Weblink, on the phone app.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Heart rate zones in Garmin Connect Web</title><link>https://forums.garmin.com/thread/2005993?ContentTypeID=1</link><pubDate>Mon, 26 Jan 2026 11:54:50 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:137c0935-9314-4caf-9402-71fd449875d5</guid><dc:creator>runny</dc:creator><description>&lt;p&gt;Sorry you mean the .tif file?&lt;/p&gt;
&lt;p&gt;Otherwise how can I post a link to the activity?&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Heart rate zones in Garmin Connect Web</title><link>https://forums.garmin.com/thread/2005992?ContentTypeID=1</link><pubDate>Mon, 26 Jan 2026 11:41:01 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:856b5f06-b740-42d5-8c4c-5832651ed196</guid><dc:creator>trux</dc:creator><description>&lt;p&gt;Looks indeed strange when just seeing the data you posted (at least as long as all the data refers to the same activity), but difficult to make any definitive conclusion without seeing the full data. Could you post a link to the activity?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>