Mainsail

GPL-3.0
Platform
Web Docker
Licence
GPL-3.0 Open source
Mainsail

Mainsail is a web interface for 3D printers running Klipper. It is a Vue application that talks to Moonraker, the API server that sits in front of Klipper, and its goal is stated plainly by the project: make Klipper more accessible with a lightweight, responsive interface built on an intuitive and consistent design. It does not host the printer connection itself — it is the pane of glass you look through.

Key Features

  • Responsive interface — designed for desktops, tablets and phones, so the same install is usable on a wall-mounted tablet next to the printer and on a laptop elsewhere.
  • G-code viewer — renders the print in 3D and follows progress through it, which makes it obvious where a job has reached and what remains.
  • File manager and in-browser editor — upload, rename and delete G-code and configuration files, and edit them with syntax highlighting without leaving the browser.
  • Print history and statistics — keeps a record of previous jobs and their outcomes, and reports how much time the printer has spent running and how many jobs succeeded or failed.
  • Job queue — queue several jobs and add to the queue directly from the slicer.
  • Bed mesh visualisation — shows the probe result as a 3D mesh, which is far easier to read than a table of numbers when you are chasing a warped bed.
  • Multi-webcam and timelapse — view a print from several angles and record timelapses through moonraker-timelapse.
  • Power control and macros — switch relays, TP-Link and Tasmota devices, and manage macros at a fine-grained level.
  • Dashboard and theming — build your own dashboard layout, and change logos, backgrounds and CSS.
  • Printer farm support — one Mainsail installation can manage multiple printers.
  • Localisation — the interface is translated into 12 languages.

Why use Mainsail?

If your printer runs Klipper, Mainsail gives you the fast, modern control panel that Klipper itself leaves you to choose. It is deliberately thin — the heavy lifting is done by Klipper and Moonraker — so the interface stays quick on modest hardware such as a Raspberry Pi, and the layout can be rearranged to match how you actually work.

Use cases

  • Giving a Klipper printer a fast, phone-friendly control panel.
  • Wall-mounting a tablet beside the printer as a permanent dashboard.
  • Managing several Klipper printers from one place.
  • Editing printer configuration and macros from a browser instead of over SSH.

Requirements

Klipper plus Moonraker on the machine that controls the printer; Mainsail itself is served as static files (Moonraker can serve them) or run from the project’s Docker image. It is not an alternative to Klipper — it is a front-end for it.

Alternatives

  • Fluidd — the other widely used Klipper web interface, with a panel layout you can move around.
  • OctoPrint — a full print host that supports more than Klipper, at the cost of being heavier.

Explore More Categories

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.