Skip to content

3D Printer Control Interfaces & Management Software: Mainsail, Fluidd, OctoPrint, Moonraker, and KlipperScreen

The Klipper Web UI Stack

Before diving into individual interfaces, it helps to understand how the components fit together for Klipper-based printers. Klipper firmware itself does not expose a web interface — it relies on a layered stack:

Klipper (firmware/motion control)
    ↓
Moonraker (API server — translates Klipper into a REST/WebSocket API)
    ↓
Mainsail or Fluidd (web UI — communicates with Moonraker, not Klipper directly)

KlipperScreen sits alongside this stack as a local touchscreen UI, also talking to Moonraker. OctoPrint operates independently of this stack and connects directly to printers via serial.


Moonraker

What is Moonraker?

Moonraker is the API server that sits between Klipper and any web-based front end. It exposes Klipper's functionality over a REST and WebSocket API, handles file management, print history, update management, and integrates with services like Telegram bots and power control plugins.

Important: Moonraker is a required component for both Mainsail and Fluidd. Neither interface communicates with Klipper directly. If Moonraker is not running or is misconfigured, the web UI will not function.

Technical Details

  • API Layer: Provides a consistent REST and WebSocket API that decouples Klipper from any specific front end.
  • Update Manager: Handles OTA updates for Klipper, Moonraker, Mainsail, Fluidd, and other components via the web UI.
  • Database: Maintains a local database for print history, user configuration, and UI state.
  • Extensible: Supports notifier integrations (Telegram, Pushover), power device control, and more via its own configuration.

Official Moonraker Docs


Mainsail

Mainsail Logo

What is Mainsail?

Mainsail is a lightweight, responsive web interface designed specifically for Klipper printers. It communicates with Klipper through Moonraker and aims to deliver a clean, focused experience for day-to-day printing and configuration.

Brief History

Mainsail was developed by the Klipper community as a dedicated front end focused on reliability and simplicity. As of 2025, it has become the more actively maintained of the two major Klipper web UIs, with a larger contributor base and more frequent releases. It is the default interface shipped with MainsailOS and is widely recommended for new Klipper builds.

Technical Details

  • Klipper-Specific: Designed exclusively for Klipper via the Moonraker API — not compatible with other firmwares.
  • Plugin-Free: Core features are built-in; no plugin architecture required.
  • Responsive UI: Works well across desktop, tablet, and mobile browsers.
  • Active Development: Receives regular updates with new features and bug fixes as of 2025.

Official Mainsail Site

How Does It Differ from Fluidd and OctoPrint?

  • Active Maintenance: Mainsail currently has more active development momentum than Fluidd.
  • Simplicity First: Prioritizes a clean, low-friction interface over deep customization options.
  • Klipper Only: Unlike OctoPrint, Mainsail works exclusively with Klipper through Moonraker.

Fluidd

Fluidd Logo

What is Fluidd?

Fluidd is a web interface for Klipper that offers a feature-rich, customizable experience. Like Mainsail, it communicates with Klipper via Moonraker.

Brief History

Fluidd was developed to meet demand for a Klipper-dedicated interface with richer features and more UI flexibility. It was a popular alternative to Mainsail for several years. As of 2025, Fluidd's development pace has slowed relative to Mainsail, though it remains functional and continues to be used by a portion of the community. Existing Fluidd users have no pressing reason to switch, but new builds generally default to Mainsail.

Technical Details

  • Klipper Integration: Full integration with Klipper via the Moonraker API, identical in back-end behavior to Mainsail.
  • Customizability: Offers more UI customization options and theming compared to Mainsail.
  • Performance Metrics: Includes comprehensive printer and job statistics dashboards.

Official Fluidd Site

How Does It Differ from Mainsail and OctoPrint?

  • Customizability: Provides more interface configuration options than Mainsail out of the box.
  • Development Activity: Less actively maintained than Mainsail as of 2025; new feature development has slowed.
  • Klipper Only: Like Mainsail, it operates exclusively through Moonraker and does not support other firmwares.

KlipperScreen

What is KlipperScreen?

