3D Printing (General)

What is bed mesh levelling and when do you actually need it?

Bed mesh levelling probes the build plate at multiple points, maps where it dips and bulges, and nudges the Z axis to compensate as the nozzle moves so your first layer stays consistent edge to edge.

Published 2026-05-23

Bed mesh levelling is the printer measuring how flat your build plate actually is, then quietly cheating the Z axis up and down to make up for the bits that are not flat. The nozzle stays at the same distance from the surface across the whole plate, even though the plate itself is slightly wavy.

It is not the same job as the paper-under-the-nozzle test you may have done on an old Ender. That one sets the average gap. Mesh levelling corrects for the wobble across the surface that the average misses.

What a bed mesh actually is

Think of the plate as a topographic map. The printer touches a probe (or the nozzle itself) down at a grid of points — typically 9, 16, 25 or 49 spots depending on the firmware. At each point it records how far the Z motor had to drop before contact. That gives a height map of the plate.

During the print, the firmware reads that map. If the plate dips by 0.1 mm in the front-left corner, the Z axis drops 0.1 mm whenever the nozzle prints in that area. The first layer stays the same thickness everywhere.

That is the whole trick. There is no magic. The plate is still bent — the printer is just compensating.

Why no plate is ever truly flat

Glass, PEI-coated spring steel, textured PEI, aluminium tooling plate — none of them come out of the factory perfectly flat, and even if they did, they would not stay that way. Heated beds expand unevenly. The aluminium underneath bows slightly when the centre is hot and the corners are cooler. Spring-steel sheets pick up a slight cup over time. Magnets pull the corners down a fraction.

On a 220 mm plate you usually see 0.1 to 0.3 mm of variation between the highest and lowest point. Your first layer is often only 0.2 mm thick. So a 0.15 mm dip in one corner means the nozzle is now twice as far from the plate as it should be — the line will not stick.

That is the gap a mesh fills in.

Mesh levelling vs the old paper test

The paper test still has a place. It sets the average Z offset — how close the nozzle sits to the plate when the firmware thinks Z equals zero. You need that to be right before any mesh is useful, because the mesh only corrects the variation around that average.

Get the Z offset wrong and a perfect mesh will still print too high or too low everywhere. Get the Z offset right but skip the mesh and the centre of the plate will be fine while the corners scrape or refuse to stick.

You need both. Z offset first, mesh second.

How often should you run a fresh mesh

Not before every print, despite what some printers default to. A mesh is a snapshot of the plate at one temperature. If nothing physical has changed, the mesh from last week is still valid.

Run a new mesh when you:

  • Swap the build plate (smooth PEI to textured, or vice versa)
  • Change the nozzle, especially to a different diameter
  • Move the printer to a new spot or knock it during a filament change
  • See the first layer go patchy on one side but fine on the other
  • Change bed temperature significantly — a mesh probed at 60 deg C is not quite right at 100 deg C

If you print the same material on the same plate every day, monthly is plenty.

How it works on the printers we see most

Bambu (A1, P1, X1). Auto mesh runs at the start of each print by default using the lidar or micro-lidar plus the nozzle as a probe. You can disable it for short prints to save a minute. The mesh is shown in the printer screen under calibration if you want to see the actual numbers.

Prusa (MK3S, MK4, Core One). Mesh Bed Levelling is built in and runs at the start of every print. The MK4 uses a load cell in the nozzle, so the nozzle itself is the probe. You can view the mesh in the menu — a flat plate should read within about 0.04 mm across the whole grid.

Creality (K1, K2, Ender 3 V3 KE, Ender 3 V3 SE). Newer models auto-probe with a strain gauge or microswitch on the toolhead. Older Enders need a BLTouch or CR Touch added, with G29 configured in the start G-code, or you are stuck doing it manually through the LCD menu.

Voron, RatRig and other Klipper builds. BED_MESH_CALIBRATE runs the probe across the grid. Save it with SAVE_CONFIG, load it in your slicer start G-code with BED_MESH_PROFILE LOAD=default.

When the auto-mesh still gives a bad first layer

This is the awkward one. The mesh ran, the screen says calibration complete, but the first layer is still rubbish on one side. A few common causes:

The probe and the nozzle disagree. Inductive probes (BLTouch, CR Touch) read the metal of the plate, not the actual print surface. If your PEI sheet is sitting unevenly on the magnetic base, the probe sees a flat aluminium plate underneath while the nozzle hits the bumpy sheet on top.

The bed was cold during probing. Many printers probe before the bed reaches full temperature to save time. The plate then expands during the print and the mesh is wrong. Force the bed to full temperature before the mesh runs — most slicers have an option for this in start G-code.

There is gunk under the probe points. A blob of dried glue stick or a stray bit of filament under one corner of a spring-steel sheet will throw a single point off by a few tenths of a millimetre and skew the whole mesh.

The probe itself is dirty, magnetised, or loose. We have seen BLTouch pins that no longer deploy cleanly and Bambu lidar windows fogged with PLA dust.

When the mesh is telling you something physical is wrong

Most firmware lets you view the mesh as numbers or a heatmap. A healthy 235 mm plate should show variation under about 0.2 mm across the whole grid.

If you see 0.4 mm or more between the highest and lowest point, the mesh is not going to save you. Something mechanical is off. Likely suspects: a bent build plate, sagging bed springs, a frame that is not square, a loose Z motor coupler, or a Y-axis carriage that has worked loose. No amount of compensation fixes a tilted gantry.

That is the point where mesh levelling has done its job — it has told you the plate cannot be fixed in software.

When to mail it in

If your mesh shows more than 0.3 mm of variation and re-tramming the bed does not bring it down, or the auto-probe is giving wildly different numbers each time, send it in. We diagnose the probe, check the plate for warp with a straight edge, square the frame, and replace bent plates or worn springs. We also reflash and reconfigure BLTouch and CR Touch installs on older Creality machines that have lost their settings.

Do not pay for a repair before you have run the mesh and looked at the numbers — sometimes the fix is a clean of the probe and a fresh Z offset, which costs nothing. If you are stuck, send a photo of the mesh through /contact.html and we will tell you whether it is worth posting the machine.