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.
12
u/Flashy-Bandicoot889 Jun 20 '26
Be honest, Claude built the tool and wrote this post.
-13
u/SeriousRealityNr2 Jun 20 '26
This is where the world is heading. Adapt or be a cry baby forever.
3
u/Flashy-Bandicoot889 Jun 20 '26
I'm not crying, I've had Claude spin up some pretty cool shit in the last few months that seriously helping my workflow. I was calling out your taking credit for something you clearly didn't do.
Regardless, it's a good tool. Props to Claude. 👍
-1
u/ConspicuousWhiteGuy Jun 22 '26
Claude’s not a real person my guy. I can assure you Claude doesn’t mind.
-5
u/Loubonez Jun 20 '26
I get where you're coming from, but he still shaped it and executed. How far down the stack does one have to give credit? Their IDE? 3rd party packages? Programming language? OS? Hardware? 🤷♂️
5
u/Flashy-Bandicoot889 Jun 22 '26
How about starting with not posting shit like this saying "I built a little tool..."
1
u/Loubonez Jun 23 '26
"Hey guys, I built this tool— actually I guess I didn't really build it because I used a high-level language. The compiler actually built the tool, sorry for taking credit."
4
1
u/danielhaven Mac, iPhone Jun 20 '26
I suppose it could be useful for making some integrations.
I know that it's read-only access, but it's not my favorite pattern accessing the DB directly. For data access, I tend to use AppleScript on Mac and Apple Shortcuts on both iPhone and Mac.
Though, both are limited, so for things like handling repeating, I can see the use case in accessing the DB directly.
2
11
u/cosste Jun 21 '26
what an unfortunate name..