Marathon Fueling Plan Calculator

Build a marathon fueling plan in minutes. Calculate carbs per hour, total carbs, gels needed, and a simple timing schedule to avoid hitting the wall.

Use your target finish time to estimate how many gels you need and when to take them, with realistic 60-90g/hr carb targets.

How to build a marathon fueling plan

Enter your marathon finish time and preferences to get a gel count estimate and carb targets.

  1. Enter finish time: Use your realistic goal time or recent marathon result.
  2. Choose race type: Select Marathon to apply marathon-specific guidance.
  3. Generate the plan: Get carbs/hour, total carbs, and gels needed.

Frequently asked questions

How many carbs per hour for a marathon?

Most runners do well in the 60-90g/hour range, depending on gut training, intensity, and product tolerance.

When should I take my first gel?

Many runners start early (around 20-30 minutes) to stay ahead of energy needs, then follow a steady schedule.

Fueling reference

Race-day carb targets and gel counts by finish time (baseline, no body weight entered)
RaceFinish timeCarbs/hourTotal carbsCaloriesGels
Half marathon1:2045 g/hr60 g240 kcal2
Half marathon1:3545 g/hr71 g284 kcal3
Half marathon1:5045 g/hr83 g332 kcal3
Half marathon2:0545 g/hr94 g376 kcal4
Half marathon2:2045 g/hr105 g420 kcal4
Marathon2:5075 g/hr213 g852 kcal5
Marathon3:1575 g/hr244 g976 kcal5
Marathon3:4575 g/hr281 g1124 kcal6
Marathon4:1575 g/hr319 g1276 kcal7
Marathon4:4575 g/hr356 g1424 kcal7
Marathon5:1575 g/hr394 g1576 kcal7

Method and sources

The numbers on this page are computed with the same code as the TrainPace calculators, from these published methods. They are training guidance, not medical advice.

Other TrainPace tools

For AI agents

Every public page on this site has a Markdown mirror at the same path with a .md suffix (for example /calculator.md), and honors an Accept: text/markdown request header on the HTML URL. The calculations here are also available as callable tools through a free public MCP server — no account or API key.