---
title: "How to Calculate Feed Rate for G01 (Beginner Guide)"
description: "The F value on a G01 line is feed rate, and you calculate it from spindle speed, feed per tooth, and the number of flutes. Here is the formula with a worked example."
url: https://gcodepractice.com/journal/how-to-calculate-feed-rate-for-g01/
canonical: https://gcodepractice.com/journal/how-to-calculate-feed-rate-for-g01/
author: "Lawrence Arya"
authorUrl: https://www.linkedin.com/in/vibecoding/
published: 2026-06-04
updated: 2026-06-04
category: "Guides"
tags: ["g01", "feed-rate", "speeds-and-feeds", "beginner"]
lang: en
---

# How to Calculate Feed Rate for G01 (Beginner Guide)

> **TL;DR** On a G01 line, the F word sets the feed rate. For milling, calculate it as feed rate = spindle RPM times feed per tooth times the number of flutes. The RPM itself comes from the cutting speed for the material and the tool diameter. Units follow your G20 or G21 setting, so an F value is inches per minute or millimeters per minute.

A `G01` line moves in a straight line at a feed rate you set with the `F` word, the way [G00 vs G01](/journal/g00-vs-g01/) explains. The question beginners get stuck on is where the `F` number comes from. It is not a guess: it is a short calculation from spindle speed, the cutter's chip load, and how many flutes it has.

## The feed rate formula

For milling, the feed rate is built from three numbers:

```
feed rate = RPM  x  feed per tooth  x  number of flutes
```

That is the standard [speeds and feeds](https://en.wikipedia.org/wiki/Speeds_and_feeds) relationship. Each piece has a clear meaning:

| Term | What it is | Where it comes from |
| --- | --- | --- |
| RPM | Spindle speed | Calculated from cutting speed and tool diameter |
| Feed per tooth | Chip load each edge takes | Tooling chart for the material |
| Number of flutes | Cutting edges on the tool | The tool itself (2, 3, 4, ...) |
| Feed rate (`F`) | Result, in/min or mm/min | The number you put on the `G01` line |

## First find the RPM

The spindle speed comes from the material's recommended **cutting speed** and the tool diameter:

```
RPM = (1000 x cutting speed) / (pi x diameter)     [metric]
```

Here cutting speed is in meters per minute and diameter is in millimeters. The [feed and speed calculation references](https://www.helmancnc.com/cnc-feed-rate-and-spindle-speed-calculation/) give the same formula in imperial form using surface feet per minute.

## A worked example

Say you are milling aluminum with a 10 mm four-flute end mill, a cutting speed of 200 m/min, and a feed per tooth of 0.05 mm:

| Step | Calculation | Result |
| --- | --- | --- |
| RPM | (1000 x 200) / (3.14 x 10) | about 6366 RPM |
| Feed rate | 6366 x 0.05 x 4 | about 1273 mm/min |

So the spindle line is `S6366 M03` and the cut is `G01 X50. F1273`. The `F` is not magic; it falls straight out of the numbers. The `S` value pairs with the spindle codes in [M03, M04, and M05](/journal/m03-m04-m05/).

## Units and feed mode

The `F` value means different things depending on two modal settings. The unit follows [G20 vs G21](/journal/g20-vs-g21-inch-vs-metric/): inches per minute or millimeters per minute. The feed *mode* is usually `G94` (feed per minute) on a mill, but a lathe often uses `G95` (feed per revolution), which changes `F` entirely. The `F` word itself is modal, so it carries to the next feed line until you change it, as noted in the [LinuxCNC F-word reference](https://linuxcnc.org/docs/html/gcode/g-code.html).

## Typical feed per tooth values

The chip load you plug in depends mostly on the material and the tool. These are rough starting points for a small end mill; always check the tool maker's chart for the exact tool and depth of cut:

| Material | Feed per tooth (mm) |
| --- | --- |
| Aluminum | 0.05 to 0.20 |
| Mild steel | 0.03 to 0.10 |
| Stainless steel | 0.02 to 0.08 |
| Hard plastics | 0.05 to 0.25 |

Notice the harder the material, the lower the feed per tooth, which is why the same RPM gives a slower `F` in steel than in aluminum. The same arithmetic scales to extremes: the eye-watering F values on [high-speed machines like Datron mills](/journal/datron-cnc-high-speed-machining-g-code-list/) are ordinary chip-load math at very high RPM. Depth of cut and stepover also matter: a heavier cut usually means backing the feed down from these numbers.

## Why the number matters

A feed rate that is too high overloads the cutter and a feed that is too low rubs instead of cuts, both of which shorten tool life or break the tool. That is the link between this calculation and [why end mills break on G01](/journal/why-did-my-endmill-break-on-g01/). Getting the `F` right the first time is one of the things a practice routine on the [G-code practice hub](/g-code-practice/) helps you internalize.

## Bottom line

The `F` on a `G01` line is feed rate, calculated as RPM times feed per tooth times the number of flutes. Find the RPM from the cutting speed and tool diameter first, then multiply through. Watch the unit (`G20`/`G21`) and feed mode (`G94`/`G95`), because they change what the `F` number means.

## Sources

- [Wikipedia: Speeds and feeds](https://en.wikipedia.org/wiki/Speeds_and_feeds)
- [HelmanCNC: feed rate and spindle speed calculation](https://www.helmancnc.com/cnc-feed-rate-and-spindle-speed-calculation/)
- [LinuxCNC G-code reference (G1, F word)](https://linuxcnc.org/docs/html/gcode/g-code.html)

## Frequently asked questions

### How do you calculate feed rate for G01?
For milling, feed rate equals spindle RPM times feed per tooth times the number of flutes. Find the RPM from the material's cutting speed and the tool diameter, then multiply by the chip load and the flute count to get the `F` value.

### What units is the F value in?
It uses the active unit and feed mode: millimeters per minute under `G21` or inches per minute under `G20`, as long as `G94` is active. A lathe with `G95` uses feed per revolution.

### Does feed rate carry over to the next line?
Yes. `F` is modal, so once set it stays active for following feed moves, including `G02` and `G03` arcs, until you change it.

### What is the best way to learn G-code feed and speed codes?
Drill them with active recall. A free app like G-Code Sprint quizzes the `F`, `S`, and motion codes as quick timed questions and repeats whichever ones you miss.

*G-Code Sprint is a study and practice tool only. Always follow your instructor, employer, machine manual, and shop safety procedures.*

---

Source: https://gcodepractice.com/journal/how-to-calculate-feed-rate-for-g01/
Author: Lawrence Arya — https://www.linkedin.com/in/vibecoding/
