An unofficial fork of Spoolman by Donkie. Not affiliated with or endorsed by the Spoolman project.
Spoolman Extended adds NFC tag reading and writing to Spoolman. Nothing else is changed: the inventory, the API, the label designer and the web client all work exactly as they do upstream, and everything below this notice is Spoolman's own documentation, unedited.
| Upstream | https://github.com/Donkie/Spoolman — report Spoolman bugs there, not here |
| Base version | v0.26.1 (f387203). Fork versions mirror it as 0.26.1+ext.N, so the base is always visible |
| Status | In development |
| Install | INSTALL.md — copy-paste, from a release zip |
What Spoolman Extended adds explains it in plain terms, without assuming you know what NDEF is, and INSTALL.md has the commands. The short version:
- Read and write NFC tags from within Spoolman, using a PN532 reader.
- A choice of tag formats on write — OpenTag3D, OpenSpool, nfc2klipper and UID-only bindings, with the compatible NTAG chips computed from the actual payload rather than guessed.
- Tag writing folded into the existing "add spool" flow, so a new spool can be created and tagged in one pass.
- Tapping a tag that Spoolman already knows about takes you to its spool.
The reader is driven by a small separate daemon (nfcd/), so an installation
without NFC hardware runs exactly like upstream Spoolman and needs none of its
dependencies.
integrations/snapmaker-u1/— keeps a Snapmaker U1's per-channel spool state mirrored into Spoolman'sLocationfield, and works around a stall in SpoolLink's own tag resolution. A separate service that nothing else depends on; skip it if you have no U1.
Spoolman is MIT licensed, © 2023 Daniel Hultgren. LICENSE is unchanged and
applies to all of it. Additions made in this fork are © 2026 SwineFlew931 and
released under the same MIT license.
Keep track of your inventory of 3D-printer filament spools.
Spoolman is a self-hosted web service designed to help you efficiently manage your 3D printer filament spools and monitor their usage. It acts as a centralized database that seamlessly integrates with popular 3D printing software like OctoPrint and Klipper/Moonraker. When connected, it automatically updates spool weights as printing progresses, giving you real-time insights into filament usage.
- Filament Management: Keep comprehensive records of filament types, manufacturers, and individual spools.
- API Integration: The REST API allows easy integration with other software, facilitating automated workflows and data exchange.
- Real-Time Updates: Stay informed with live spool updates through Websockets, providing immediate feedback during printing operations.
- Central Filament Database: A community-supported database of manufacturers and filaments simplify adding new spools to your inventory. Contribute by heading to SpoolmanDB.
- Web-Based Client: Spoolman includes a built-in web client that lets you manage data effortlessly:
- View, create, edit, and delete filament data.
- Search, group and filter your inventory by manufacturer, material, location and more.
- Add custom fields to tailor information to your specific needs.
- Design and print labels with QR codes for easy spool identification and tracking.
- Contribute to its translation into 18 languages via Weblate.
- Database Support: SQLite, PostgreSQL, MySQL, and CockroachDB.
- Multi-Printer Management: Handles spool updates from several printers simultaneously.
- Advanced Monitoring: Integrate with Prometheus for detailed historical analysis of filament usage, helping you track and optimize your printing processes. See the Wiki for instructions on how to set it up.
Spoolman integrates with:
- Moonraker and most front-ends (Fluidd, KlipperScreen, Mainsail, ...)
- OctoPrint
- OctoEverywhere
- Home Assistant
- MCP Server - Manage your filament inventory through AI assistants like Claude using the Model Context Protocol
![]() |
![]() |
| Dashboard — spools as cards, grouped by location or any other field. Drag one to move it. | Label designer — QR labels built from any spool, filament or vendor field. |
Please see the Installation page on the Wiki for details how to install Spoolman.
If the new client misbehaves on your setup, set SPOOLMAN_LEGACY_CLIENT=TRUE to go back to
the previous one. Both ship in every release and talk to the same API, so your data is
untouched either way — but please report the problem
so it can be fixed.


