Line width calculator: extrusion width, flow area and wall thickness

PrusaSlicer, OrcaSlicer and Bambu Studio print lines 1.125 × the nozzle diameter wide when the width is left at 0, so a 0.4 mm nozzle gets 0.45 mm lines, and UltiMaker Cura uses the nozzle size. Neighboring lines overlap by about 0.215 × the layer height, so two 0.45 mm walls at 0.2 mm layers make a 0.857 mm wall in PrusaSlicer and 0.9 mm in OrcaSlicer, whose Precise wall is on by default.

Nozzle and layer
mm
mm
Line width

Leave the widths blank (or 0) to use the slicer's default for this nozzle.

mm

Every wall. Blank: the slicer's default.

mm

Only if inner walls differ. Blank: same as the line width.

Walls and speed
mm/s

Optional, for the volumetric flow.

Line width

–

Outer / inner walls when they differ.

Usable width range

–

Cross-section (mm³ per mm of line)

–

Spacing between line centers

–

Wall thickness

–

Volumetric flow

–

The formula

PrusaSlicer, OrcaSlicer and Bambu Studio share the Slic3r flow model (Flow.cpp in all three). It treats a printed line as a rectangle h tall and w wide with rounded ends:

automatic line width = 1.125 × nozzle diameter
cross-section (mm²)  = h × (w − h × (1 − π/4))
spacing (mm)         = w − h × (1 − π/4)
wall thickness (mm)  = w + (walls − 1) × spacing
volumetric flow      = cross-section × print speed

w is the line width and h the layer height, both in millimeters. Spacing is the distance between the centers of two neighboring lines, so each pair overlaps by h × (1 − π/4), 0.043 mm at a 0.2 mm layer. The cross-section is also the plastic in each millimeter of line, in mm³.

UltiMaker Cura models the line as a plain rectangle and places walls one width apart (fdmprinter.def.json and CuraEngine):

line width     = nozzle diameter
cross-section  = w × h
wall thickness = walls × w

How do you calculate line width in 3D printing?

Start from the nozzle diameter. PrusaSlicer, OrcaSlicer and Bambu Studio multiply it by 1.125 when the width is left at 0, so a 0.4 mm nozzle prints 0.45 mm lines. UltiMaker Cura uses the nozzle size. Keep it above the layer height and below 1.5 × the nozzle, the most OrcaSlicer’s and Bambu Lab’s guides advise.

Worked example: the calculator’s defaults

These match Prusa’s “0.20mm SPEED” print profile for the MK4S with a 0.4 mm nozzle: 0.45 mm lines, 2 perimeters and 170 mm/s perimeters.

  1. Line width: 1.125 × 0.4 = 0.45 mm.
  2. Overlap: 0.2 × (1 − π/4) = 0.0429 mm.
  3. Spacing: 0.45 − 0.0429 = 0.407 mm.
  4. Cross-section: 0.2 × 0.407 = 0.0814 mm², against 0.09 mm² for a plain rectangle.
  5. Wall with 2 perimeters: 0.45 + 0.407 = 0.857 mm.
  6. Volumetric flow at 170 mm/s: 0.0814 × 170 = 13.84 mm³/s.

Check that flow against your filament’s limit with the volumetric flow calculator. A wider line carries more plastic per millimeter, so it reaches the limit at a lower speed.

PrusaSlicer’s automatic extrusion width

Leave a width at 0 and PrusaSlicer calculates it from the nozzle: 1.125 × the nozzle for perimeters and infill, the nozzle size for top solid infill and support. A 0 in a feature’s field first falls back to “Default extrusion width” (Print Settings → Advanced → Extrusion width). The automatic rule applies only when both fields are 0.

Feature Width when set to 0 0.4 mm nozzle 0.6 mm nozzle
External perimeters, perimeters 1.125 × nozzle 0.45 mm 0.675 mm
Infill, solid infill 1.125 × nozzle 0.45 mm 0.675 mm
Top solid infill nozzle 0.4 mm 0.6 mm
Support material nozzle 0.4 mm 0.6 mm
First layer 200% of the first layer height 0.4 mm (0.2 mm first layer) 0.4 mm (0.2 mm first layer)

The first layer row is PrusaSlicer’s built-in value; Prusa’s MK4S 0.4 mm profiles set 0.5 mm instead. Set the first layer field to 0 and the first layer uses each feature’s own width.

OrcaSlicer and Bambu Studio use the same rule and fall back first to a field called “Default”. The Slic3r manual describes an older automatic width: 1.05 × the nozzle for external perimeters and up to 1.7 × for most other lines. Current PrusaSlicer code uses the flat 1.125.

Prusa’s guide to nozzle profiles suggests about 110% of the nozzle for most lines, and 120 to 140% on the first layer for better bed adhesion.

How do you calculate wall thickness from line width?

