Back to Catalog
nikitazigman GitHub avatar

badger

Terminal UI for exploring SQLite and bbolt/BoltDB-compatible database files

Demo

Terminal preview
badger
Badger database overview

Overview

Terminal UI for exploring SQLite and bbolt/BoltDB-compatible database files

Low-level db file format visualizer

From the maintainer

Origin story

I wanted a practical way to understand what is actually inside SQLite and bbolt/BoltDB-compatible database files. Most database tools show tables, rows, or query results, but hide the physical storage layout: pages, b-trees, cells, records, buckets, freelists, overflow pages, and raw byte ranges. Badger exists because learning and debugging embedded database internals from docs or hex dumps alone is slow and painful.

First workflow

Open a real SQLite database file, select a table or index in the b-tree list, filter the page list to that object, and inspect the matching pages byte by byte. The useful moment is seeing the logical object, physical page, parsed metadata, and highlighted byte ranges together in one interface. For bbolt, try opening an etcd-style bbolt file and navigating buckets, leaf pages, inline buckets, and overflow-backed values.

Design choice

Badger is storage-first rather than query-first. It is read-only, detects supported formats from file contents, and keeps the interface centred around physical pages, b-tree objects, parsed metadata, and byte ranges. The layout is built for moving between storage objects, pages, hex detail, and metadata without leaving the keyboard.

Roadmap

The next direction is deeper inspection and polish: improving SQLite and bbolt coverage, making byte-range drilldowns richer, adding better navigation for complex files.

Discussions

0 comments
Loading comments...
Alvin By Alvin