/ projects / thermalith

Thermalith_

Open Source Thermal Printing

Thermalith is a desktop app for designing and printing labels on NIIMBOT thermal printers. It runs on Windows, macOS, and Linux, and keeps everything local: no account to create, nothing syncing to a server, no telemetry. Label files are plain .nlbl packages stored wherever you put them.

I built it because I own a NIIMBOT printer and didn't want to make an account or reach for a phone app every time I print a label. The official software works, but it's cloud-tied and phone-first. I wanted a real desktop designer that treats my data as mine.

The editor shows a live render of what the printer will actually burn. You can place text, barcodes, QR codes, shapes, lines, images, tables, auto-incrementing serial numbers, and date and time fields. Positioning is in millimetres, with printable-area and skew-margin guides and a canvas you can rotate for portrait or landscape work.

On the hardware side it connects over USB and Bluetooth and reads the RFID tag on a loaded roll to set the label size for you. The B1 and B4 are verified on real hardware; the rest of the lineup is driven from a device catalogue, so a model I haven't tested in person should still connect and print at the right size.

The protocol and transport live in a separate library, Niimbot.Net, published as its own GPL NuGet package, so other .NET projects can drive these printers without taking on the whole app.

Thermalith is licensed GPL-3.0 and runs as donationware: free for everyone, with an optional tip if it saves you time. It's an independent project and isn't affiliated with NIIMBOT.

main_window