Calculating flow rate for your 3D slicer

Created on Monday, May 29, 2017. I last modified it on Saturday, June 15, 2019.

‘Flow rate’ is a slicer setting that tells the 3D printer how much plastic to extrude. Correct flow rate is the first step towards pretty and dimensionally accurate 3D prints, so it’s important to know how to set it properly.


What is ‘flow rate’?

The simplest way to understand flow rate (AKA extrusion multiplier) is that it multiplies how much plastic the 3D printer is told to extrude. A flow rate of 1.5 makes the printer extrude 50 % more plastic, a flow rate of 0.5 makes it extrude 50 % less. In scenarios where you are under- or over-extruding, adjusting flow rate is probably a better use of your time than adjusting something like extruder steps per mm, which is often set correctly to begin with.

Here I demonstrate the easiest way to measure flow rate, and provide a calculator to make this process even easier. After the instructions, I explain the testing process that I used to arrive at this method. You should repeat this process for every new spool of plastic you use, writing the flow rate on each spool so that you can quickly swap between them.


Step 1. Reset your slicer’s extrusion settings.

Setting Value
Nozzle diameter Nominal (e.g. 0.40 mm)
Flow rate/extrusion multiplier 1.00
Extrusion width Auto or Default
Filament diameter Nominal (e.g. 1.75 mm)

The default extrusion width is calculated by taking the nozzle width and multiplying it by a number I’ll call the aspect ratio, which expresses how extruded plastic is flattened onto the new layer. Simplify3D calculates it as nozzle width × 1.20, which means that a nozzle will flatten the plastic so that the new bead is 20 % wider than the nozzle’s diameter (0.40 × 1.20 = 0.48). Your slicer might use a different number for the aspect ratio, so the calculator on this page has a box for entering your slicer’s value. Some interesting background on the aspect ratio can be read in Nophead’s article about flow rate.

You should also set your layer height, printing speeds, and temperatures to whatever you want to use during regular printing.

Step 2. Print a hollow double-walled box.

You will print a 2-walled test object so that you can measure the thickness of the walls that your printer is making. I use no infill, no top or bottom layers, and 2 perimeters. Do not tell the slicer to set start points randomly, or else the bulges at the start of a loop can interfere with your measurements in the next step.

Step 3. Measure the wall thicknesses.

Using calipers, measure the wall thickness at each side of the test object. There are some things to be mindful of:

  1. Measure only the top 2–5 layers of the wall.
  2. Measure only the middle third of each wall. The areas close to the corners should be avoided.
  3. Use consistent pressure on the caliper jaws between measurements.

Step 4. Calculate your new flow rate.

Your new flow rate is [-[ getFlowRate(nozzle, currentflow, aspectratio, walls) | number:2 ]-]


The calculator above uses the equation:

New flow rate = (Expected wall thickness ÷ Observed wall thickness) × Current flow rate
Expected wall thickness = (nozzle diameter (mm) × aspect ratio) * 2 walls
Observed wall thickness = average of wall thicknesses on the test object

What’s involved in calculating flow rate?

1 wall vs 2 walls

In the first version of this article, I described a method of calculating flow rate by using a single-walled test object and measuring most of the wall to capture all of the layer variation. I had been doing this for a long time and got dimensionally-accurate parts out of it, so I wanted to get it written down for others. When I posted it on reddit, /u/ntoff replied:

Two shells is far better, I had under extrusion for the longest time and weak parts because I went after that perfect extrusion width, later I learned 2 shells and proper layer adhesion is far more important than getting my stupid 10mm cube to be 10mm.


You want to measure only the top layer or two, measuring any more can (and will) introduce a shit tonne of error into your measurement if you have any Z wobble or layer inconsistency leading to artificially increased numbers, so you then lower your extrusion width multiplier (or e-steps if you’re going that way) and end up under extruding.

And also shared this instructional video for flow rate calculation based on two perimeters:

So of course I said I would compare the two methods and see what happened.

Testing method

