Your terminal, your journal.
driftlog is a small, local-first command-line journal. Timestamped Markdown entries, instant full-text search, tags, and clean exports — backed by plain files you own, not a database or a cloud account.
$ driftlog new
# opens $EDITOR — write your entry, save, done.
$ driftlog list --since "last monday"
2026-06-22 14:03 #work #release Shipped 1.4.2; cut the changelog.
2026-06-23 08:11 #running 12k along the river, easy pace.
2026-06-24 21:40 #reading Finished "The Mezzanine". Odd, lovely.
Plain text, forever
Entries are Markdown files in a folder you choose. Grep them, sync them with anything, read them in 20 years. No lock-in.
Fast search
An on-disk index gives sub-millisecond full-text and tag search across tens of thousands of entries.
Tags & filters
Tag inline with #hashtags; filter by tag, date range, or free text. Compose filters however you like.
Single binary
One static Go binary for Linux, macOS, and Windows. No runtime, no services, nothing to babysit.
Clean exports
Render to a single Markdown file, HTML, or JSON for backups, printing, or feeding other tools.
Private by default
Nothing leaves your machine. Optional age/GPG encryption-at-rest for the journal directory.
Install
# Prebuilt static binary — drop it on your $PATH
tar -xzf driftlog_1.4.2_linux_amd64.tar.gz
sudo install -m 0755 driftlog /usr/local/bin/driftlog
# Or build from source (Go 1.21+)
go build -ldflags="-s -w" -o driftlog ./cmd/driftlog
Per-platform binaries and full build notes are on the getting-started page.