Unlevel or warped bed: uneven first layer even with a bed mesh
Guide based on the manufacturers' official documentation; usi3d has not yet verified it on a machine.
Technology: FDM · Symptoms: Unlevel or warped bed, Uneven first layer (thin and thick areas) · Updated on 9 October 2026
Symptom
The first layer is squished in one area and too high or not sticking in another, or one side is very close and the other too far. It happens even though the printer probes the bed automatically, the bed mesh doesn't seem to be applied, or after probing the print starts too high.
Likely causes, from most to least likely
- Compensation isn't active while printing: recent Klipper versions don't load the mesh by themselves at startup, and in Marlin G28 disables leveling by default unless it's turned back on.
- The probe Z offset or the Z endstop isn't calibrated correctly; the mesh depends on them.
- The probe isn't perpendicular to the bed because cables or the tube pull on the carriage, or the gantry is slightly twisted: one side comes out squished and the other high.
- The Z axis moves with difficulty or probing is too fast, and the mesh shows large or inconsistent values.
- The bed is so tilted or warped that the mesh isn't enough: it only approximates the bed shape and can't fix a skewed axis or an inaccurate probe.
Checks to tell which one it is
- Check whether the mesh is active: in Marlin, M420 reports the state and M420 V prints the stored mesh; in Klipper, BED_MESH_OUTPUT prints the current one.
- Review the slicer start G-code or your START_PRINT macro: after homing it should probe the bed or load a saved mesh.
- Look at the mesh values: large or inconsistent jumps point to the mechanics or the probe; if one corner is much higher or lower than the rest, level by hand first.
- Move the carriage along the axis and watch whether cables or the tube pull on it, or whether the gantry is twisted.
Before you start
Before taking anything apart, cleaning or adjusting it, switch the printer off and unplug it, unless a step says otherwise, and do not touch the nozzle, the heater block or the bed until they have cooled down. If in any doubt about electricity, heat or moving parts, stop and ask a professional.
Step-by-step fix
Enable the mesh for every print
Klipper: add BED_MESH_PROFILE LOAD=default to your START_PRINT macro or start G-code, or probe a new mesh with BED_MESH_CALIBRATE on each print. Marlin: after G28, enable compensation with M420 S1 (it needs a valid mesh).
Check: The first layer is even across the whole bed.
If that does not fix it: Calibrate the Z offset.
Calibrate the Z offset before the mesh
The mesh needs the probe offset or the Z endstop to be calibrated. In Klipper, follow the probe calibration guide (Probe Calibrate) or use Z_ENDSTOP_CALIBRATE with the paper test and save with SAVE_CONFIG. On other printers, use their first-layer wizard.
Check: The first layer height is right in the center of the bed.
If that does not fix it: Check that nothing pulls on the probe.
Make sure nothing pulls on the probe carriage
Reroute cables and the tube so they don't pull on the carriage, and fix the gantry if it's twisted: the probe must stay perpendicular to the bed along the whole travel.
Check: Both sides of the first layer come out alike.
If that does not fix it: Level the bed by hand.
Level by hand if the bed is very tilted
If your bed has leveling screws, adjust them before probing the mesh. In Klipper with a probe, SCREWS_TILT_CALCULATE (always after a G28) tells you how far to turn each screw; repeat until all adjustments are very small. If the probe has an X or Y offset, calibrate it again afterwards.
Check: The screws need only minimal adjustments and the mesh comes out flatter.
If that does not fix it: Probe a new mesh and try again.
Use fade on warped beds
With fade, the correction is reduced gradually with height so the top of the part comes out flat. In Klipper it's set with fade_start and fade_end (the documentation suggests starting with a fade_end of 10 mm); in Marlin, with M420 Z followed by the height. The more warped the bed, the higher the fade height.
Check: The upper layers of the part no longer copy the bed shape.
If that does not fix it: Check the Z axis and probing speed.
If the mesh still looks wrong
Check that the Z axis moves smoothly without binding. If you configure the firmware yourself, the Marlin documentation advises against Z acceleration or probing speed set too high.
Check: Repeating the measurement gives a consistent mesh.
If that does not fix it: Contact your manufacturer's support about the bed or the probe.
Prevention
- After touching the bed screws or moving the probe, recalibrate the offset and probe a new mesh.
- Don't reuse an adaptive mesh: it's calculated only for the area of each print.
- Keep the cables and tube going to the print head tidy so they don't pull on it.
Still not fixed?
Tell usi3d's AI about your case: choose your printer, describe what you see and add photos if you like. It proposes checks step by step, with their sources.
Printers it applies to
Any FDM (filament) 3D printer, from any brand.
Official sources
This guide summarises the official documentation linked here:
- Bed Mesh · Klipper
- Manual leveling · Klipper
- M420 - Bed Leveling State · Marlin
- Troubleshooting Tips (One Side High, One Side Low; Printing Starts Too High) · Marlin
This guide is general information: usi3d has summarised it from the official documentation linked here, and it may not match your model, its version or its firmware. If in doubt, follow the manual and the support of your printer's manufacturer. You decide what you do with your machine, and working on it may affect its warranty.