OctoPrint adds a web interface to any 3D printer and allows remote printing and monitoring. It can easily be extended with plugins to be even more useful. But finding good ones in the public plugin repository is like looking for a needle in a haystack.

I spent a lot of time trying out different plugins and getting them to work together.

To make your life a little easier, here are my favorite OctoPrint plugins:

Print Time Genius& Display Layer Progress

PrintTimeGenius generates highly accurate printing time estimations by utilizing the GCode and previous prints. In my experience it estimated ~10 hour prints with an error of a few minutes. That is way better than OctoPrint’s estimations. An absolute must-have. DisplayLayerProgress extracts layer/height information from the GCode and displays it in the web interface and on your printer’s LCD screen.

Print Time GeniusDisplay Layer Progress

Detailed Progress & M73 Progress

Detailed Progress displays the job’s progress in percent, estimated time left and estimated time of completion on your printer’s LCD screen. M73 Progress requires Marlin firmware and causes the LCD’s progress bar to show the correct value instead of 0%.

Detailed ProgressM73 ProgressHint


This plugin can display your OctoPrint interface in a touch-friendly and compact way. Since it is web based, it’s completely dynamic and works (almost) flawlessly with most plugins. I use it to monitor and control my printer from my phone. I recommend traiting it as an app on android. It is also somewhat customizable.

TouchUIMy Settings


Themeify offers a selection of themes to spice up the web interface. It also enables you to apply custom CSS rules and display tab icons. It can reduce eye strain with a dark theme and distracts less from the webcam image. Combining it with TouchUI allows for a consistent style.

ThemeifyMy Settings

Firmware Updater

This plugin allows you to flash precompiled firmware to your printer by simply uploading it in the browser. Very useful and time-saving!

Firmware UpdaterHint


Octolapse is designed to make stabilized timelapses of your prints with as little hassle as possible, and it’s extremely configurable. It usually produces stunning results (like the one on the right), but also adds a fair amount of time to your print duration. I recommend only using it with interesting models and filament that contrasts your bed or background.


Fullscreen Webcam

With this plugin installed, double clicking the webcam image will enlarge it to fullscreen and display temperature and progress information. Useful to see the print in detail and spot fails.

Fullscreen Webcam

Custom Background

This plugin allows you to change the temperature graph’s background image by simply uploading it. You can even use GIFs!

Custom BackgroundMy GIF

GCODE System Commands& Custom Control Editor

I’m using Custom Control Editor to add buttons to the Control tab. They send custom GCODE commands when clicked. GCODE System Commands then turns these into system commands. From there, you can control pretty much anything. I installed mosquitto on the Pi running OctoPrint and use MQTT to control lights pointed at the printer.

GCODE System CommandsCustom Control Editor


Autoscroll simply adds a button below the terminal to toggle autoscrolling. Without it, the terminal is just a pain in the ass to use.



Autoselect will automatically select newly uploaded files for printing if there is an active connection to a printer and currently no print job running. Convenient.


Heater Timeout

Ever accidentally preheated your hotend or bed and then forgotten to start a print? This plugin will automatically disable your printer’s heaters after a specified timeout if no print has been started.

Heater Timeout

Bed Level Visualizer & BLTouch

The perfect first layer is one of the most important factors to getting high quality prints. That’s why I highly recommend equipping your printer with some sort of auto bed leveling. Using a BLTouch (or clone) for example. Bed Level Visualizer provides a fancy 3D render of the gathered mesh data. The BLTouch plugin simply adds some BLTouch related controls. Both can be very useful from time to time.

Bed Level VisualizerBLTouch