Add each extra wall’s spacing to the first line width: wall = w + (walls − 1) × (w − 0.215 × h). PrusaSlicer and Bambu Studio overlap neighboring lines, so two 0.45 mm walls at 0.2 mm layers total 0.857 mm. OrcaSlicer’s default Precise wall makes it 0.9 mm. UltiMaker Cura spaces walls one width apart: walls × width.

Wall thickness at 0.2 mm layers:

Walls 0.4 mm lines 0.45 mm lines Bambu Studio, 0.42 / 0.45 mm OrcaSlicer 0.45 mm, Precise wall UltiMaker Cura, 0.4 mm
1 0.4 mm 0.45 mm 0.42 mm 0.45 mm 0.4 mm
2 0.757 mm 0.857 mm 0.827 mm 0.9 mm 0.8 mm
3 1.114 mm 1.264 mm 1.234 mm 1.307 mm 1.2 mm
4 1.471 mm 1.671 mm 1.641 mm 1.714 mm 1.6 mm

When the outer wall is narrower than the inner walls, as in Bambu Studio’s 0.42 / 0.45 mm profile, the first gap is the average of the two spacings. Type both widths into the calculator to get the total.

Precise wall in OrcaSlicer and Bambu Studio

Precise wall sets the overlap between the outer wall and the first inner wall to zero, so the wall comes out one overlap thicker: outer + inner + (walls − 2) × spacing. Two 0.45 mm walls at 0.2 mm layers become 0.9 mm.

OrcaSlicer turns it on by default but applies it only with the Inner/Outer wall order. Bambu Studio ships with it off. Both put the switch under Quality → Precision → Precise wall.

Model a wall that prints as whole lines

To make a thin wall fill with whole lines, model it at the table’s thickness for its total line count. Count the lines from both sides of the wall. PrusaSlicer shows the same figure under Print Settings → Layers and perimeters → Vertical shells as “Recommended object thin wall thickness”: 0.86 mm for 2 lines and 1.67 mm for 4 at the defaults.

Wall thickness in UltiMaker Cura

Cura sets walls by thickness. Under Walls, Wall Line Count = round((Wall Thickness − outer wall line width) ÷ inner wall line width) + 1, so the default 0.8 mm gives two 0.4 mm walls. Type walls × line width as the Wall Thickness (1.2 mm for three 0.4 mm walls), or set Wall Line Count directly.

Line width limits in each slicer

Slicer Maker’s guidance Hard limit
PrusaSlicer About 110% of the nozzle, 120 to 140% on the first layer Refuses a width at or below the layer height, or 3 × the nozzle and wider
OrcaSlicer Start at 100%; above 150% can over-extrude Refuses a width at or below the layer height, or above 5 × the nozzle
Bambu Studio 0.75 to 1.5 × the nozzle; keep the default where possible Refuses a width at or below the layer height, or above 2.5 × the nozzle
UltiMaker Cura Match the nozzle; slightly narrower can print better Warns below 0.1 + 0.4 × the nozzle (0.26 mm) and above 2 × the nozzle (0.8 mm)

A line can’t be thinner than the layer is tall: the three Slic3r-family slicers refuse it, and the Slic3r manual calls the shape of such a line unpredictable. Bambu Lab’s wiki adds that a line can’t be squeezed wider than the outside diameter of the nozzle tip.

The layer height has its own cap. Prusa’s guide keeps it at 70 to 80% of the nozzle at most, and Cura warns above 80%. The layer height calculator gives the heights a nozzle and Z axis support.

Default line widths in each slicer’s profiles

Slicer and profile Nozzle Outer wall Inner walls
PrusaSlicer, Prusa MK4S profiles 0.4 mm 0.45 mm 0.45 mm
Bambu Studio, Bambu Lab printers 0.2 mm 0.22 mm 0.22 mm
Bambu Studio, Bambu Lab printers 0.4 mm 0.42 mm 0.45 mm
Bambu Studio, Bambu Lab printers 0.6 mm 0.62 mm 0.62 mm
Bambu Studio, Bambu Lab printers 0.8 mm 0.82 mm 0.82 mm
OrcaSlicer, generic printer profiles any 100% of the nozzle 110% of the nozzle
UltiMaker Cura, built-in default any nozzle size nozzle size

Prusa’s MK4S profiles for other nozzles vary: 0.6 to 0.68 mm on a 0.6 mm nozzle and 0.9 to 1 mm on a 0.8 mm nozzle. The Prusa MK4S 0.4 mm and Bambu Studio 0.4 mm profiles use 2 walls, OrcaSlicer’s generic profiles use 3, and Cura’s 0.8 mm default wall thickness gives 2.

With Bambu Studio selected, the calculator fills in these profile widths when the width fields are blank. For other nozzle sizes it uses the 1.125 rule.

Where to set line width and walls

Slicer Line width Walls Units
PrusaSlicer Print Settings → Advanced → Extrusion width Print Settings → Layers and perimeters → Vertical shells → Perimeters mm, or % of the layer height
OrcaSlicer Process → Quality → Line width Process → Strength → Walls → Wall loops mm, or % of the nozzle
Bambu Studio Process → Quality → Line width Process → Strength → Walls → Wall loops mm
UltiMaker Cura Print settings → Quality → Line Width Print settings → Walls → Wall Thickness or Wall Line Count mm

