DEV Community

Li Lu
Li Lu

Posted on

CNC Feed Rate Explained: Why F1000 Doesn't Always Mean the Same Thing

CNC Feed Rate Explained: Why F1000 Doesn't Always Mean the Same Thing

This article is part of my CNC & Manufacturing Engineering knowledge base — a growing collection of practical CNC machining guides, engineering tools, and programming resources.

Imagine you open a CNC program and see:

S5000 M03
G01 X100.0 F1000
Enter fullscreen mode Exit fullscreen mode

It seems easy to understand:

  • S5000 = 5,000 RPM
  • F1000 = 1,000 mm/min

So we know the machining parameters, right?

Not quite.

Now imagine another program:

S10000 M03
G01 X100.0 F1000
Enter fullscreen mode Exit fullscreen mode

The feed rate is still:

  • 1,000 mm/min

But is the cutting condition the same?

No.

Now let's make it even more interesting. What if the first tool has 2 cutting edges, while the second has 4?

Both programs still say:

F1000
Enter fullscreen mode Exit fullscreen mode

But what each cutting edge experiences can be completely different.

This is why understanding CNC feed rate requires more than simply reading the F value.

In this article, we will connect:

Cutting Speed → Spindle Speed → Feed per Tooth → Number of Teeth → Feed Rate

By the end, you should be able to look at an F value in a milling program and understand what is actually happening behind that number.

1. What Is Feed Rate?

Let's begin with the simplest definition.

Feed rate describes how fast the cutting tool moves relative to the workpiece along the programmed toolpath.

In metric milling applications, it is commonly expressed as:

mm/min

For example:

F500
Enter fullscreen mode Exit fullscreen mode

may represent a programmed feed of:

  • 500 mm/min

depending on the CNC control and active feed mode.

If the machine maintains that feed rate, the controlled point advances approximately 500 mm along the programmed path in one minute.

So far, simple.

But here is the important part:

Feed rate tells us how fast the machine is moving. It does not, by itself, tell us how heavily each cutting edge is being fed.

For that, we need feed per tooth.

2. The Pizza Cutter Example

Let's temporarily forget CNC machines.

Imagine a rotating wheel with one cutting edge. Every revolution, one edge passes through the material.

Now imagine another wheel with four equally spaced cutting edges.

During one revolution:

  • The first tool creates: 1 cutting event
  • The second tool can create: 4 cutting events

If both tools rotate at the same RPM and you want each cutting edge to receive the same amount of feed, should the machine move at the same feed rate?

No.

The four-edge tool has four cutting opportunities every revolution. So the machine must advance farther per minute to maintain the same feed per tooth.

That is the basic idea behind the feed-rate formula.

3. The Feed Rate Formula

For a typical milling calculation:

Vf = fz × z × n

Where:

Symbol Meaning Typical Unit
Vf Feed Rate mm/min
fz Feed per Tooth mm/tooth
z Number of effective cutting teeth teeth
n Spindle Speed RPM

The logic is easier than the formula looks. Think of it as:

Feed per Tooth × Teeth per Revolution × Revolutions per Minute = Feed per Minute

Or simply:

mm/tooth × teeth/rev × rev/min = mm/min

The units cancel naturally. That is one of the easiest ways to understand and remember the equation.

4. Our First Calculation

Suppose we have:

  • Spindle Speed = 3,000 RPM
  • Number of Teeth = 4
  • Feed per Tooth = 0.05 mm/tooth

Then:

Vf = 0.05 × 4 × 3000
Vf = 600 mm/min
Enter fullscreen mode Exit fullscreen mode

Our programmed feed rate is:

  • 600 mm/min

A simplified CNC command might therefore contain:

F600
Enter fullscreen mode Exit fullscreen mode

But now we understand what is hiding behind that number:

0.05 mm/tooth × 4 teeth × 3,000 RPM

That is much more useful than simply knowing:

F600 means the machine moves at 600 mm/min.

5. Why F1000 Doesn't Always Mean the Same Thing

Now let's return to the question from the beginning.

Consider two machining processes.

Process A

  • Feed Rate = 1,000 mm/min
  • Spindle Speed = 5,000 RPM
  • Number of Teeth = 4

Feed per tooth:

fz = 1000 / (4 × 5000)
fz = 0.05 mm/tooth
Enter fullscreen mode Exit fullscreen mode

Process B

  • Feed Rate = 1,000 mm/min
  • Spindle Speed = 10,000 RPM
  • Number of Teeth = 4

