Ender 3 Bed Leveling G-Code: 5 Files For Effortless 3D Prints

The Creality Ender 3 Pro and V2 are widely viewed as some of the best entry-level 3D printers on the market. Both are equipped with a large range of functionality and features.

However, if you don’t have an auto-bed-leveling system (ABS) in place, you’ll have to manually level your bed. Manually leveling the bed ensures that the nozzle is always the same distance away from the bed. But, it involves moving the arm and manually checking the distance between the print nozzle and the bed at every point. 

That can be frustrating and time-consuming if you have to do it yourself every time.

G-code can help and can help you test whether the bed is level or not. A G-code script uses commands to tell the printer where to move the print head for each phase, so you can more easily move from leveling point to leveling point without manually moving the print arm. 

These options include some of the best G-code options for Ender 3 (V2 and Pro) bed leveling. 

What Is Ender 3 Bed Leveling G-Code?

G-code scripts automatically adjust the print arm and nozzle height. For example, a script may move the print arm from location to location, with a pause in between, so you have time to level the bed. You can also get G-code printable tests. 

  • G-Code Leveling Scripts – These include a series of commands that move the print arm from point to point on the bed. This means you can test the bed at pre-defined locations, without having to manually move the arm. In addition, most scripts will stop the arm at the location until you push the scroll wheel. The print arm will then move to the next location, and you can test in that location with a piece of paper. Some scripts will also include a double-check of every location, so you can automatically re-check your leveled bed without any additional work. 
  • Printable Tests – These G-code commands print a small or single-layer design so you can visualize whether the bed is level or not. This can use filament you don’t have to use, but may be ideal if you’re trying to troubleshoot bed problems. 

You’ll also want to ensure that you choose the right script for your 3D printer. For example: 

  • Designed for Ender 3. All Ender 3 models have the same bed dimensions, so it doesn’t matter if you have a V1, V2, or a Pro. You just need the script for Ender 3. That also includes any script with a 235×235 bed allotment or that you can adjust to the same. 
  • Look for scripts with 5-10 points of leveling. More is overkill. Less, and you won’t know if you have a truly level bed. 
  • Use a script that heats the bed. If you have an Ender 3 V2, the glass will actually expand when heated, so you have to level the bed based on the heated bed size. 
  • If you’re looking for a test print, choose one that’s well-reviewed, as that’s usually the best indicator of it working. 

Some scripts include a leveling script and then a test print. These allow you to double-check your work immediately. However, you may not want both. 

5 Bed Levelling G-Code Download Options For Ender 3

There are dozens of bed leveling scripts and G-code options for the Ender 3. However, the following 5 represent some of the best options for dual-purpose bed leveling and testing.

See also  G-Code To STL: 3 Simplified Conversion Steps

This means that each of these G-code downloads includes a leveling script and a test print. 

Starting out with 3D printing and want to AVOID rookie MISTAKES? New: Filament Printing 101 Course
Starting out with 3D printing and want to AVOID rookie MISTAKES?
  • Our new Filament Printing 101 Course is just for you! Lean how to create perfect professional prints without all the hassle.
  • Don't let common mistakes hold you back, click the link to learn more and get ahead now!

Getting Started 

You probably already know how to level your bed. However, just to be sure, you manually level your bed using a piece of paper and by manually moving the arm and the bed.

Start by making sure the build plate and nozzle are clean and dry. 

  1. Turn on the machine.
  2. Push the control knob, then scroll to “Prepare”.
  3. Scroll to “Auto Home” and press the knob.
  4. Go to Prepare.
  5. Disable Steppers.
  6. Rotate the leveling wheels on each corner of the bed counterclockwise to lower the bed fractionally. 
  7. Get a Post-It or a sheet of standard printing paper.
  8. Adjust the nozzle so that it will be located over the adjustment screw on the bottom left.
  9. Slide the paper between the bed and the nozzle. You should adjust the bed until the paper just slides under with a slight bit of resistance. Make sure you adjust very slowly and don’t turn more than a half or quarter turn at a time. 
  10. Repeat with the other adjustment screws.

A bed leveling script automates the steps other than adjusting the bed and using the paper. 

1. Circle in Square

Note: The following video is presented in Spanish. However, the video’s description details the process in English as well.

This extremely popular leveling script and test print for Ender 3  is one of the best options on the web.

The test is slow. However, you can adjust arm speed to save time if you are in a hurry. In addition, the script uses 9 leveling points including four corners, the center, and four points in between. 

It also prints a very lightweight test print which is good for saving filament and preventing waste. 

This G-code leveling script is downloadable on Thingiverse from its creator, ingeniosa3D

2. Make it With Tech “Dr VAX”

The Make it With Tech Dr VAX test print includes a script and a test print. First, the printer heats to 40 degrees Celsius. You can adjust this if you normally print at warmer temperatures. Then, it moves to the leveling position and beeps. 

This option is good because it has a bed preheating function built in. However, you may find that it is very slow and you can’t easily adjust the print arm to move faster. Therefore, it will take a long time to level the bed. 

In addition, the test only has 5 points (center, four corners), so if you want to check your calibration, you’ll have to run it again. It then prints a perimeter square with four squares in each corner, and a center “DR VAX” logo. 

Get it here

