XYZ cube · 20 mm

A media library for 3D printing

Find the model you already own.

You have gigabytes of STLs and no idea what is in them. STLibrarian scans the pile, renders every model, groups the parts that belong together, and remembers what you printed.

Free. Runs on your own machine · no account, no server, nothing to sign up for

Test gear · 12 teeth

The problem

A folder is not a library

I know I bought this one. Search, by name or tag
Which of these four files is the body? Parts grouped as one model
Have I printed this before? Print history, per model
Why is this drive full? Duplicates, found by content

What it does

Point it at a folder. It does the rest.

Nothing is moved, renamed or deleted. Scanning reads your files and writes only to its own database, so your folders stay exactly as you left them.

Previews

Every model, rendered

Drawn on the machine holding the library, with no GPU and no browser needed. A three million triangle mini takes about two and a half seconds, at full detail.

Measurements

Will it fit? What will it cost?

Bounding box, triangle count and enclosed volume. Volume becomes grams of resin, and if the mesh has holes it says so instead of quoting a number it invented.

Structure

Packages, tags, collections

Four files that are one dragon become one model. Supported and unsupported copies are recognised as the same thing. It proposes; you decide.

Print records

What you actually made

Printer, material, settings, outcome. Failures included, because how many attempts it took is the interesting part.

Sliced files

Print it again, exactly

Save your slicer's output beside the model. Layer height, time and material are read from it, and a print record points at the file that ran.

Your slicer

One click to Lychee or Prusa

Open any model in whatever handles it on your machine, including when the library lives on a NAS across the room.

Two ways to run it

Your bench, or the whole shop

Desktop

One person, one disk

  • Reads your folders and never writes to them
  • Drag a folder onto the window to add it
  • Opens models in your slicer
  • No server, no account, nothing to administer

FreeMac, Windows and Linux

Server · in testing

A shared library on the NAS

  • Everything above, in a browser, for everyone
  • Accounts and roles; prints record who ran them
  • Collections shared with the shop, or kept to yourself
  • The only part allowed to rearrange files, and it shows you every move before it makes one
  • Point the desktop app at it and still open files in your local slicer

Free while testingA one-time $19.99 for forever updates when it ships

Download

One app, on your machine

It reads the folders you already have and writes nothing to them. No server, no account, nothing to administer. Open it, point it at your models, done.

Free, and free to keep. No account, no telemetry.

Docs

Your library is one file. Back that up.

Everything you tell STLibrarian lives in a single SQLite file: tags, packages, collections, print history, every correction you made by hand. Your models stay where you keep them and are never copied into it.

Where the library keeps itself. The app shows you this path, with a button to reveal it, under Backup.
PlatformFolder
macOS~/Library/Application Support/STLibrarian/
Linux~/.local/share/STLibrarian/
Windows%APPDATA%\STLibrarian\
AnywhereSTLIBRARIAN_DATA_DIR overrides all of the above
Back up

Copy stl.db

That is the whole library. The thumbnails/ folder beside it is drawn from your models and rebuilds itself, so skipping it costs nothing but time.

Do it safely

Close the app first

Or copy stl.db-wal and stl.db-shm with it. Those hold writes not yet folded into the main file, and a copy without them can be a moment stale.

Restore

Put it back and open it

If your models ended up somewhere else, the library will say so rather than looking empty, and it can go and find them.

When your models move

A restore onto a different machine, a library moved to a bigger disk, a share remounted somewhere else: every stored path is wrong at once. Nothing is deleted for being missing, because an unplugged drive must not empty your library. Instead Missing files appears in the sidebar.

Point it at wherever the models are now and it matches them by content, so renames and reorganised folders make no difference. It only opens files whose size already matches something missing, so it is not re-reading your whole collection to find a few strays.

For what searching cannot reach, such as a model re-exported at a different resolution or a mesh you repaired, Locate points one model at one file by hand. The entry is then re-measured from that file, so its triangle count and volume describe what is actually there.

Optional

Running it for a workshop

Sharing one collection between several people? The same library runs on a NAS and serves everyone a browser. In testing, and free while it is.

# Build the web front end, then start the server
yarn install && yarn build
cd src-tauri
cargo run --release --no-default-features \
  --features server --bin stlibrarian-server

# An administrator password is printed once, on first start.
# Then open http://your-nas:3000