Filament Log

Filament inventory and print cost, for 3D printing.

Requires
iOS 18.6 or later
Devices
iPhone · iPad
Language
English
Support
filamentlog@frekvens.ai

Getting started

Add a spool, and the app tracks what is left as you use it. There are three ways to record usage, and you can mix them freely:

Share a sliced file. From your slicer, share the .gcode, .bgcode or .3mf file into Filament Log. It reads how much filament the print used and deducts it. This works with every printer and needs no setup at all.

Connect a Klipper printer. Under Settings › Printers, add the address of the machine running Moonraker. Finished prints then deduct themselves with no action from you.

Weigh the spool. Put it on a kitchen scale and enter the gross weight. The app works backwards to what is left, which corrects any drift.

Weighing a spool

Weigh to correct needs the empty spool weight — the tare. Without it, a gross reading cannot be turned into a filament weight, so the app asks for the tare first rather than guessing.

The tare is usually printed on the spool itself, or listed on the vendor's product page. Common values are around 200 g for plastic spools and 130–250 g for cardboard. Once entered it is remembered for that spool, and for other spools of the same filament.

Why a number looks wrong

An imported print says "estimated"

Cura writes only the length of filament used, not the weight. The app converts length to grams using the spool's diameter and density, which is accurate but depends on those two values being right. PrusaSlicer, OrcaSlicer and Bambu Studio write the weight directly, so those imports are not estimates.

A print from my printer used more than the slicer said

Moonraker reports what the printer actually extruded, including purge, priming and any filament used before a failure. The slicer reports what it planned. The printer's figure is the true one.

The remaining weight drifted over time

Small errors accumulate — purge towers, retraction, a spool that was not quite full when new. Weigh the spool and the app resets to the measured truth.

Printers

Klipper printers running Moonraker are supported. OctoPrint, PrusaLink and Bambu Lab in LAN mode are listed in the app as not yet supported, and sharing a sliced file works with all of them in the meantime.

Only prints from now on

When you add a printer, the app starts from that moment. A machine with months of history will not retroactively empty every spool.

A finished print is waiting for a decision

If a print finishes and no spool is set as loaded on that printer — or the run ended early, or automatic deduction is off — the app holds it under Needs a decision instead of guessing which spool it came off. Pick a spool and it is logged. Nothing is lost, and a held print survives closing the app.

My printer already reports to Spoolman

Then the app deliberately does not deduct. Moonraker's own Spoolman component is already doing it, and deducting here as well would count every print twice. The printer's screen in the app says so when it detects this.

Spoolman

If you run Spoolman, Filament Log syncs with it two ways: your spools, filaments and vendors stay in step, and usage recorded in the app is pushed to the server.

Version 0.18.0 or later is required — earlier versions lack the endpoints the app relies on. Enter the address exactly as you reach it on your network, including the port, which is 7912 by default.

Changes made while the server is unreachable are queued on the device and sent when it comes back, so working offline in a garage with no signal is fine.

NFC tags

Filament Log reads and writes open-format OpenSpool tags, so a tag written here can be read by other tools that use the same format.

Use NTAG215 or NTAG216 tags. NTAG213 holds 144 bytes, which is not enough for the payload, and the app will say so rather than writing a truncated tag.

Alerts

Low-stock alerts are scheduled on your device. Permission is asked for the first time a spool actually runs low, not when you open Settings — so if you have never seen the prompt, no spool has crossed its threshold yet.

Each spool can override the default threshold in its own settings.

Your data

A new phone, or a second device

Spools, prints and history sync through your own iCloud account, so signing in to the same Apple Account brings everything across. Printers are deliberately not synced: they hold a network address and a key that belong to one device.

I bought Pro and it is not unlocked

Settings › Restore purchases. Purchases are tied to your Apple Account, so there is nothing to pay again on a new device.

I deleted a spool and want the print history

It is still there. Deleting a spool does not delete the prints made from it — each print keeps the name and material of what it was made from, and the spool shows as "since deleted".

Editing one spool changed another

It should not, and does not. Spools of the same product share one filament record so your Spoolman library does not fill with duplicates, but editing product details on one spool gives that spool its own copy instead of changing the others.

Deleting everything

Settings › Delete all local data removes every spool, print and log on the device. Anything on your own Spoolman server is left alone — delete it there if you want it gone.

Contact

Email filamentlog@frekvens.ai. Include your iOS version and, if it is about a specific print or spool, what you expected the number to be — it makes the answer much faster.

Bug reports about a slicer file are easiest to fix with the file attached. It contains only the print's own settings and geometry, and it is used to reproduce the problem and then deleted.