NIIMBOT printers webui. Design and print labels right from your browser.
Uses NiimBlueLib for communication.
Project is deployed here: niim.blue
This fork includes several enhancements specifically for the NIIMBOT B1 printer:
- 30x20mm Label Support: Added a new 30x20mm label preset for improved label size options
- NIIMBOT B1 USB Detection: Implemented automatic B1 printer detection via USB (Vendor ID: 0x3513, Product ID: 0x0002)
- Smart B1 Connection: Custom USB connector component that validates device compatibility before connecting
- Print Direction Fix: Automatic print direction adjustment based on printer metadata to resolve offset issues
- Added
B1Connector.sveltecomponent for specialized B1 USB connection handling - Enhanced
LabelDesigner.sveltewith automatic print direction synchronization - Updated
PrinterConnector.svelteto use the new B1 connector component - Added 30x20mm preset to default label configurations in
defaults.ts
- Platform: Ubuntu Linux 25
- Connection: USB connectivity verified
- Hardware: Tested with NIIMBOT B1 printer
- Features: Label printing, size presets, and USB detection all validated
These modifications ensure seamless integration with NIIMBOT B1 printers while maintaining compatibility with the original codebase.
Note
If you have printing problems, try different print task versions in print preview dialog. Make if default by pressing "Lock" button.
If you found version suitable for your model, please write here.
Also read Frequently asked questions.
Key features:
- Privacy first! This application works completely offline and does not send any data (except for downloading application files and importing ZPL labels). Label data is stored in your browser.
- Support for both Bluetooth and USB connections.
- Rich label editor. Label saving, import/export.
- Print preview. You can see how your label will look like after post-processing. Several post-processing algorithms are available.
- Android App (Capacitor based).
- Most complete implementation of NIIMBOT protocol.
You can see the full list of implemented and planned features on the Wiki.
List of tested models you can find in niimluelib repository.
Demonstration video:
Your browser must support Web Bluetooth API: supported browsers.
For serial communication: supported browsers.
In some systems you need to enable Chrome Experimental Web Platform Features (navigate to chrome://flags).
I only have D110 and B1 printers. If you own other models, please write a comment here describing your model working or not.
Bluetooth dumps are MUCH appreciated. How to make it.
Images may be outdated, interface is changing constantly.
Skip steps you have done.
-
Install git
-
Install nodejs
-
Clone repository
git clone https://github.com/MultiMote/niimblue.git
-
Install dependencies
npm i
-
Run dev server
Check code and open browser:
npm run dev-check
Or just run:
npm run dev
Eslint not included. Install it with:
npm install --no-save --no-package-lock [email protected] globals @types/eslint @eslint/js typescript-eslint eslint-plugin-svelte| Links | |
|---|---|
| Boosty (support project) | |
| Discord (dev news, troubleshooting and other, en) | |
| Telegram (ru/en discussion) |








