self-hosted · git-backed · community-pooled
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.
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.
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.
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.
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.
Define your own categories, visually
Filament, board games, whatever you actually own — categories are schema-defined through the admin panel, not hardcoded. Add a field, pair two into a range, group three into a dimension, and it's live.
Draft it
Build a category's fields in the admin panel — type, required, review tier, a friendly display name. Nothing touches the shared data pool yet.
Preview it
See exactly how a real item would look under the new schema before committing to anything, including how any existing items would be affected.
Propose it
One click opens a real merge request against the shared schema registry — reviewed like any other change, not silently trusted in.
Five repos, each with one job
No monolith. Clone what you need; every piece is independently useful.
The Go API and sync engine. Your database, your rules, your data.
webA fast, no-build scan-and-browse frontend for everyday lookups.
adminReview queue, conflict resolution, key management, sync control.
dataThe canonical, community-pooled item data and category schemas.
deployOne docker-compose.yml to run core, web, and admin together.
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.