The process of this experiment is:

  1. Print two hollow test boxes, one single-walled and one double-walled (1-wall and 2-wall respectively).
  2. Measure the wall thicknesses using 2 methods:
    • The Whole method, which involves measuring the top 10 mm of the 15 mm box (the bottom 5 mm is ignored because the printer is not yet ‘warmed up’).
    • The Top method, where I only measure the top few layers as /u/ntoff suggested.
  3. Calculate a new flow rate for each walls × measurement treatment.
  4. Print a double-walled hollow box using each new flow rate to test whether the wall thickness and wall adhesion is acceptable.
  5. Print a new test object with each flow rate to test interior/exterior dimensions, as well as print quality.

Test objects

Dimensional test

.STL format, 97 KB.

10 mm tall. 30 × 30 mm exterior, 15 × 15 mm interior, and wall thicknesses of 3, 5, 10, and 12 mm.

1. Measuring wall thicknesses and calculating flow rates

The table below shows wall thicknesses (in mm) and the calculated flow rates for each treatment. For the 1-walled test box, the thickness should be 0.40 mm nozzle × 1.20 = 0.48 mm. For the 2-walled test box, the thickness should be 0.48 mm × 2 = 0.96 mm.

Avg thickness (mm) Std dev Flow rate
1-wall (Whole) 0.60 0.01 0.81
1-wall (Top) 0.53 0.01 0.91
2-wall (Whole) 1.03 0.01 0.93
2-wall (Top) 0.97 0.01 0.99

Notice that (Whole) biases the flow rate towards underextrusion, and (Top) does the opposite. Wall adhesion in the 2-wall test box is very good. When I try to tap a knife blade into the seam between the walls, it slips and cuts its way out of the side. The two walls may as well be a single piece.

2. Wall thickness and adhesion with the new flow rates

I printed a 2-walled hollow box using the new flow rates calculated in the previous step, again measuring them by the two different methods. If the flow rate was calculated correctly, then the wall thickness should be 0.48 mm × 2 = 0.96 mm and the walls should adhere strongly.

The change in average wall thickness of a 2-wall hollow box, based on flow rate. Error bars show standard deviation (mode 0.01 mm). The horizontal line marks the target thickness of 0.96 mm.

In the chart above, the test box printed at flow rate 0.81 (1-wall (Whole)) does not meet the target thickness, which invalidates the method that I had previously published. The other three treatments that meet the target wall thickness are all measured using the (Whole) method. This tells me that I have some wobbling in the layers which is raising the average thickness, but the wobbling only introduces about 30 microns (0.03 mm) and that’s plenty good where at-home 3D printing is concerned. It’s important not to split hairs when it comes to this technology.

Wall adhesion was non-existent at the lowest flow rate; the seams were large and a knife could be easily slid between the walls and all the way down the print. There was no obvious difference between flow rates 0.91 and 0.93; it was difficult to force a knife into the seams between the walls, but the knife could still be pushed down to the bottom of the print with difficulty. At flow rate 0.99, the walls adhered just as well as at flow rate 1.00.

3. Dimensional test of flow rate

In the table below, I measured 7 distances on the dimensional test object (10 % infill, 2 walls, outside-in wall order) and then found how much they differed from the nominal dimensions on average. The flow rate calculated from 2-wall (Top) was the most accurate and precise.

Default (1.00) 2-wall (Top) (0.99) 2-wall (Whole) (0.93) 1-wall (Top) (0.91) 1-wall (Whole) (0.81)
Avg distortion (mm) 0.11 0.08 0.12 0.12 0.15
Minimum distortion (mm) 0.01 0.01 0.03 0.02 0.07
Maximum distortion (mm) 0.25 0.16 0.30 0.26 0.25
Std dev 0.08 0.06 0.09 0.08 0.06

Top and wall surface finish was also best in the samples that were printed with the 2-wall flow rates.

4. Conclusions

  1. You should calibrate your flow rate using a 2-walled box, and not a 1-walled box.
  2. Measuring more of the wall does introduce a lot of variation that biases you towards underextrusion. You should only measure the wall thickness at the top few layers of the print.
  3. The difference in distortion between 100 % and 99 % flow rate is surprisingly large. My maximum distortion was reduced by 90 microns just by dropping that 1 %; that’s almost half my layer height.
That's all there is, there isn't any more.
© Desi Quintans, 2002 – 2018.