KlipperScreen is a touchscreen GUI for Klipper printers. Rather than running in a browser, it runs directly on a connected display (typically a Raspberry Pi DSI display or HDMI-connected screen) and communicates with Moonraker to provide local, hands-on control without needing a phone or computer.

Technical Details

  • Moonraker-Backed: Like Mainsail and Fluidd, KlipperScreen talks to Moonraker — all three can run simultaneously on the same printer.
  • Touch-Optimized: Large buttons and simplified navigation designed for touchscreen use while standing at the printer.
  • Common Use Cases: Homing, leveling, temperature control, starting/canceling prints, and running macros directly from the display.
  • Hardware Requirements: Runs on a Raspberry Pi or compatible SBC with a connected display; can also be run on a separate device pointed at the same Moonraker instance.

Official KlipperScreen Docs

Note: KlipperScreen is a complement to, not a replacement for, Mainsail or Fluidd. Most users run a web UI alongside KlipperScreen.


OctoPrint

OctoPrint Logo

What is OctoPrint?

OctoPrint is an open-source 3D printer web interface that communicates directly with printers over a serial connection. It is firmware-agnostic, making it compatible with Marlin, RepRapFirmware, and other non-Klipper firmwares.

Brief History

Developed by Gina Häußge, OctoPrint started as a side project and grew into the dominant web interface for consumer 3D printers throughout the 2010s. It remains widely used and actively developed, particularly among Marlin-based printer owners. As Klipper adoption has grown, OctoPrint is no longer the default recommendation for new Klipper builds — the Moonraker + Mainsail/Fluidd stack offers deeper Klipper integration. However, for non-Klipper printers, OctoPrint remains the most feature-complete and community-supported option available.

Technical Details

  • Plugin System: OctoPrint's most distinctive feature is its extensive plugin ecosystem (1,000+ plugins), enabling capabilities like remote access, failure detection (Obico/The Spaghetti Detective), slicing, push notifications, and more.
  • Camera Integration: Built-in support for webcam streaming and timelapse recording via mjpeg-streamer or similar.
  • Broad Firmware Compatibility: Works with Marlin, RepRapFirmware, Smoothieware, and others via serial GCode communication.
  • Not Recommended for Klipper: While OctoPrint can technically connect to Klipper, it lacks native awareness of Klipper-specific features (macros, pressure advance, resonance compensation, etc.). The Moonraker-based stack is the correct choice for Klipper.

Official OctoPrint Site

How Does It Differ from Mainsail and Fluidd?

  • Firmware Agnostic: The primary differentiator — OctoPrint works with any printer that speaks GCode over serial.
  • Plugin Ecosystem: No other interface matches OctoPrint's breadth of community plugins.
  • Best Fit: Non-Klipper printers (Marlin, RRF, etc.) or existing setups where OctoPrint is already established.

Comparison Table

Feature Moonraker Mainsail Fluidd KlipperScreen OctoPrint
Role API server Web UI Web UI Touchscreen UI Web UI
Klipper support Required Yes (only) Yes (only) Yes (only) Limited
Non-Klipper support No No No No Yes
Interface type Headless API Browser Browser Local display Browser
Plugin system No No No No Yes (1,000+)
Active development (2025) Yes Yes Slowed Yes Yes
Recommended for new Klipper builds Required Yes Usable Optional No
Recommended for Marlin/non-Klipper N/A No No No Yes
Customizability N/A Moderate High Low High (via plugins)
Camera/timelapse support Via plugins Yes Yes No Yes

Summary

For Klipper-based printers, the standard stack is Klipper + Moonraker + Mainsail (or Fluidd). Moonraker is not optional. KlipperScreen is a worthwhile addition for printers with a physical display. Mainsail is the current community preference for new builds due to its active development, though Fluidd remains a capable and functional alternative.

For non-Klipper printers (Marlin, RepRapFirmware, etc.), OctoPrint is the most mature, feature-complete, and community-supported choice.

For deeper guidance on each tool, refer to the official documentation linked in each section above, as well as community resources such as the Klipper Discord and the r/klippers subreddit.