SpoolGuide

Filament tracker

Add your spools, log the grams of each print, and see what is left on every spool and what each print cost in filament. It is free and needs no account.

Example spools

These spools are an example: log a print to see how it works. Add your own spool to start your tracker. It is saved in this browser, with no account.

Spools

$32.88 of filament on hand, 1 under 100 g

  • PLA Matte Charcoal

    612 g of 1,000 g left · $2.00 per 100 g · lasts about 44 more days at your pace

  • PETG Blue

    870 g of 1,000 g left · $2.20 per 100 g · lasts about 209 more days at your pace

  • PLA OrangeRunning low

    84 g of 1,000 g left · $1.80 per 100 g · lasts about 49 more days at your pace

Latest prints

  • Cable clips

    Today · PLA Orange · 58 min

    24 g$0.43

  • Desk organizer

    Yesterday · PLA Matte Charcoal · 6 h 45 min

    142 g$2.84

  • Phone stand

    3 days ago · PETG Blue · 2 h 20 min

    58 g$1.28

  • Wall hooks

    6 days ago · PLA Matte Charcoal · 2 h 10 min

    52 g$1.04

Log a print

Last 30 days

Filament
276 g
Print time
12 h 13 min
Filament cost
$5.59
Prints
4

Filament used on each day with a print: today 24 g, yesterday 142 g, 3 days ago 58 g, 6 days ago 52 g.

Have a backup? Restore it to bring your spools here.

How to use it

Add each spool with the grams on it. A new 1 kg spool holds 1,000 g. For a spool you already opened, weigh it and take off the weight of the empty spool, which the spool weight page lists for many brands. The price is optional, and with it every print gets its cost.

After each print, log the grams that your slicer showed for it. The spool loses those grams and the print goes into the history with its cost. A spool under 100 g is marked as running low, and each spool shows how long it lasts at the pace of your last two weeks.

The slicer’s grams are an estimate too, so weigh a spool now and then and press Update grams when the two disagree. Back up saves your spools and prints to a file, which Restore brings back.

Where the grams come from

Your slicer estimates the grams of a print before it starts, and that is the figure most trackers take off the spool. Bambuddy uses the estimate in the print’s 3MF file first, and falls back to the change in the AMS’s percentage when there is none. With Klipper, Moonraker sends Spoolman the filament used while the print runs, every 5 seconds by default.

A printer that reads a spool’s tag shows its own estimate, which can wander during a print. A kitchen scale gives the real figure.

Spoolman for Klipper and OctoPrint

Spoolman is a self-hosted web service under the MIT License. It keeps records of filament types, manufacturers and single spools. Its web page searches, groups and filters them by manufacturer, material and location, and designs labels with QR codes to stick on each spool. It handles several printers at once and stores its data in SQLite, PostgreSQL, MySQL or CockroachDB.

On Klipper, a [spoolman] section in moonraker.conf with the address where Spoolman runs connects the two. A macro then tells Moonraker which spool is loaded, as SET_ACTIVE_SPOOL ID=1 does in Moonraker’s own example. Fluidd, Mainsail and KlipperScreen are among the front ends that show it.

Bambuddy for Bambu Lab printers

Bambuddy is a self-hosted dashboard for Bambu Lab printers, under the AGPL-3.0 license, which talks to them over the local network in Developer Mode. Its spool inventory assigns spools to AMS slots and tracks what each print uses. You set a cost per kilogram on each spool, and a print gets its cost when it ends. It can sync its spools with Spoolman and prints spool labels in several sizes.

Its guide warns that on the H2 series and the P2S, a print started with the Print button of Bambu Studio is archived with no filament total and no cost. Starting the print from Bambuddy, or slicing in OrcaSlicer, avoids that. Its quick start asks for Developer Mode, the same local network, and Python 3.10 or newer, Docker or its Windows installer.

Asked often

Do I need an account?
No. The tracker keeps your spools for your next visit in the same browser on the same device. To move them to another device, press Back up, then Restore the file there.
What is Spoolman?
Spoolman is a free, open source web service that you host yourself, under the MIT License. It keeps a record of every filament spool you own. Connected to OctoPrint, or to Klipper through Moonraker, it updates a spool’s weight as the print goes on.
Does Spoolman work with Bambu Lab printers?
Spoolman’s own list of integrations names Moonraker, OctoPrint, OctoEverywhere and Home Assistant. Bambuddy, a self-hosted dashboard for Bambu Lab printers, can sync its spools and the filament they use with Spoolman.
How accurate is the AMS estimate of filament left?
It is an estimate and not a weight. We watched one AMS move its estimate for a new 1 kg spool between 91% and 100% during a print of 91.7 g. It ended at 98%, while the slicer’s grams left about 908 g.
Why does a failed print count?
Because the filament is gone either way. Log the grams that the print used before it stopped, or the slicer’s full figure if you do not know them, and tick that it failed.

Where the numbers come from

  1. Spoolman on GitHub: README and license (opens in a new tab), read on 2026-11-04.
  2. Moonraker documentation: the [spoolman] section (opens in a new tab), read on 2026-11-04.
  3. Bambuddy on GitHub: README (opens in a new tab), read on 2026-11-04.

Published .

SpoolGuide

SpoolGuide is an independent site and is not affiliated with any printer or filament maker.