A free, open-source web interface for Klipper that lets you manage and monitor your 3D printer from a browser.
mainsail-crew/mainsail
A responsive web interface for monitoring and controlling Klipper-based 3D printers, built on the Moonraker API.
Open-source alternative to:OctoPrint
- Stars
- 2,243
- Forks
- 614
- Open issues
- 107
- Last commit
- 7 days ago
What is it?
Mainsail is a web user interface for Klipper, the 3D printer firmware. It runs in the browser and connects to a Klipper host through Moonraker, the API server that Klipper uses for remote access. It is designed to work on desktops, tablets and phones, and it can manage several printers from one installation.
The interface covers the day-to-day print workflow: uploading and managing G-Code and config files, editing them with syntax highlighting, queuing jobs, following progress in a 3D G-Code viewer, and reviewing print history and usage statistics. It also shows temperature graphs, bed mesh visualisation, macros and temperature presets, and can control power devices such as relays and smart plugs.
Mainsail supports multiple webcams and integrates with the moonraker-timelapse project to record timelapses. The dashboard and theme can be customised, and the UI is available in 12 languages.
Key features
- 01Responsive interface that works on desktops, tablets and phones
- 02Manages multiple printers from one installation
- 03File manager and in-browser editor with syntax highlighting for G-Code and config files
- 04Job queue, print history and usage statistics
- 053D bed mesh visualisation and G-Code preview with progress tracking
- 06Multi-webcam support and timelapse recording
Use cases
- Operating a Klipper printer from a browser without a dedicated computer attached to it
- Running a small print farm with several Klipper printers under one interface
- Tracking print success rates and printer usage over time
- Controlling printer-side power devices and macros from a phone or tablet
Quick start
- 1
Visit the official setup docs to install Mainsail
- 2
Optionally try the hosted remote mode at my.mainsail.xyz
Things to know
- Requires an existing Klipper printer with the Moonraker API running.
- Licensed under GPL-3.0, a copyleft license that requires derivative works to be open-sourced.
Topics
FAQ
- What is mainsail?
- A responsive web interface for monitoring and controlling Klipper-based 3D printers, built on the Moonraker API. Mainsail is a web user interface for Klipper, the 3D printer firmware. It runs in the browser and connects to a Klipper host through Moonraker, the API server that Klipper uses for remote access. It is designed to work on desktops, tablets and phones, and it can manage several printers from one installation.
- Is mainsail free to use? What license does it have?
- mainsail is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
- Is mainsail still maintained?
- Actively maintained. The last commit to mainsail was on Oct 31, 2026.
- What can I use mainsail for?
- Operating a Klipper printer from a browser without a dedicated computer attached to it Running a small print farm with several Klipper printers under one interface Tracking print success rates and printer usage over time Controlling printer-side power devices and macros from a phone or tablet
- How do I install mainsail?
- Visit the official setup docs to install Mainsail Optionally try the hosted remote mode at my.mainsail.xyz
- Where can I get mainsail?
- The source code and installation instructions are on GitHub: https://github.com/mainsail-crew/mainsail
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Self-hosted server for Obico, an open-source smart 3D printing platform with AI failure detection for OctoPrint and Klipper printers.
Open-source slicer that turns 3D models into G-code for Bambu Lab, Prusa, Creality, Voron and other FDM printers.
A self-hosted web service for tracking 3D-printer filament spools, their weights and usage, integrated with OctoPrint and Klipper/Moonraker.
Browser-based embedded bring-up multitool for the Raspberry Pi Pico: a scope, logic analyzer, power supply and bus tools served from the board over USB.
A Django package that replaces the default admin with a responsive flat theme that can be customized from within the admin itself.