Feed per tooth:

fz = 1000 / (4 × 10000)
fz = 0.025 mm/tooth
Enter fullscreen mode Exit fullscreen mode

Both CNC programs contain:

F1000
Enter fullscreen mode Exit fullscreen mode

But Process B gives each tooth only half the programmed feed per tooth.

So:

Same feed rate does not mean same cutting condition.

This is one of the most important ideas for a CNC beginner to understand.

6. Now Change the Number of Teeth

Let's keep:

  • Feed Rate = 1,000 mm/min
  • Spindle Speed = 5,000 RPM

But change the cutter.

Tool A — 2 Teeth

fz = 1000 / (2 × 5000)
fz = 0.10 mm/tooth
Enter fullscreen mode Exit fullscreen mode

Tool B — 4 Teeth

fz = 1000 / (4 × 5000)
fz = 0.05 mm/tooth
Enter fullscreen mode Exit fullscreen mode

Tool C — 5 Teeth

fz = 1000 / (5 × 5000)
fz = 0.04 mm/tooth
Enter fullscreen mode Exit fullscreen mode

Again:

  • Same F1000.
  • Same S5000.
  • But a different cutting condition at each tooth.

This is why changing from a 2-flute tool to a 4-flute tool without reviewing the feed rate can completely change the process.

7. The Three Questions Behind Every Milling Feed Rate

Whenever I see a feed rate in a milling program, three questions immediately make the number more meaningful:

  1. What is the spindle speed? n = ?
  2. How many effective cutting teeth are involved? z = ?
  3. What feed per tooth does that produce? fz = ?

Only then does:

F1000
Enter fullscreen mode Exit fullscreen mode

begin to describe a real cutting condition.

This is a useful habit when:

  • Reviewing an unfamiliar CNC program
  • Troubleshooting machining problems
  • Changing cutting tools
  • Changing RPM
  • Comparing two processes
  • Optimizing an existing operation

8. What Happens When RPM Changes?

Suppose a milling process is running at:

n = 3,000 RPM
z = 4
fz = 0.05 mm/tooth
Enter fullscreen mode Exit fullscreen mode

The feed rate is:

Vf = 0.05 × 4 × 3000
Vf = 600 mm/min
Enter fullscreen mode Exit fullscreen mode

Now we increase spindle speed to:

  • 6,000 RPM

What feed rate should we use if we want to maintain the same programmed feed per tooth?

Vf = 0.05 × 4 × 6000
Vf = 1,200 mm/min
Enter fullscreen mode Exit fullscreen mode

RPM doubled. Feed rate also doubled.

So:

  • 3,000 RPM → 600 mm/min
  • 6,000 RPM → 1,200 mm/min

The ratio is maintained.

This gives us an important rule:

If spindle speed changes and you want to maintain the same fz, feed rate must change proportionally.

9. A Common Beginner Mistake

Imagine the original process is:

S3000
F600
Enter fullscreen mode Exit fullscreen mode

Then someone says:

"Let's increase RPM to make the process faster."

They change:

S3000
Enter fullscreen mode Exit fullscreen mode

to:

S6000
Enter fullscreen mode Exit fullscreen mode

but leave:

F600
Enter fullscreen mode Exit fullscreen mode

unchanged.

What happened?

Originally:

fz = 600 / (4 × 3000)
fz = 0.05 mm/tooth
Enter fullscreen mode Exit fullscreen mode

After changing RPM:

fz = 600 / (4 × 6000)
fz = 0.025 mm/tooth
Enter fullscreen mode Exit fullscreen mode

The spindle is rotating twice as fast. But each cutting edge now receives only half the programmed feed per tooth.

So simply increasing RPM did not preserve the original cutting condition.

This is why changing one CNC parameter often requires reviewing another.

10. Feed Rate Is the Result of Other Decisions

This is a useful change in mindset.

Beginners often think:

"What feed rate should I use?"

But a better sequence is often:

What material am I machining?
↓
What cutting tool am I using?
↓
What cutting speed is appropriate?
↓
What RPM does that produce?
↓
What feed per tooth is appropriate?
↓
How many effective cutting teeth do I have?
↓
What feed rate does that produce?
Enter fullscreen mode Exit fullscreen mode

In other words:

Feed rate is often the output of several earlier engineering decisions. It is not always the first number we should choose.

11. Connecting All the Formulas

We can now connect everything from the previous articles.

