{"id":66385,"date":"2026-10-05T15:55:01","date_gmt":"2026-10-05T12:55:01","guid":{"rendered":"https:\/\/wpcalc.com\/en\/?p=66385"},"modified":"2026-10-05T15:55:01","modified_gmt":"2026-10-05T12:55:01","slug":"grade-adjusted-pace-calculator","status":"publish","type":"post","link":"https:\/\/wpcalc.com\/en\/beauty\/grade-adjusted-pace-calculator\/","title":{"rendered":"Grade-Adjusted Pace Calculator"},"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\">Find Your Flat-Ground Equivalent Pace for a Hill<\/h2><\/div><div class=\"calcdash-favorite group\">\n  <button type=\"button\" class=\"favorite\" id=\"favorite\" data-favorite-id=\"66385\" data-favorite-title=\"Grade-Adjusted Pace\" data-favorite-url=\"https:\/\/wpcalc.com\/en\/beauty\/grade-adjusted-pace-calculator\/\" data-favorite-excerpt=\"Enter your pace on a hill and the slope&#039;s grade to find your grade-adjusted pace (GAP) \u2014 the flat-ground pace that equals the same effort, based on the Minetti energy-cost model.\" 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\/grade-adjusted-pace-calculator\/\" method=\"POST\" class=\"calculator\" id=\"calculator-66385\" data-post=\"66385\"><fieldset class=\"fieldset-input is-2\"><legend class=\"sr-only\">Input Fields<\/legend><div class=\"field has-term\" id=\"input-1\"><label for=\"field-1\">Pace \u2014 minutes<\/label><div class=\"term\">min<\/div>  <div class=\"absolute bottom-0 left-16 top-8 w-2 h-0.5 bg-blue-500\"><\/div><input type=\"text\" name=\"pace_minutes\" id=\"field-1\" aria-describedby=\"calc-unit-1 calc-info-1\" data-number inputmode=\"decimal\" autocomplete=\"off\" spellcheck=\"false\" min=\"1\" max=\"59\" value=\"6\"\/><div class=\"unit\" id=\"calc-unit-1\">min<\/div><small id=\"calc-info-1\">Your actual pace on the hill, from a GPS watch or race split<\/small><\/div><div class=\"field has-term\" id=\"input-2\"><label for=\"field-2\">Pace \u2014 seconds<\/label><div class=\"term\">s<\/div>  <div class=\"absolute bottom-0 left-16 top-8 w-2 h-0.5 bg-blue-500\"><\/div><input type=\"text\" name=\"pace_seconds\" id=\"field-2\" aria-describedby=\"calc-unit-2\" data-number inputmode=\"decimal\" autocomplete=\"off\" spellcheck=\"false\" min=\"0\" max=\"59\" value=\"0\"\/><div class=\"unit\" id=\"calc-unit-2\">s<\/div><\/div><div class=\"field has-term\" id=\"input-3\"><label for=\"field-3\">Grade<\/label><div class=\"term\">i<\/div>  <div class=\"absolute bottom-0 left-16 top-8 w-2 h-0.5 bg-blue-500\"><\/div><input type=\"number\" name=\"grade\" id=\"field-3\" aria-describedby=\"calc-unit-3 calc-info-3\" min=\"-45\" max=\"45\" step=\"0.5\" value=\"5\"\/><div class=\"unit\" id=\"calc-unit-3\">%<\/div><small id=\"calc-info-3\">Slope steepness: positive for uphill, negative for downhill (e.g. \u22125 for a 5% descent)<\/small><\/div><div class=\"field\" id=\"input-4\"><label for=\"field-4\">Pace is per<\/label><div class=\"grid grid-cols-1\"><select id=\"field-4\" name=\"pace_is_per\"><option value=\"km\" selected>kilometer (min\/km)<\/option><option value=\"mi\">mile (min\/mi)<\/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><\/fieldset><div class=\"buttons\"><button type=\"submit\" data-text=\"Re-Calculate\" id=\"calculate-button\" data-post=\"66385\">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 Grade-Adjusted Pace<\/h3><div class=\"result-box\"><div class=\"field-result is-column\" id=\"output-1\"><span class=\"field-title\"><span>Equivalent flat pace<\/span><span class=\"result-term\">GAP<\/span><\/span><span class=\"field-value\" id=\"result-1\"><\/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 class=\"field-result\" id=\"output-2\"><span class=\"field-title\"><span>Relative effort factor<\/span><span class=\"result-term\">k<\/span><\/span><span class=\"field-value\" id=\"result-2\" data-unit=\"\u00d7\"><\/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 class=\"field-result is-column\" id=\"output-3\"><span class=\"field-title\"><span>Pace difference vs. flat<\/span><span class=\"result-term\">\u0394<\/span><\/span><span class=\"field-value\" id=\"result-3\"><\/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 class=\"field-result is-column\" id=\"output-4\"><span class=\"field-title\"><span>How this was calculated<\/span><\/span><span class=\"field-value\" id=\"result-4\"><\/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=\"66385\" 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\">0<\/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>Formula of the Grade-Adjusted Pace Calculator<\/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\\[ C(i) = 155.4i^5 - 30.4i^4 - 43.3i^3 + 46.3i^2 + 19.5i + 3.6 \\]\n\\[ k = \\frac{C(0)}{C(i)} = \\frac{3.6}{C(i)} \\]\n\\[ \\text{GAP} = \\frac{\\text{Pace}}{k} = \\text{Pace} \\times \\frac{C(i)}{3.6} \\]\n<\/div>\r\n\t<\/figure>\r\n\t<\/p>\n<p><strong>Where:<\/strong><\/p>\n<ul>\n<li>\\(i\\) \u2014 incline as a fraction (a 5% grade is \\(i = 0.05\\); downhill grades are negative)<\/li>\n<li>\\(C(i)\\) \u2014 energy cost of running at that grade, in J\u00b7kg\u207b\u00b9\u00b7m\u207b\u00b9, from Minetti et al. (2002)<\/li>\n<li>\\(C(0) = 3.6\\) \u2014 energy cost of running on flat ground<\/li>\n<li>\\(k\\) \u2014 relative effort factor (how the slope's cost compares with flat running)<\/li>\n<li>\\(\\text{Pace}\\) \u2014 your actual pace on the slope, in minutes per km or mile<\/li>\n<li>\\(\\text{GAP}\\) \u2014 grade-adjusted pace: the equivalent flat-ground pace<\/li>\n<\/ul>\n<p>The formula says that a runner's metabolic cost per meter depends strongly on the slope. Dividing your actual pace by the effort factor converts a hilly effort into the pace you would have needed on flat ground to work just as hard.<\/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>Grade-Adjusted Pace \u2013 Calculation Example<\/h2><\/div>\r\n\r\n<\/p>\n<p><strong>Example:<\/strong> you run a steady 5% uphill at 6:00 min\/km and want to know what that effort is worth on the flat.<\/p>\n<p>\\[ i = 0.05 \\]<\/p>\n<p>\\[ C(0.05) = 155.4(0.05)^5 - 30.4(0.05)^4 - 43.3(0.05)^3 + 46.3(0.05)^2 + 19.5(0.05) + 3.6 \\approx 4.685 \\,\\text{J\\cdot kg}^{-1}\\text{m}^{-1} \\]<\/p>\n<p>\\[ k = \\frac{3.6}{4.685} \\approx 0.768 \\]<\/p>\n<p>\\[ \\text{GAP} = \\frac{6.00}{0.768} \\approx 7.81 \\,\\text{min\/km} \\]<\/p>\n<p><strong>Result:<\/strong> a grade-adjusted pace of about 7:49 min\/km (12:34 min\/mi). Running 6:00 min\/km up a 5% hill costs roughly the same effort as running 7:49 min\/km on flat ground \u2014 the hill adds about 109 seconds per km of effort.<\/p>\n<p>\n\r\n<\/section>\n<h2>How to Use the Calculator<\/h2>\n<ol>\n<li>Enter <strong>Pace \u2014 minutes<\/strong> and <strong>Pace \u2014 seconds<\/strong>: your actual pace on the slope, taken from a GPS watch or a race split.<\/li>\n<li>Enter the <strong>Grade<\/strong> in percent. Use a positive value for uphill (e.g. 5) and a negative value for downhill (e.g. \u22125).<\/li>\n<li>Choose whether your <strong>Pace is per<\/strong> kilometer (min\/km) or mile (min\/mi).<\/li>\n<li>Read the results: the <strong>equivalent flat pace<\/strong> in your chosen unit (with the other unit shown in parentheses), the <strong>relative effort factor<\/strong>, and the <strong>pace difference vs. flat<\/strong> in seconds per km or mile.<\/li>\n<\/ol>\n<h2>What Is Grade-Adjusted Pace?<\/h2>\n<p>Grade-adjusted pace (GAP) answers a simple question: when you run uphill or downhill, what flat-ground pace matches the effort you just put in? GPS pace alone is misleading on hills \u2014 a 6:00 min\/km uphill can be far harder than a 6:00 min\/km on the track, while the same pace downhill may feel almost effortless. GAP levels the playing field so you can compare efforts across different terrain.<\/p>\n<p>The calculator uses the classic energy-cost model of Minetti et al. (2002), who measured how much energy runners expend per meter at slopes from \u221245% to +45%. Uphill running becomes progressively more expensive: at a 5% grade the cost rises about 30%, and at 10% it is roughly 60% higher than on the flat. Downhill running is cheaper up to about \u221210%, which is why gentle descents feel fast and easy. On very steep descents the cost rises again, because your legs must brake to control speed.<\/p>\n<p>The relative effort factor \\(k\\) tells you how the slope's cost compares with flat running. A factor of 0.768 (as in the example above) means each kilometer on that hill costs you 1\/0.768 \u2248 1.30 times \u2014 about 30% more \u2014 than a flat kilometer. A factor above 1 means the slope actually reduces effort. Dividing your pace by this factor gives the flat-ground pace with the same metabolic cost.<\/p>\n<p>Coaches and runners use GAP to judge training intensity on hilly routes, to compare hilly and flat race performances, and to set realistic pace targets. For example, if a marathon course has long climbs, your flat-run goal pace is not the pace your watch should show on the hills \u2014 the GAP-equivalent pace is.<\/p>\n<h2>Assumptions, Limitations and Practical Tips<\/h2>\n<ul>\n<li><strong>Valid grade range:<\/strong> the model is fitted for grades from \u221245% to +45% and the calculator rejects values outside that range. Even within it, very steep downhills (below about \u221220%) are rough estimates, since braking and quadriceps fatigue slow real runners more than the energy model predicts.<\/li>\n<li><strong>Steady-state assumption:<\/strong> the model assumes a constant grade and a constant pace over the stretch you are analyzing. For rolling terrain, calculate GAP separately for each consistent segment, or use an average grade only if the terrain is fairly uniform.<\/li>\n<li><strong>Individual variation:<\/strong> Minetti's data describe an average runner. Strong hill runners and efficient downhill runners deviate from the model, so treat the result as an estimate, not a precise measurement.<\/li>\n<li><strong>Extreme grades near \u221215%:<\/strong> this is where the energy cost is at its minimum; the calculator will show a notably faster GAP, which is realistic for a short stretch but not sustainable over long descents.<\/li>\n<li><strong>Complementary tools:<\/strong> to round out your effort tracking, check your <a href=\"https:\/\/wpcalc.com\/en\/beauty\/heart-rate-recovery-calculator\/\">heart rate recovery<\/a>, track your running <a href=\"https:\/\/wpcalc.com\/en\/beauty\/strength-training-volume-calculator\/\">training volume<\/a>, or estimate cardio fitness with the <a href=\"https:\/\/wpcalc.com\/en\/beauty\/rockport-walk-test-calculator\/\">Rockport walk test<\/a>. Cyclists chasing the same idea on climbs may like the <a href=\"https:\/\/wpcalc.com\/en\/beauty\/cycling-ftp-power-zones-calculator\/\">cycling power zones calculator<\/a>.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Enter your pace on a hill and the slope's grade to find your grade-adjusted pace (GAP) \u2014 the flat-ground pace that equals the same effort, based on the Minetti energy-cost model.<\/p>\n","protected":false},"author":3168,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2],"tags":[38],"class_list":["post-66385","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\/66385","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=66385"}],"version-history":[{"count":1,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/66385\/revisions"}],"predecessor-version":[{"id":66394,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/66385\/revisions\/66394"}],"wp:attachment":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/media?parent=66385"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/categories?post=66385"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/tags?post=66385"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}