Cleanter Developer Docs
Cleanter is an Android app that lets your web app print to a Bluetooth thermal receipt printer. Your page sends JSON over local HTTP; Cleanter turns it into ESC/POS commands and prints. No SDK, no driver, no cloud.
New here? Start with the Quickstart to get a receipt printing in about five minutes, then skim the HTTP API reference for every field you can send.
Explore the docs
Quickstart
Install, pair a printer, start the server, and print your first receipt.
Try the builder
Build a receipt visually on the homepage and copy the generated JSON.
HTTP API
Every endpoint, field, content block, and response โ the full reference.
Troubleshooting
Fix the common snags: mixed content, 503s, garbled characters, detection.
How it works
Cleanter runs a small HTTP server on the Android tablet, bound to
localhost only. Anything on the same device โ usually a
web app open in Chrome โ sends it a print job. The flow is:
Because the server is localhost-only, the web app and Cleanter must run on the same tablet. It is never reachable from your network or the internet.
At a glance
| Base URL | http://localhost:9100 |
|---|---|
| Endpoints | GET /health, POST /print |
| Payload | application/json โ an array of content blocks |
| Paper widths | 80 mm (48 chars) and 58 mm (32 chars) |
| Printers | Bluetooth Classic (SPP) ESC/POS โ paired in Android settings |