3. G-Code by Adamsiem

This G-code script for Ender 3 Pro runs you through a 3-round bed leveling cycle that makes use of the console button to move the nozzle forward at each step. It follows up with a test print. This script is ideal for Ender 3 Pro with PLA. 

See also  Marlin Auto Bed Leveling Not Working? (Issue Resolved)

The print uses a cold extruder with a hot bed to avoid damaging the bed. In addition, you get three rounds of calibration, with one to validate the paper leveling. 

From there, the file prints a curved skirt to show consistent filament flow across the bed and a 1.5cm infilled circle for each of the four corners and the center of the plate. 

With 12 test points, and four corners in three cycles, it’s also one of the longest test options you can choose. Therefore, you don’t want this option if your goal is to be quick about your test print. 

Download it here.

4. Perimeter

The Perimeter Ender 2 Bed-Leveling Procedure is a script written by the YouTuber Weitling in the Garage. It includes a bed heating and an extruder heating function.

Here, it’s important to pay attention, as a heated extruder can damage the magnetic peelable bed on the Ender 3 Pro. Therefore, if you have an Ender 3 Pro, adjust the heat on the nozzle or choose a different script. 

This script uses a fast approach to quickly level the print bed and then quickly check the results. It’s a quick approach and the arm moves quickly.

So, if your print bed is a lot out of alignment, you don’t want this. Always make sure you adjust the bed downward before using it. 

In addition, it only prints a perimeter square to check results. This means that you should be relatively sure of the results. However, it will save you on filament costs. 

This G-code script levels the bed based on 6 points of three points in two circles. You then print a double pass test perimeter of 4mm thick. 

Download it here

5. CHEP Concentric Squares 

The CHEP test script is a favorite for beginner printers who want to get rid of most of the messy manual work of bed leveling. The YouTube channel CHEP shares a bed leveling G-code script with complete instructions on how to use it. 

The file is designed for the Ender 3 and includes an M0 or FF_M24_bed_level_gcode option depending on which Ender 3 setup you have. 

The script also includes a concentric square print – which continues to print in levels and you can stop it at any point. It also has 10 leveling points in each corner then the center – and then repeated.

This means it’s not as good as an option with more bed coverage, but will give you a relatively simple and good look at whether or not your bed is level. 

How To Set Up Bed Leveling G-Code On Ender 3

Adding a script to your Ender 3 is relatively simple. However, you will need an SD card or a board connected to a PC

Download G-Code

Choose the G-Code you want to use and download it. The G-Code by CHEP is a great starter point for almost everyone, so if you’re not sure, go with that one.

Download the file. 

Copy Onto SD Card

Copy the G-code file onto your SD card. Alternatively, if you’re using Octoprint or a USB cable, you can use those methods. 

Load Onto Printer 

Turn your printer on with the SD card in the slot. You should automatically run the G-code. 

See also  G-Code Pause Command: A Game-Changer For 3D Printing

Best Practices

  • Double-check to make sure this version of the code works with your printer.
  • Use a blank SD card.
  • Insert the SD card with the printer turned off.
  • If you’re using Cura or another slicer, simply import the G-code through the slicer and not via the SD card.
  • Make sure you’re using the right commands. E.g., several leveling scripts use M-codes rather than G-codes, and several offer both as an option. If your Ender setup doesn’t support M commands, don’t use them. 

In most cases, setting up G-code for your printer should be very easy. Most individual commands also come with specific instructions.

And, if you’re not sure, the same creators that make the codes usually have tutorials on putting G-code on your machine. 

Frequently Asked Questions

If you still have questions about using Ender 3 bed leveling G-code, these frequently asked questions may help. 

How often should you level bed of Ender 3?

Bed leveling is a personal decision. For example, some people prefer to level their print bed after every print. Others will level their bed every few months.

Many people tend to prefer a middle ground of leveling the bed every 5-10 prints or after doing any particularly large or heavy print. Another good metric is about once a week during regular use. During irregular use, you may want to simply level the bed before every print. 

There are also points when you should always level your print bed. 

This will ensure that bed leveling issues aren’t causing failed prints. 

How do I enable mesh bed leveling G-code?

Mesh Bed Leveling is a technique that you can use to compensate for an uneven print surface. For example, if you have a slightly warped bed.

If you’re using Ender 3’s default Marlin slicer, you’ll have to download the file. 

  1. Download Marlin here.
  2. Find the “Configuration” file in the download.
  3. Use a text editor like UltraEdit or Notepad++ to open the file. 
  4. If on a Windows, use CTRL+F to search for #define Mesh Bed Leveling and remove the // in front of it.
  5. Use CTRL+F to search for the $define Restore leveling after G28 and remove the // in front of it.
  6. Remove the // in front of #define LCD Bed Leveling.

This will allow you to access mesh leveling via the bed. It will also automatically enable mesh leveling after the G28 command. 


Manually leveling your Ender 3’s bed can be time-consuming and a lot of fiddling with the nozzle and settings. Simply loading a G-code script onto an SD card and using it whenever you want to level the bed will save you a lot of hassle. And, there are a lot of options with plenty of choices based on what you want. Hopefully, this selection gives you a good option for using G-code to aid manual bed leveling for your 3D printer.

Recent Posts