How to Lubricate the Z Axis Lead Screw on 3D Printers

It’s easy to forget sometimes that 3D Printers are mechanical, and like any machine, they need routine maintenance for best results. Left unchecked, wear and tear can affect the print quality, long before we start to hear grinding bearings or a squeaking lead screw.

That doesn’t mean just tightening the belts or cleaning the v-wheels either. Metal to metal contact needs to be periodically lubricated, especially the lead screws, where a brass nut travels in rotations up and down the zed axis.

If you’re experiencing Z-banding (aka ripples or ridges in the print surface), this is often a result of unwanted movement on the threaded rod. Reducing friction with a lubricant will usually fix it, but in my experience, choosing the right product and applying it can be an ambiguous topic, so we’ll look at what works best and how to use it.

Purchased Parts

Dupont Teflon Dry Lubricant - $3.50
91% Isopropyl Alcohol - $4.20

Lead Screw Lubricants

As a part-time hobbyist, I didn’t know much about the purpose of different lubricants, or the reason we choose a certain type instead of others. At least not until I started researching every option on the market. I would usually just put some Silicone lubricant on and leave it at that.

But even with my settings perfectly tuned and machines calibrated, issues on the Z axis were almost always a recurring problem on my 3D Printers. Before following my normal routine, I checked online for suggestions, which ranged anywhere from automotive oils to graphite powders. Some made sense, others sounded a bit crazy, but which one is the best… and why?

The truth is, almost any lubricant will work on the lead screws, but some are far better suited to the purpose. Below are four of the most popular products, with a brief look at the pros and cons of each one.

Teflon Dry Lubricant

The best choice for lead screws is a dry-film PTFE (also known as Teflon™) based lubricant. The micro thin coating repels dirt, prevents corrosion and reduces friction. It behaves similar to silicone, but doesn’t create a sticky residue that can attract dust and a build-up of gunk.

It’s available from DuPont in both liquid form or an aerosol can. These transport carriers are solvents that will evaporate after use, leaving behind only a dry PTFE lubricating powder, which has the lowest friction coefficient of any solid material.

In terms of downsides, there aren’t any, at least where performance is considered. The major complaint is that it’s not eco-friendly or biodegradable, but it’s non-toxic and quite safe to use for our purposes, often found on cooking pans, bike chains and many other applications.

White Lithium Grease

White Lithium Grease is a great alternative for lubricating the lead screws, and works great on all 3D Printer’s mechanical components. It’s intended for metal to metal contact such as gears and threads, and excels in places where there is weight or pressure.

As with any grease however, the downside is that it attracts contaminates floating in the air, which can build up and affect the performance over time. After a few weeks, there is a nasty collection of pet hairs, dandruff and whatever else is floating around.

Graphite Dry Lubricant

Similar to the DuPont Teflon lubricant we will be using, Graphite is also a dry powder that is sprayed using solvents, but evaporate immediately after application. This leaves a lubricating film on the surface that won’t attract dirt and dust particles in the environment.

While Graphite seems to be a frequent recommendation for lead screws, it’s electrically conductive and dangerous to use around electronics. With the potential to short out components, the aerosol version should never be applied near the 3D Printer, and is probably safer to avoid for our purposes.

Silicone Lubricant

While a good Silicone lubricant always comes in handy, it’s intended for plastic-plastic or metal-plastic applications, never metal to metal contact. It’s also not meant for use where pressure or load bearing is involved, as it will compress and spread out.

In unique cases where a plastic or polymer nut (such as nylon) is used, this is the perfect lubricant. This is rarely found on most 3D Printers though, and brass or copper nuts should be used with one of the aforementioned options.


There are plenty of other choices out there, some good and others not so much. For machines that aren’t enclosed, dry lubricants can help avoid a lot of the problems that come with using the grease alternatives.

As the question does come up far too often, it’s important to note… DO NOT USE WD-40. The original formula in a blue/white can is not a lubricant, it’s a solvent that eats rust and will create problems over time.


Before we can start lubricating the lead screws, the old grease from the factory should be thoroughly cleaned off. DuPont uses binding agents in their PTFE based lubricant that helps it adhere to the surface, but these can be compromised by any existing residue.

Since most makers will have at least 91% Isopropyl alcohol on hand for cleaning their beds, I will be using that for degreasing the lead screws. It evaporates quick and doesn’t leave behind a film on the metal, which is exactly what we want. Other good household options include Acetone, Mineral Spirits or Brake Cleaner.


Apply a small amount of 91% isopropyl alcohol on a clean rag or folded paper towels, then start wiping down the lead screw from top to bottom. Make sure to raise/lower the Z axis so you can reach the areas that are covered up near the nut.


When there is no more dirt and grime coming off the lead screw, it’s time to grease the threaded rod with fresh lubricant. Vigorously shake the bottle to mix the contents, where the dry Teflon powder with settle at the bottom and needs to be stirred up.

Since the 4oz squeeze bottle is a liquid, we will start applying it at the top of the lead screw. Put a few drops inside of the threads, then work your way down towards the bottom, squeezing a few more drops every 6 inches or so. The fluid will immediately start to trickle down, helping to spread itself out evenly in the gaps.

If you’re using an aerosol can instead, it’s best to remove the lead screw from the 3D Printer and spray the coating in a well ventilated area.


Once we’re finished, we’ll jog the Z axis up and down a few times, helping to further distribute the new lubricant over the entire lead screw. This can be done from the LCD screen’s motion controls, but sitting through 4-5 rotations is exhausting. Instead, we can just use a G-Code script from to do all of the work for us.

Copy and paste the following code snippet in to an empty text file, then save and rename it to something like lubricate.gcode. Before we use it, look in the section called “Main Code” for the (2) lines “G0 Z150.00”, changing these values after the Z from 150.0 to match the height of your 3D Printer in millimeters. (Ender-3 is 250.0, Ender-5 is 300.0 and CR-10 is 400.0).

Now we can just run this file on our 3D Printer like it was a normal print job, which will cause it to cycle through the commands.

;Example code courtesy of
G21 ;metric values
G90 ;absolute positioning
M82 ;set extruder to absolute mode
M107 ;set fan off
G28 X0 Y0 ;move X/Y to min endstops
G28 Z0 ;move Z to min endstops
G1 Z30.0 F9000 ;move platform to clear indicator
G92 E0 ;zero the extruded length
G92 E0 ;zero the extruded length again
G1 F9000
M107 ;set fan off

;--------------Main Code-------------------------------------------------
G0 F3500 X30.000 Y65.00 Z10.000 ;move nozzle away from home point
G0 Z150.00 ;move z to 150mm (adjust as needed)
G0 Z10.00 ;move z back down (adjust as needed)
G0 Z150.00 ;move z to 150mm (adjust as needed)
;finnish and return to home postion (you can add more G0 loops if you need)
G28 X0 Y0 ;move X/Y to min endstops
G28 Z0 ;move Z to min endstops

;--------------Footer Code-----------------------------------------------------
G0 F9000 X30 Y40 Z50
;End GCode
M104 S0 ;extruder heater off
M140 S0 ;heated bed heater off (if you have it)
G91 ;relative positioning
M84 ;steppers off
G90 ;absolute positioning


When the script has finished running the commands, we’re all done! The liquid solvent will have already evaporated, leaving behind a dry Teflon powder coating to keep things smooth on the Z axis lead screw.

Since this won’t collect dust and other particles in the air, we don’t need to clean it as often when applying more lubricant in the future. Just add a few drops to the threads once every few months, jog the Z axis and keep on 3D Printing.

Leave a Reply

Your email address will not be published. Required fields are marked *