In PrusaSlicer 2.9, a percentage is taken of the layer height, not the nozzle: 112.5% at 0.2 mm layers is a 0.225 mm line. Type the width in millimeters. OrcaSlicer reads the same 112.5% as 112.5% of the nozzle, 0.45 mm on a 0.4 mm nozzle.

Filament extruded per millimeter of line

The extrusion (E) a slicer writes for a line is its cross-section divided by the filament’s cross-section, times the flow ratio. At the defaults, 0.0814 mm² ÷ 2.405 mm² = 0.0338 mm of 1.75 mm filament per millimeter of line, so a 100 mm wall line takes 3.38 mm of filament. With 2.85 mm filament (6.379 mm²) it takes 1.28 mm.

If the extruder feeds the wrong length of filament, fix it with the e-steps calculator. If a printed wall measures thicker or thinner than this calculator’s wall thickness, correct the flow ratio with the flow rate calculator, which uses the same wall math.

Published · Figures last checked

Sources

  1. Prusa Knowledge Base, Creating profiles for different nozzles (extrusion width) (accessed 2026-10-18)
  2. PrusaSlicer 2.9.6 source, Flow.cpp (auto_extrusion_width, line spacing, mm3_per_mm) (accessed 2026-10-18)
  3. PrusaSlicer 2.9.6 source, PrintConfig.cpp (extrusion width tooltips and defaults) (accessed 2026-10-18)
  4. PrusaSlicer 2.9.6 source, PrintRegion.cpp (fallback to the default extrusion width) (accessed 2026-10-18)
  5. PrusaSlicer 2.9.6 source, Print.cpp (extrusion width validation) (accessed 2026-10-18)
  6. PrusaSlicer 2.9.6 source, PerimeterGenerator.cpp (perimeter spacing) (accessed 2026-10-18)
  7. PrusaSlicer 2.9.6 source, PresetHints.cpp (recommended thin wall thickness) (accessed 2026-10-18)
  8. PrusaSlicer 2.9.6 source, Tab.cpp (Print Settings pages) (accessed 2026-10-18)
  9. PrusaSlicer 2.9.6 source, Extruder.cpp (E per mm³ of plastic) (accessed 2026-10-18)
  10. PrusaSlicer 2.9.6 profiles, PrusaResearch.ini (MK4S print profiles) (accessed 2026-10-18)
  11. Slic3r Manual, Flow Math (accessed 2026-10-18)
  12. OrcaSlicer wiki, Line width (accessed 2026-10-18)
  13. OrcaSlicer wiki, Precision (Precise wall) (accessed 2026-10-18)
  14. OrcaSlicer source, Flow.cpp (auto_extrusion_width, percentages of the nozzle) (accessed 2026-10-18)
  15. OrcaSlicer source, PrintConfig.cpp (line width, wall loops, precise_outer_wall and wall_sequence defaults) (accessed 2026-10-18)
  16. OrcaSlicer source, Print.cpp (line width validation) (accessed 2026-10-18)
  17. OrcaSlicer source, libslic3r.h (MAX_LINE_WIDTH_MULTIPLIER = 5) (accessed 2026-10-18)
  18. OrcaSlicer source, PerimeterGenerator.cpp (precise outer wall spacing) (accessed 2026-10-18)
  19. OrcaSlicer source, Tab.cpp (Quality and Strength pages) (accessed 2026-10-18)
  20. OrcaSlicer profiles, Custom/process/fdm_process_common.json (generic printer line widths) (accessed 2026-10-18)
  21. Bambu Lab Wiki, Line width (accessed 2026-10-18)
  22. BambuStudio source, Flow.cpp (auto_extrusion_width) (accessed 2026-10-18)
  23. BambuStudio source, PrintRegion.cpp (fallback to the Default line width) (accessed 2026-10-18)
  24. BambuStudio source, Print.cpp (line width validation) (accessed 2026-10-18)
  25. BambuStudio source, PrintConfig.cpp (precise_outer_wall default) (accessed 2026-10-18)
  26. BambuStudio source, PerimeterGenerator.cpp (precise outer wall spacing) (accessed 2026-10-18)
  27. BambuStudio source, Tab.cpp (Quality and Strength pages) (accessed 2026-10-18)
  28. BambuStudio profiles, fdm_process_common.json (0.4 mm nozzle line widths) (accessed 2026-10-18)
  29. BambuStudio profiles, BBL process folder (0.2, 0.6 and 0.8 mm nozzle files) (accessed 2026-10-18)
  30. UltiMaker Cura source, fdmprinter.def.json (line_width, wall_thickness, wall_line_count) (accessed 2026-10-18)
  31. CuraEngine source, GCodePathConfig.cpp (extrusion = line width × layer height) (accessed 2026-10-18)