Suppose:

  • Tool Diameter = 10 mm
  • Cutting Speed = 120 m/min
  • Feed per Tooth = 0.05 mm/tooth
  • Number of Teeth = 4

Step 1 — Calculate Spindle Speed

n = (1000 × Vc) / (π × D)
n = (1000 × 120) / (π × 10)
n ≈ 3,820 RPM
Enter fullscreen mode Exit fullscreen mode

Step 2 — Calculate Feed Rate

Vf = fz × z × n
Vf = 0.05 × 4 × 3820
Vf ≈ 764 mm/min
Enter fullscreen mode Exit fullscreen mode

So our starting parameters become approximately:

  • Spindle Speed = 3,820 RPM
  • Feed Rate = 764 mm/min

Now the chain is complete:

Vc = 120 m/min
↓
D = 10 mm
↓
n ≈ 3,820 RPM
↓
fz = 0.05 mm/tooth
↓
z = 4
↓
Vf ≈ 764 mm/min
Enter fullscreen mode Exit fullscreen mode

This is much more powerful than memorizing two independent numbers:

S3820
F764
Enter fullscreen mode Exit fullscreen mode

Now we understand where both values came from.

12. What Does "F" Actually Mean in a CNC Program?

This needs a little care.

It is tempting to say:

F always means mm/min.

But that is not universally true.

The meaning of the F command depends on:

  • CNC control
  • Machine type
  • Active feed mode
  • Programming configuration

For example, CNC systems may support feed modes such as:

  • Feed per Minute
  • Feed per Revolution

On many controls, commands such as G94 and G95 are associated with these modes, although exact implementation should always be confirmed in the machine/control documentation.

So when reviewing an unfamiliar program, don't automatically assume:

F0.2
Enter fullscreen mode Exit fullscreen mode

and:

F200
Enter fullscreen mode Exit fullscreen mode

represent the same type of feed command.

Always understand the active feed mode.

13. Milling vs. Turning

This is another important distinction.

In milling, feed calculations commonly use:

  • Feed per Tooth — fz

because the rotating cutter may have multiple cutting edges.

Therefore:

Vf = fz × z × n
Enter fullscreen mode Exit fullscreen mode

In turning, it is very common to think in terms of:

  • Feed per Revolution — fn

For example:

  • 0.20 mm/rev

This describes how far the tool advances during one spindle revolution.

So although both milling and turning use the word feed, the most useful way to express feed can differ depending on the process.

This is why understanding the unit is just as important as understanding the number.

14. Why Not Just Increase Feed Rate to Save Time?

Now we reach an interesting production question.

Suppose:

F600 works.
Enter fullscreen mode Exit fullscreen mode

Why not use:

F1200?
Enter fullscreen mode Exit fullscreen mode

After all, the machine will move twice as fast. Wouldn't that cut machining time in half?

Not necessarily.

Increasing feed rate also changes the load on the cutting process if RPM and other parameters remain unchanged.

If:

  • n = constant
  • z = constant

then increasing Vf means increasing fz.

For example:

At:

3,000 RPM
4 teeth
600 mm/min
Enter fullscreen mode Exit fullscreen mode

we have:

fz = 0.05 mm/tooth
Enter fullscreen mode Exit fullscreen mode

Increase feed to:

1,200 mm/min
Enter fullscreen mode Exit fullscreen mode

and now:

fz = 0.10 mm/tooth
Enter fullscreen mode Exit fullscreen mode

Each cutting edge is being fed twice as much.

That can increase:

  • Cutting forces
  • Tool deflection
  • Spindle load
  • Workpiece load
  • Fixture load

and may affect:

  • Tool life
  • Surface finish
  • Vibration
  • Process stability

So:

Higher feed rate is not free productivity. The cutting system has to support it.

15. But Lower Feed Is Not Automatically Better Either

The opposite mistake is also common.

When a process feels unsafe, the instinct may be:

"Reduce the feed."

Sometimes that is the correct response.

But simply reducing feed without understanding the cutting condition is not always beneficial.

If the feed per tooth becomes too low, the cutting edge may not form the intended chip efficiently. Depending on the application, this can increase rubbing and friction rather than improving the process.

So the goal is not:

  • Highest possible feed

or:

  • Lowest possible feed

The goal is:

Appropriate feed for the tool, material, engagement, machine, and process.

16. Feed Rate Does Not Tell the Whole Story

Imagine these two operations:

Operation A

