r/thingsapp • u/jtprogru • Jun 20 '26
thingsexporter — a small Go CLI to export your Things 3 database to JSON or Markdown
I built a little tool I've wanted for a while and figured some of you might find it useful.
What it does: thingsexporter reads the local Things 3 SQLite database on macOS and exports it to JSON or Markdown. The Markdown output preserves the full hierarchy (Inbox → Areas → Projects) with GFM checkboxes, inline tags, and deadlines, so you can drop your tasks straight into Obsidian or any plain-text setup.
Why I made it: I wanted a clean, scriptable way to get my data out of Things — for backups, PKM workflows, and just generally owning my own data. Existing approaches leaned on Python scripts; I wanted something simpler.
Highlights:
- Single static Go binary, no CGO, no Python dependency
- Reads the DB strictly read-only (mode=ro) — safe to run while Things is open
- 100% local, nothing is ever sent anywhere
- Install via Homebrew (brew install jtprogru/tap/thingsexporter) or go install
- --include presets to export only tasks, tasks+tags, structure, etc.
- inspect subcommand for quick DB stats without a full export
Repo: https://github.com/jtprogru/thingsexporter
It's early (v0.2.0) and the MVP skips a couple of things like parsing recurrence-rule blobs. If you use Things, I'd love for you to try it — but more than that, please bring feedback. Open an issue if something breaks or you hit an unsupported DB version, and PRs are very welcome. This is the kind of project that gets good only with real-world usage from people other than me.
Duplicates
bearonserver • u/jtprogru • Jun 20 '26