{"id":64762,"date":"2025-05-30T09:00:40","date_gmt":"2025-05-30T06:00:40","guid":{"rendered":"https:\/\/wpcalc.com\/en\/?p=64762"},"modified":"2026-10-26T09:22:44","modified_gmt":"2026-10-26T06:22:44","slug":"vo2max-direct-formula-calculator","status":"publish","type":"post","link":"https:\/\/wpcalc.com\/en\/beauty\/vo2max-direct-formula-calculator\/","title":{"rendered":"VO2 Max Calculator \u2013 Heart Rate and Cooper Test"},"content":{"rendered":"<section class=\"not-prose calculator-box\" aria-labelledby=\"calculator-title\"><div class=\"flex items-baseline sm:items-center justify-between gap-2 sm:gap-3\"><div class=\"flex flex-col sm:flex-row sm:items-center gap-2\"><span class=\"icon icon-calculator text-primary-700! text-base! dark:text-primary-300!\" aria-hidden=\"true\"><\/span><h2 id=\"calculator-title\" class=\"text-lg font-display font-bold\">VO\u2082Max Estimator by Cooper or Heart Rate Method<\/h2><\/div><div class=\"calcdash-favorite group\">\n  <button type=\"button\" class=\"favorite\" id=\"favorite\" data-favorite-id=\"64762\" data-favorite-title=\"VO\u2082Max (Direct Formula)\" data-favorite-url=\"https:\/\/wpcalc.com\/en\/beauty\/vo2max-direct-formula-calculator\/\" data-favorite-excerpt=\"Estimate VO\u2082 max from resting and maximal heart rates or your distance in a 12-minute run. Select a method and enter the measurements it requires.\" aria-label=\"Add to Favorites\" data-favorite-icon=\"icon icon-fitness\">\n    <span class=\"icon icon-shape-star-empty\" aria-hidden=\"true\"><\/span>\n  <\/button>\n  <div class=\"calcdash-favorite__tip\" aria-hidden=\"true\">\n   <span class=\"favorite-tooltip\" id=\"favorite-tooltip\"><\/span>\n  <\/div>\n  <span class=\"sr-only\" role=\"status\" id=\"favorite-status\"><\/span>\n<\/div><\/div><form action=\"https:\/\/wpcalc.com\/en\/beauty\/vo2max-direct-formula-calculator\/\" method=\"POST\" class=\"calculator\" id=\"calculator-64762\" data-post=\"64762\"><fieldset class=\"fieldset-input\"><legend class=\"sr-only\">Input Fields<\/legend><div class=\"field is-single\" id=\"input-1\"><label for=\"field-1\">Method<\/label><div class=\"grid grid-cols-1\"><select id=\"field-1\" name=\"method\"><option value=\"uth\">Uth-S\u00f8rensen (by heart rate)<\/option><option value=\"cooper\">Cooper Test (12-minute run)<\/option><\/select><svg class=\"pointer-events-none col-start-1 row-start-1 mr-2 size-5 self-center justify-self-end text-gray-500 sm:size-4\" viewBox=\"0 0 16 16\" fill=\"currentColor\" aria-hidden=\"true\" data-slot=\"icon\">\n              <path fill-rule=\"evenodd\" d=\"M4.22 6.22a.75.75 0 0 1 1.06 0L8 8.94l2.72-2.72a.75.75 0 1 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0L4.22 7.28a.75.75 0 0 1 0-1.06Z\" clip-rule=\"evenodd\" \/>\n            <\/svg><\/div><\/div><div class=\"field\" id=\"input-2\"><label for=\"field-2\">Resting heart rate<\/label><input type=\"text\" name=\"resting_heart_rate\" id=\"field-2\" aria-describedby=\"calc-unit-2 calc-info-2\" data-number inputmode=\"decimal\" autocomplete=\"off\" spellcheck=\"false\" min=\"30\" value=\"60\"\/><div class=\"unit\" id=\"calc-unit-2\">bpm<\/div><small id=\"calc-info-2\">Your resting heart rate (only for Uth method)<\/small><\/div><div class=\"field\" id=\"input-3\"><label for=\"field-3\">Maximal heart rate<\/label><input type=\"text\" name=\"maximal_heart_rate\" id=\"field-3\" aria-describedby=\"calc-unit-3 calc-info-3\" data-number inputmode=\"decimal\" autocomplete=\"off\" spellcheck=\"false\" min=\"100\" value=\"190\"\/><div class=\"unit\" id=\"calc-unit-3\">bpm<\/div><small id=\"calc-info-3\">Your maximum heart rate (only for Uth method)<\/small><\/div><div class=\"field is-single\" id=\"input-4\" hidden><label for=\"field-4\">Distance in 12 minutes<\/label><input type=\"text\" name=\"distance_in_12_minutes\" id=\"field-4\" aria-describedby=\"calc-unit-4 calc-info-4\" data-number inputmode=\"decimal\" autocomplete=\"off\" spellcheck=\"false\" min=\"500\" value=\"2400\"\/><div class=\"unit\" id=\"calc-unit-4\">m<\/div><small id=\"calc-info-4\">Distance covered in 12 minutes (only for Cooper method)<\/small><\/div><\/fieldset><div class=\"buttons\"><button type=\"submit\" data-text=\"Re-Calculate\" id=\"calculate-button\" data-post=\"64762\">Calculate<\/button><button type=\"reset\">Reset<\/button><\/div><div class=\"field is-checkbox hidden!\" id=\"field-auto-calc\"><input type=\"checkbox\" id=\"auto-calc\"><label for=\"auto-calc\">Calculate automatically<\/label><small>If enabled, the result will update automatically when you change any value.<\/small><\/div><div class=\"fieldset-result is-hidden\" aria-labelledby=\"result-title\" aria-live=\"polite\" role=\"region\"> <h3 class=\"result-title bg-gradient-to-r from-primary-50 to-gray-50 dark:from-primary-900 dark:to-gray-800\" id=\"result-title\"><span class=\"icon icon-s-pulse\" aria-hidden=\"true\"><\/span> Your Results<\/h3><div class=\"result-box\"><div class=\"field-result\" id=\"output-1\"><span class=\"field-title\"><span>VO\u2082 Max<\/span><\/span><span class=\"field-value\" id=\"result-1\" data-unit=\"ml\/kg\/min\"><\/span><button type=\"button\" class=\"copy-result\" data-tooltip=\"Copy Result\" aria-label=\"Copy Result\"><span class=\"copy-icon icon icon-document-copy\" aria-hidden=\"true\"><\/span><\/button><\/div><\/div><div class=\"result-actions\"><button type=\"button\" class=\"copy-link\"><svg viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M12.232 4.232a2.5 2.5 0 0 1 3.536 3.536l-1.225 1.224a.75.75 0 0 0 1.061 1.06l1.224-1.224a4 4 0 0 0-5.656-5.656l-3 3a4 4 0 0 0 .225 5.865.75.75 0 0 0 .977-1.138 2.5 2.5 0 0 1-.142-3.667l3-3Z\"\/><path d=\"M11.603 7.963a.75.75 0 0 0-.977 1.138 2.5 2.5 0 0 1 .142 3.667l-3 3a2.5 2.5 0 0 1-3.536-3.536l1.225-1.224a.75.75 0 0 0-1.061-1.06l-1.224 1.224a4 4 0 1 0 5.656 5.656l3-3a4 4 0 0 0-.225-5.865Z\"\/><\/svg><span class=\"copy-link__text\">Copy link to this calculation<\/span><\/button><span class=\"sr-only\" role=\"status\" id=\"copy-link-status\"><\/span><\/div><\/div><a href=\"#respond\" class=\"hidden transition-opacity duration-300 opacity-0 w-50 text-sm justify-center items-center gap-2 px-4 py-2 rounded bg-gray-200 text-gray-700 hover:bg-gray-300\" id=\"leave-comment\"><span class=\"icon icon-comments\" aria-hidden=\"true\"><\/span>Leave a Comment<\/a><\/form><\/section><section id=\"calc-reactions\" class=\"not-prose hidden my-12 bg-gradient-to-r from-primary-50 to-gray-50 border border-indigo-100 rounded-xl px-6 py-4 shadow-sm\" data-post=\"64762\" aria-live=\"polite\" aria-labelledby=\"calc-reactions-title\"><p id=\"calc-reactions-title\" class=\"text-sm text-gray-500 text-center mb-2\">How did this result make you feel?<\/p><div role=\"group\" aria-labelledby=\"calc-reactions-title\" class=\"grid grid-cols-3 sm:flex sm:flex-row sm:justify-around gap-4 sm:items-center sm:flex-wrap\"><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"like\"><span class=\"reaction-count\" data-reaction-count=\"like\">1<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\ude00 <\/span><span class=\"reaction-description font-medium\">Like <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"helpful\"><span class=\"reaction-count\" data-reaction-count=\"helpful\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\udca1 <\/span><span class=\"reaction-description font-medium\">Helpful <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"confused\"><span class=\"reaction-count\" data-reaction-count=\"confused\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\ude15 <\/span><span class=\"reaction-description font-medium\">Confused <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"disappointed\"><span class=\"reaction-count\" data-reaction-count=\"disappointed\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\ude1e <\/span><span class=\"reaction-description font-medium\">Disappointed <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"inaccurate\"><span class=\"reaction-count\" data-reaction-count=\"inaccurate\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\u274c <\/span><span class=\"reaction-description font-medium\">Inaccurate <\/span><\/button><\/div><div id=\"reaction-message\" class=\"hidden mt-8 rounded-md border border-primary-100 bg-white\/50 backdrop-blur-sm px-4 py-2 text-sm text-center shadow-sm\"><\/div><\/section><div class=\"calcdash-ad not-prose calcdash-ad--calc_result calcdash-ad--in-article\"><ins class=\"adsbygoogle\" style=\"display:block\" data-ad-client=\"ca-pub-1721569815777345\" data-ad-slot=\"6317458308\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\"><\/ins><script>(adsbygoogle = window.adsbygoogle || []).push({});<\/script><\/div>\n<style id=\"wpcoderpro-inline-1\">.formula-box {\r\n\tborder-bottom: none !important;\r\n}<\/style><section class=\"formula-box\" aria-labelledby=\"formula-title\">\r\n\t<div id=\"formula-title\" class=\"not-prose font-display mb-4\"><span class=\"icon icon-formula\" aria-hidden=\"true\"><\/span><h2>VO\u2082 Max Formula<\/h2><\/div>\r\n\t<figure class=\"not-prose formula\">\r\n\t\t<figcaption class=\"formula-title\">Formula<\/figcaption>\r\n\t\t<div class=\"text-base text-gray-800\" id=\"formula\">\n\\[\n\\begin{aligned}\n\\text{Uth\u2013S\u00f8rensen:}\\quad \\mathrm{VO}_{2\\max} &amp;= 15.3\\times\\frac{HR_{\\max}}{HR_{\\mathrm{rest}}}\\\\\n\\text{Cooper test:}\\quad \\mathrm{VO}_{2\\max} &amp;= \\frac{d-504.9}{44.73}\n\\end{aligned}\n\\]\n<\/div>\r\n\t<\/figure>\r\n\t<\/p>\n<p><strong>Where:<\/strong><\/p>\n<ul>\n<li>\\(\\mathrm{VO}_{2\\max}\\) \u2014 estimated maximal oxygen uptake (ml\/kg\/min)<\/li>\n<li>\\(HR_{\\max}\\) \u2014 maximal heart rate (bpm)<\/li>\n<li>\\(HR_{\\mathrm{rest}}\\) \u2014 resting heart rate (bpm)<\/li>\n<li>\\(d\\) \u2014 distance covered in 12 minutes (m)<\/li>\n<\/ul>\n<p>The selected formula converts either a heart-rate ratio or a 12-minute running distance into an estimate of VO\u2082 max. Neither method directly measures oxygen consumption.<\/p>\n<p>\r\n<\/section>\n<style id=\"wpcoderpro-inline-459\">.calculation-box {\r\n\tborder-bottom: none !important;\r\n}<\/style><section id=\"calculation\" class=\"calculation-box\" aria-labelledby=\"calculation-title\">\r\n\t<div id=\"calculation-title\" class=\"not-prose font-display\"><span class=\"icon icon-unordered-list\" aria-hidden=\"true\"><\/span><h2>VO\u2082 Max \u2013 Calculation Example<\/h2><\/div>\r\n\r\n<\/p>\n<p><strong>Example:<\/strong> With the default Uth\u2013S\u00f8rensen method, resting heart rate is 60 bpm and maximal heart rate is 190 bpm.<\/p>\n<p>\\[\\mathrm{VO}_{2\\max}=15.3\\times\\frac{190}{60}=48.45\\ \\text{ml\/kg\/min}\\]<\/p>\n<p><strong>Result:<\/strong> estimated VO\u2082 max is 48.45 ml\/kg\/min.<\/p>\n<p>\n\r\n<\/section>\n<h2>How to use the calculator<\/h2>\n<ol>\n<li>Choose <strong>Method<\/strong>: Uth-S\u00f8rensen (by heart rate) or Cooper Test (12-minute run).<\/li>\n<li>For Uth-S\u00f8rensen, enter <strong>Resting heart rate<\/strong> and <strong>Maximal heart rate<\/strong> in beats per minute. The distance field is not used.<\/li>\n<li>For Cooper Test, enter <strong>Distance in 12 minutes<\/strong> in meters. The heart-rate fields are not used.<\/li>\n<li>Read the <strong>VO\u2082 Max<\/strong> result in milliliters of oxygen per kilogram of body mass per minute (ml\/kg\/min). The result is rounded to two decimal places.<\/li>\n<\/ol>\n<h2>What your VO\u2082 max estimate means<\/h2>\n<p>VO\u2082 max describes the highest rate at which your body can take in and use oxygen during intense exercise. Expressing it relative to body mass makes it easier to compare aerobic capacity across people of different sizes. A higher value generally indicates greater capacity for sustained aerobic work, but it does not, by itself, predict a race result or describe overall health.<\/p>\n<p>Despite \u201cDirect Formula\u201d in the calculator name, both options are <em>estimates<\/em>, not direct tests of oxygen uptake. Direct measurement requires an exercise test with equipment that analyzes inhaled and exhaled gases. These formulas are useful when you want a quick estimate from measurements you already have, especially for tracking changes under similar testing conditions.<\/p>\n<p>The Uth\u2013S\u00f8rensen method uses the ratio of maximal to resting heart rate. If maximal heart rate stays the same, a lower resting heart rate produces a higher estimate. Resting pulse can also change with sleep, stress, illness, medication and hydration, so a single reading may not represent a lasting fitness change. For a consistent input, measure your pulse while genuinely at rest; the <a href=\"https:\/\/wpcalc.com\/en\/beauty\/resting-heart-rate-calculator\/\">Resting Heart Rate calculator<\/a> provides additional context.<\/p>\n<p>The Cooper method uses distance covered in a continuous 12-minute run. With the default distance of 2,400 m, it gives \\((2400-504.9)\/44.73=42.37\\) ml\/kg\/min. Running experience, pacing, weather and terrain can affect that estimate independently of aerobic capacity. For more on the run itself, see the <a href=\"https:\/\/wpcalc.com\/en\/beauty\/cooper-test-calculator\/\">Cooper Test calculator<\/a>.<\/p>\n<h2>Assumptions and practical limitations<\/h2>\n<ul>\n<li><strong>Use a suitable maximal heart rate.<\/strong> A value predicted from age may differ substantially from your actual maximum. If you use an estimate, treat the resulting VO\u2082 max as especially approximate. Maximal heart rate should be greater than resting heart rate.<\/li>\n<li><strong>Run the Cooper test only when appropriate.<\/strong> It is an all-out effort, not a comfortable 12-minute walk. Warm up, use a measured route and avoid maximal exertion if you have been advised against it or feel unwell.<\/li>\n<li><strong>Compare like with like.<\/strong> The two methods can give different answers for the same person, as the default inputs demonstrate. When tracking progress, keep the method and testing conditions consistent rather than interpreting a switch between formulas as a fitness change.<\/li>\n<li><strong>Interpret the number in context.<\/strong> This calculator does not adjust its result for age, sex, training background or medical conditions, and it does not provide a fitness category. VO\u2082 max is only one part of endurance performance; pacing and exercise economy matter too.<\/li>\n<\/ul>\n<p>If you are planning workouts rather than estimating aerobic capacity, the <a href=\"https:\/\/wpcalc.com\/en\/beauty\/heart-rate-zones-calculator\/\">Heart Rate Zones calculator<\/a> uses heart-rate inputs for a different purpose. A <a href=\"https:\/\/wpcalc.com\/en\/beauty\/beep-test\/\">beep test VO\u2082 max estimate<\/a> offers another field-test approach; its result should likewise be treated as an estimate, not a laboratory measurement.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Estimate VO\u2082 max from resting and maximal heart rates or your distance in a 12-minute run. Select a method and enter the measurements it requires.<\/p>\n","protected":false},"author":3168,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2],"tags":[38],"class_list":["post-64762","post","type-post","status-publish","format-standard","hentry","category-beauty","tag-fitness"],"acf":[],"_links":{"self":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/64762","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/users\/3168"}],"replies":[{"embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/comments?post=64762"}],"version-history":[{"count":7,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/64762\/revisions"}],"predecessor-version":[{"id":67526,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/64762\/revisions\/67526"}],"wp:attachment":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/media?parent=64762"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/categories?post=64762"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/tags?post=64762"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}