S5000
F1000
Enter fullscreen mode Exit fullscreen mode

Operation B

S5000
F1000
Enter fullscreen mode Exit fullscreen mode

Exactly the same RPM. Exactly the same feed rate.

Are they necessarily the same cutting condition?

Still no.

Maybe Operation A uses:

  • Ø10 mm, 2-flute cutter

while Operation B uses:

  • Ø20 mm, 5-flute cutter

Maybe one operation is:

  • Full slotting

while the other uses:

  • 10% radial engagement

Maybe one tool has:

  • 20 mm overhang

while another has:

  • 80 mm overhang

Maybe one is machining:

  • Aluminum

and the other:

  • Stainless Steel

The numbers on the CNC screen are only part of the story. The cutting system provides the context.

17. Programmed Feed per Tooth vs. Actual Chip Thickness

In the previous article, we introduced an important distinction:

fz is not always identical to actual chip thickness.

The feed-rate equation:

Vf = fz × z × n
Enter fullscreen mode Exit fullscreen mode

gives us the programmed feed relationship.

But actual chip formation can also depend on cutter engagement and geometry.

For example, with very small radial engagement, the maximum chip thickness may be lower than the programmed feed per tooth.

This is known as:

Radial Chip Thinning

In some machining strategies, feed may need to be adjusted to achieve the desired chip thickness.

This becomes particularly relevant in:

  • High-efficiency milling
  • Light radial engagement
  • Trochoidal milling
  • Certain finishing strategies

We will cover chip thinning separately because it deserves a full article of its own.

For now, remember:

Programmed feed rate tells the machine how fast to move. The resulting chip depends on how the tool actually engages the material.

18. Another Hidden Variable: Toolpath

This is where modern CNC machining becomes especially interesting.

Imagine a cutter programmed at:

  • 1,000 mm/min

In one toolpath, it cuts a straight line with stable engagement. In another, it enters a tight internal corner.

The programmed feed might still be:

1,000 mm/min
Enter fullscreen mode Exit fullscreen mode

but the cutting condition can change significantly because tool engagement changes.

Modern CAM strategies attempt to manage these situations by controlling:

  • Engagement angle
  • Toolpath curvature
  • Radial depth
  • Entry motion
  • Corner behavior
  • Feed optimization

So feed rate is not just a calculator problem. It is also a:

Toolpath problem.

This is one of the bridges between basic CNC calculations and advanced CAM/process engineering.

19. Feed Rate and Machine Limits

Even if the cutting calculation gives a suitable feed rate, the machine still has physical limits.

Consider:

  • Maximum feed rate
  • Axis acceleration
  • Servo capability
  • Spindle power
  • Machine rigidity
  • Toolholder rigidity
  • Workholding
  • Machine dynamics

A programmed:

F10000
Enter fullscreen mode Exit fullscreen mode

does not guarantee the machine will maintain 10,000 mm/min through every feature.

For example, short moves and tight direction changes may not allow the axes to reach the programmed feed before they must decelerate again.

This becomes increasingly important in:

  • High-speed machining
  • Small features
  • Complex contours
  • 3D surface machining

The programmed feed and the actual instantaneous machine feed are not always identical throughout the entire toolpath.

20. A Practical Feed-Rate Workflow

For a new milling operation, a simplified workflow can look like this:

Step 1 — Identify the Workpiece Material

Know the material and condition as accurately as practical.

↓

Step 2 — Select the Cutting Tool

Consider: diameter, tool material, coating, geometry, number of effective cutting teeth.

↓

Step 3 — Obtain Starting Cutting Data

Determine appropriate starting values for Vc and fz using reliable tool-manufacturer data or validated process knowledge.

↓

Step 4 — Calculate RPM

n = (1000 × Vc) / (π × D)
Enter fullscreen mode Exit fullscreen mode

↓

Step 5 — Calculate Feed Rate

Vf = fz × z × n
Enter fullscreen mode Exit fullscreen mode

↓

Step 6 — Review Engagement

Consider: axial depth of cut, radial engagement, slotting vs. side milling, entry conditions, toolpath.

↓

Step 7 — Check Machine and Setup

Consider: machine limits, toolholder, tool overhang, fixture rigidity, workpiece stability.

↓

Step 8 — Run and Observe

Look and listen for: chip formation, cutting sound, vibration, tool wear, surface finish, spindle load, process stability.

↓

Step 9 — Optimize

Adjust the process based on real machining behavior and engineering requirements.

