Which Z hop type should you use?
Keep the type your printer profile ships. Every Bambu Lab printer profile in Bambu Studio and OrcaSlicer sets Auto, which ramps up with Slope unless the travel crosses an overhang, where it uses Spiral. OrcaSlicer’s own default is Slope at a 3° Traveling angle, and Bambu Studio hard-codes the same 3° climb.
The number
| Slicer and profile | Z hop type it ships | Climb angle |
|---|---|---|
| Bambu Studio v02.08.02.61, every Bambu Lab printer profile (X1, P1, A1, A2L, H2, P2S and X2D series) | Auto | 3°, fixed in code, not a setting |
| Bambu Studio, Bambu PLA Basic filament on the H2D (0.4 mm nozzle) | Spiral, a filament override that replaces the printer’s Auto | 3° |
| Bambu Studio, Bambu PLA Basic filament on the X1 Carbon | No override, so the printer’s Auto | 3° |
| Bambu Studio, Bambu ASA-Aero filament on every printer | Normal, a filament override | None: a vertical lift |
| Bambu Studio field default, for a printer profile that sets no type | Spiral | 3° |
| OrcaSlicer v2.4.2 field default | Slope | “Traveling angle” 3° |
| OrcaSlicer, Bambu Lab printer profiles | Auto | 3° |
| OrcaSlicer, Prusa MK4S profile | Slope | 1° |
| OrcaSlicer, Voron profiles | Normal | None: a vertical lift |
The Bambu Studio rows come from v02.08.02.61’s PrintConfig.cpp, GCodeWriter.cpp and its BBL machine and filament profiles; the OrcaSlicer rows from v2.4.2’s PrintConfig.cpp and its BBL, Prusa and Voron machine profiles. Why the nozzle lifts at all is covered in what Z hop is.
What does each Z hop type do?
| Type | The move it writes | What the docs say it is for | Documented trade-off |
|---|---|---|---|
| Normal | Straight up, level travel, straight down | Clearance so the nozzle does not hit the print | PrusaSlicer’s 2.7.0 beta release notes say a straight lift can cause stringing, especially with wider nozzles |
| Slope | One diagonal move climbing at the angle toward the destination, then level. On a travel too short to reach full height at that angle, the whole travel is one straight climb | Bambu’s wiki lists Slope, Spiral and Auto as types that “effectively reduce oozing and stringing” | While climbing it sweeps a larger area, so it can scrape an overhang that has curled up (Bambu’s wiki) |
| Spiral | One full circle beside the start point, climbing as it goes (a G17 then a G3 arc with Z and P1), then the level travel |
Same wiki line; both slicers’ Z hop tooltip says spiral lines “can prevent stringing” | Bambu Studio falls back to a straight lift when the circle would leave the bed. OrcaSlicer writes the arc only with Arc fitting on, otherwise as 4 to 16 straight moves |
| Auto | Slope, or Spiral when the stretch where a slope would climb crosses an overhang printed in the last 0.4 mm of height; Spiral on every layer change | Avoiding a warped overhang | None listed beyond those of Slope and Spiral |
All four end the same way: the nozzle drops straight down to the layer before printing resumes.
Why does Auto switch between Slope and Spiral?
Because of where each one climbs. Bambu Lab’s wiki says overhangs can expand and warp during printing. A slope lift passes over a larger area on its way to full height, with “a certain chance” of colliding with a warped part. A spiral stays over a small patch above the part surface, so Auto uses it wherever the travel crosses an overhang, and on every layer change.
Both climb at the same 3° in Bambu Studio’s code. At the 0.4 mm lift Bambu Lab profiles use, a slope stretches over about 7.6 mm of travel (0.4 ÷ tan 3°). A spiral coils the same climb into one circle about 2.4 mm across, next to the start point.
- Normal: straight up, across, down
- Slope: climbs along the travel
- Spiral: one turn up, then across
What is the difference between Slope and Spiral?
Where the climb happens. Slope climbs along the travel line, so the start of its travel passes low over whatever lies ahead. Spiral finishes climbing above the start point before it moves, then crosses at full height. Both types share one angle: Bambu Studio fixes it at 3°, and OrcaSlicer sets it with “Traveling angle”, where 90° turns either into a Normal lift.
Normal vs Spiral: which leaves fewer strings?
None of the sources above gives a measured comparison, but the docs all point one way. Bambu Lab’s wiki groups Spiral, Slope and Auto as the types that reduce oozing and stringing, and PrusaSlicer added its ramp because a straight lift could string. Bambu still ships Normal for ASA-Aero. A lift can also add strings of its own (can Z hop cause stringing).
Is there a best Z hop type?
None of these slicers’ docs ranks one. Keep the type your profile ships (Auto on every Bambu Lab printer). Change it only for a reason the docs give: Spiral or Auto where the nozzle catches curled overhangs, Slope or Spiral where strings start at a Normal lift. Height is a separate setting (Z hop height).
What do On surfaces and Only lift Z above do in OrcaSlicer?
They limit where the lift happens. “On surfaces” (All Surfaces by default) can restrict lifts to after top surfaces (Top Only), to the first layer (Bottom Only), or both. “Only lift Z above” and “Only lift Z below” set an absolute height band; 0 leaves them off. Bambu Studio has the same band as “Z hop lower boundary” and “Z hop upper boundary”.
Does PrusaSlicer or Cura have Z hop types?
- PrusaSlicer has no type list. Since 2.7.0, “Use ramping lift” (Printer Settings, Extruder, Travel lift) makes a slope-style ramp set by “Ramping slope angle” and “Maximum ramping lift”. PrusaSlicer 2.9.6’s MK4S, CORE One and XL profiles ship it on at 1° and 1.5 mm. With it on, layer changes follow a helical path by default.
- UltiMaker Cura 5.13 has no type setting. “Z Hop When Retracted” is a vertical move at “Z Hop Speed”, off by default.
How to check it on your own print
- Find the setting. Bambu Studio: Printer settings, Extruder, Retraction, “Z Hop Type” (an Advanced-mode option). OrcaSlicer: Printer settings, Extruder, the Z-Hop group.
- Check the filament overrides. In Bambu Studio, a ticked “Z Hop Type” under Filament settings, Setting Overrides replaces the printer’s choice; unticked, the printer setting applies.
- Read the G-code. A Spiral lift is a
G17line followed by aG3arc carryingZandP1. A Normal lift is aG1 Zline on its own. A Slope lift is aG1with X, Y and a rising Z. In OrcaSlicer, turn on “Verbose G-code” (Others, G-code output) to getspiral lift Zandnormal lift Zcomments. - If the nozzle still clips curled overhangs, switch to Auto or Spiral, or raise the lift height.
- If strings start where travels begin, print the same file once with Normal and once with Spiral. Change nothing else between the two.
Sources
- src/libslic3r/PrintConfig.cpp at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
- src/libslic3r/GCodeWriter.cpp at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
- src/libslic3r/GCode.cpp at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
- src/slic3r/GUI/Tab.cpp at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
- resources/profiles/BBL/machine/fdm_bbl_3dp_001_common.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
- resources/profiles/BBL/machine/fdm_bbl_3dp_002_common.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
- resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2D.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
- resources/profiles/BBL/filament/Bambu PLA Basic @BBL X1C.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
- resources/profiles/BBL/filament/fdm_filament_common.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
- resources/profiles/BBL/filament/Bambu ASA-Aero @base.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
- Retraction (Z Hop type section), Bambu Lab Wiki (accessed October 30, 2026)
- src/libslic3r/PrintConfig.cpp at v2.4.2, OrcaSlicer on GitHub (accessed October 30, 2026)
- src/libslic3r/GCodeWriter.cpp at v2.4.2, OrcaSlicer on GitHub (accessed October 30, 2026)
- src/libslic3r/GCode.cpp at v2.4.2, OrcaSlicer on GitHub (accessed October 30, 2026)
- src/slic3r/GUI/Tab.cpp at v2.4.2, OrcaSlicer on GitHub (accessed October 30, 2026)
- Printer settings, Extruder, Z Hop, OrcaSlicer wiki (accessed October 30, 2026)
- resources/profiles/BBL/machine/fdm_bbl_3dp_001_common.json at v2.4.2, OrcaSlicer on GitHub (accessed October 30, 2026)
- resources/profiles/Prusa/machine/fdm_machine_common_mk4s.json at v2.4.2, OrcaSlicer on GitHub (accessed October 30, 2026)
- resources/profiles/Voron/machine/fdm_klipper_common.json at v2.4.2, OrcaSlicer on GitHub (accessed October 30, 2026)
- src/libslic3r/PrintConfig.cpp at version_2.9.6, PrusaSlicer on GitHub (accessed October 30, 2026)
- resources/profiles/PrusaResearch.ini at version_2.9.6, PrusaSlicer on GitHub (accessed October 30, 2026)
- PrusaSlicer 2.7.0-beta1 release notes (Travel moves improvements), PrusaSlicer on GitHub (accessed October 30, 2026)
- resources/definitions/fdmprinter.def.json at 5.13.0, UltiMaker Cura on GitHub (accessed October 30, 2026)