Bed Tramming, Probing and Mesh Compensation
Tramming is a mechanical adjustment: you turn the bed screws or knobs until the bed is parallel to the nozzle's path. Automatic probing measures the bed at a grid of points, and mesh compensation moves Z during the print to follow that measured shape. A mesh does not fix a wrong Z offset, a skewed frame or a bad probe, so set those first.
Three different things called "leveling"
"Bed leveling" gets used for three separate jobs. Knowing which one you are doing saves hours.
| Job | What it does | What it cannot fix |
|---|---|---|
| Tramming (manual leveling) | Physically adjusts bed screws or knobs so the bed is parallel to the nozzle's path | A warped bed surface |
| Automatic probing | A sensor measures the distance to the bed at many points | Nothing by itself; it only measures |
| Mesh compensation | Firmware moves Z during printing to follow the measured shape | Wrong Z offset, skewed frame, bad probe |
None of them is "level" in the spirit-level sense. What matters is that the nozzle stays the same distance from the bed everywhere.
Tramming: adjusting the screws
Tramming is turning the adjusters under the bed until each corner sits at the same nozzle height. The classic check is a sheet of paper: Klipper's manual leveling guide says to adjust the screw under the nozzle until there is a small amount of friction when you slide the paper back and forth.
Firmware can guide the process:
- Klipper's
BED_SCREWS_ADJUSTmoves the nozzle over each screw in turn so you can do the paper test at the right spot. - With a probe, Klipper's
SCREWS_TILT_CALCULATEmeasures the bed and tells you which screws to turn and by how much, expressed as minutes on a clock face. Klipper says to repeat until a good result, normally when all adjustments are below 6 minutes Rule of thumb. - Some makers ship a guided routine. Bambu Lab's X1 and P1 tramming procedure is a G-code file that pauses the nozzle over each of the three bed knobs so you turn the knob until the surface barely touches the nozzle, then repeats twice with shorter pauses for fine adjustment.
When to tram: Bambu Lab says its X1 and P1 beds are trammed at the factory and its procedure should only be done if you notice a leveling inaccuracy or are asked to by support. Shipping can knock a bed out. On printers whose maker does not ship them trammed, or after you have had the bed apart, tram before relying on any mesh.
Probing: measuring the bed
An automatic probe measures the bed so the firmware knows its shape. Prusa describes several kinds on its own printers: a separate sensor next to the nozzle (its PINDA family) on older models, and on newer ones a load cell that detects when the nozzle is close enough to the sheet. Bambu Lab's tramming guide ends by running the printer's own calibration, which reports an error if leveling is still wrong.
The probe has to know where the nozzle is relative to its trigger point. That is the Z offset, and it is the single most important number in the chain. Klipper's bed mesh guide says to calibrate the probe's Z offset before building a mesh. Marlin's leveling guide gives the tell: if the first layer is wrong by the same amount everywhere, the problem is the Z offset, not the mesh. See Z Offset.
Mesh compensation: following the shape
Once the bed is measured, the firmware interpolates between the points to build a virtual map of the surface and raises or lowers the nozzle during the print to follow it. Prusa's guide puts it plainly: if the bed is slightly warped, the nozzle still follows the surface according to the measured mesh.
Mesh options vary by firmware:
- Marlin offers three-point and linear leveling, which correct only the bed's overall tilt, and bilinear leveling, which applies mesh compensation and which Marlin calls best for an irregular bed. It also has Unified Bed Leveling and Mesh Bed Leveling with their own options. After
G29probes the bed, Marlin keeps the result in memory only until you save it withM500, andG29switches leveling on, but in every other situation it must be switched on withM420 S1; Marlin says it is essential to put that command in your slicer's start G-code. - Klipper uses a
[bed_mesh]section. Its default probe count is 3 by 3, and a mesh needs at least 3 points along each axis Maker spec. An optional fade setting phases correction out over a height range so the top of the print is flat instead of copying the bed's shape; Klipper warns that fading too quickly can leave visible artifacts. - Prusa printers probe before each print. On its MK3-era printers the default mesh is 3 by 3 points, selectable up to 7 by 7, and the MINI uses 4 by 4 Maker spec.
Klipper's guide is clear about the limit: bed mesh can only approximate the bed's shape, and it cannot compensate for mechanical and electrical issues. If an axis is skewed or the probe is inaccurate, the mesh is wrong too.
The order that works
- Clean the nozzle tip. Bambu Lab's tramming guide starts by heating and wiping the nozzle so filament on the tip does not throw off the measurement. The same applies to any nozzle-contact probe.
- Fix mechanics first: a loose bed, a wobbling gantry, or a tilted gantry on machines with two Z motors. Marlin suggests running its Z motor alignment (
G34) beforeG29on multi-Z machines. - Tram the bed if your printer has adjusters and the maker calls for it.
- Set the Z offset.
- Build and save the mesh, and make sure it is loaded at print time.
- Print a first-layer test that covers most of the bed.
How to read the result
- Too squished or too thin everywhere: Z offset.
- Good on one side, thin or loose on the other: tramming, or the mesh is not being applied.
- Patchy in a pattern that matches the bed shape: the mesh is too coarse or out of date. Re-probe, and consider more probe points.
- The mesh itself looks wild: view it before trusting it. Klipper's
BED_MESH_OUTPUTprints the mesh, and web interfaces such as Mainsail and Fluidd draw it. If one point stands far apart from its neighbors, re-probe before you start turning screws.
For the first-layer symptoms themselves, see First Layer Won't Stick and First Layer Fundamentals.
- Manual leveling Klipper
- Bed Mesh Klipper
- Automatic Bed Leveling Marlin Firmware
- Mesh bed leveling Prusa Research
- Manual Bed Leveling / Manual Bed Tramming Bambu Lab
Last reviewed 2026-11-05