21. Engineer's Note — Read the Relationship, Not Just the Number

When reviewing a CNC program, it is easy to focus on:

S5000
Enter fullscreen mode Exit fullscreen mode

and:

F1000
Enter fullscreen mode Exit fullscreen mode

But those numbers become much more useful when you translate them into machining relationships.

Ask:

  • What cutting speed does S5000 represent at this diameter?
  • What feed per tooth does F1000 represent with this tool?
  • How many cutting edges are actually engaged?
  • What happens if I change RPM?
  • What happens if I change the tool?
  • What happens when the cutter enters a corner?

This way of thinking turns CNC programming from:

Entering numbers

into:

Understanding a machining process.

That difference becomes increasingly important when troubleshooting, developing new processes, transferring programs between machines, or optimizing cycle time.

22. Try the CNC Feed Rate Calculator

I built a free online CNC Machining Calculator that includes a Feed Rate calculator:

👉 https://lilu1626.github.io/cnc-machining-calculator/

For example, enter:

  • Feed per Tooth = 0.05 mm/tooth
  • Number of Teeth = 4
  • Spindle Speed = 3,000 RPM

The result is:

  • Feed Rate = 600 mm/min

You can also use the Feed per Tooth calculator in reverse when you already know the feed rate and want to understand the cutting condition behind an existing CNC program.

The current calculator includes:

  • Spindle Speed
  • Feed Rate
  • Feed per Tooth
  • Drilling Parameters
  • Cutting Speed
  • Material Removal Rate (MRR)

23. A Quick Test

Before finishing, try this without using a calculator.

A cutter has:

  • 4 teeth
  • runs at: 5,000 RPM
  • The recommended feed per tooth is: 0.04 mm/tooth

What feed rate should you program?

Use:

Vf = fz × z × n
Vf = 0.04 × 4 × 5000
Enter fullscreen mode Exit fullscreen mode

The answer is:

  • 800 mm/min

Now imagine the RPM increases to:

  • 10,000 RPM

while you want to maintain:

  • 0.04 mm/tooth

What should the new feed rate be?

  • 1,600 mm/min

If that relationship now feels intuitive rather than memorized, you understand the most important part of feed-rate calculation.

24. Five Things to Remember

If you are new to CNC machining, remember these five ideas:

  1. Feed rate is not an isolated number. It is connected to RPM, feed per tooth, and the number of cutting edges.
  2. Same F value does not mean same cutting condition. F1000 can represent very different fz values.
  3. If RPM changes, review feed rate. Maintaining the same fz requires feed rate to change proportionally with RPM.
  4. More teeth change the required feed rate. Flute count matters.
  5. The calculated feed is a starting point. Tooling recommendations, engagement, machine capability, rigidity, workholding, and actual cutting behavior still matter.

25. Final Takeaway

The feed-rate formula is simple:

Vf = fz × z × n
Enter fullscreen mode Exit fullscreen mode

But the real lesson is not the equation.

The important lesson is understanding what sits behind the F value in a CNC program.

A feed rate is the result of a relationship between:

How fast the spindle rotates × How many cutting edges are working × How much feed each tooth receives

Once you understand that relationship, CNC parameters stop looking like random numbers.

They begin to tell a story about the cutting process.

What's Next?

We now have a connected machining chain:

Cutting Speed (Vc)
↓
Spindle Speed (n)
↓
Feed per Tooth (fz)
↓
Feed Rate (Vf)
Enter fullscreen mode Exit fullscreen mode

But there is another question:

How much material are we actually removing every minute?

Two machining processes can use similar RPM and feed rates but have completely different productivity because their:

  • Depth of Cut
  • Width of Cut

are different.

That brings us to the next parameter:

Material Removal Rate — MRR

In the next article:

Material Removal Rate (MRR) Explained: Why Faster Feed Doesn't Always Mean Higher Productivity

we will connect:

Depth of Cut × Width of Cut × Feed Rate
Enter fullscreen mode Exit fullscreen mode

and begin moving from basic CNC calculations into:

Machining Productivity and Process Optimization


Free CNC Machining Calculator

👉 https://lilu1626.github.io/cnc-machining-calculator/


About Li Lu | CNC & Manufacturing Engineering

Li Lu is a Machining Development Engineer at GE Vernova Advanced Manufacturing & Repair Technology (AMRT) in Singapore, with 10+ years in CNC machining, process development, and machine tool integration.

Top comments (1)