OpenBarcodeDB

self-hosted · git-backed · community-pooled

OpenBarcodeDB go ahead, scan it

Scan a barcode — a filament spool, a board game, a book off the shelf — and know what it is. OpenBarcodeDB is a barcode database you run yourself, backed by a community-editable, git-reviewed data pool instead of a closed API you don't control.

Get started Browse the repos $ docker compose up -d
how it works

One lookup, three moving parts

Everything runs on your own hardware. Item data is pooled through ordinary git merge requests — reviewed like code, not silently trusted.

01

Scan or type a barcode

UPC, EAN, ISBN — or a made-up code for something that never had one. A product can carry more than one real barcode; OpenBarcodeDB treats them as equals, not a primary-plus-aliases hierarchy.

02

Core resolves it

A small self-hosted Go API holds your database and serves lookups instantly. Nothing leaves your network unless you choose to sync.

03

Sync with the pool, on your terms

Pull community data via git, propose your own additions as merge requests. Field-level review tiers mean low-stakes edits merge automatically; anything sensitive waits for a human.

what people actually scan

Built for the shelf, the bin, the spool rack

Categories are schema-defined and extensible — add a field, add a category, no code changes required.

3D printing filament
Board games
Books
Household goods
Electronics
Toys
Food
Whatever you define
principles

What this project won't compromise on

Your data stays yours
Self-hosted by default. Sharing with the community pool is opt-in, reviewed, and reversible — never automatic.
Nothing destructive without review
Deletes are soft. Deletion propagation to the shared pool always requires a human decision on the receiving end.
Recoverable by design
A bootstrap admin key always gets you back in. Revoked keys and rejected writes leave an audit trail, never a dead end.
No barcode is more "correct"
A product can carry two real, independent barcodes. Neither wins — both just work.

Run your own copy this afternoon.

One docker-compose.yml brings up the API, the scan-and-browse frontend, and the admin panel together. No account, no vendor, no API quota.