Skip to content
For the complete documentation index, see llms.txt.

Free tool · Last updated

Export Things 3 to CSV

Things 3 has no CSV export. Your to-dos live in a database file on your Mac called main.sqlite. Drop it here and get a CSV with one row per to-do, plus a JSON file. The conversion runs in your browser, so the file is never uploaded.

Drop main.sqlite or a zip of the Things database here

Up to 64 MB. The file stays on this device.

Nothing is uploaded. How to check that yourself

Moving to another app? You may not need a CSV

These apps import the Things database directly, per their own help pages (checked September 27, 2026).

  • 2Do

    Mac only: File, Import, From Things. Brings areas, projects, checklists, tags, dates, reminders and repeats; not headings or the Trash. Source: 2Do’s Things import help.

  • Done Bear

    Settings, Import, Things 3 on the web or desktop takes the same files as this page and writes nothing until you confirm. On iPhone and iPad it takes the Things Database.aar as is and sends the database to Done Bear to build the preview.

    On a Mac, donebear import things --dry-run finds the database and previews; drop --dry-run to import. Moving from Things 3 to Done Bear maps every field. Done Bear needs an account; this page doesn’t.

  • SingularityApp

    On a Mac: File, Import, Import from Things. Its help page doesn’t list which fields carry over. Source: SingularityApp’s Things import help.

Todoist and TickTick don’t import Things. Todoist imports a CSV in its own template, so rearrange this page’s columns first. TickTick’s importer lists Todoist, Microsoft To Do, Wunderlist, OmniFocus, Toodledo and iCal, not Things.

Find the Things database on a Mac

  1. Quit Things, so recent changes are written to main.sqlite.

  2. In Finder, choose Go, Go to Folder (Shift-Command-G) and paste ~/Library/Group Containers/JLMPQHK86H.com.culturedcode.ThingsMac/. The Library folder is hidden.

  3. Open the folder whose name starts with ThingsData-.

  4. Control-click Things Database.thingsdatabase and choose Show Package Contents.

  5. Copy (don’t move) main.sqlite to your Desktop, or Things loses its list.

  6. Drop the copy on the converter, or Compress Things Database.thingsdatabase and drop the zip.

If Things is only on your iPhone or iPad

In Things, go to Settings, General, Diagnostics, Enter Code, 491348, Send Things Database. This page can’t open the Things Database.aar it sends: save it to Files, tap it to unpack, and choose the main.sqlite inside. On a Mac, aa extract -i "Things Database.aar" -d ~/Desktop/things unpacks it too.

What the CSV contains

One row per to-do, including completed, canceled and trashed ones. Dates are YYYY-MM-DD, and the file is UTF-8 with a byte-order mark so Excel and Numbers keep accents and emoji. Cells starting with =, +, - or @ get a leading apostrophe so they show as text, not formulas.

ColumnWhat it holds
TitleThe title.
StatusOpen, Completed or Canceled.
ListInbox, Today, This Evening, Upcoming, Anytime, Someday, Logbook, Trash, or Repeating (the template each repeat is copied from).
ProjectIts project, including to-dos under a heading.
AreaIts area, or its project’s area.
HeadingThe project heading it sits under.
TagsThe to-do’s own tags, comma-separated.
NotesNotes, with line breaks kept.
ChecklistOne item per line: [ ] open, [x] completed, [-] canceled.
WhenThe scheduled date.
DeadlineThe deadline.
Completion dateDay completed or canceled, in your time zone.
RepeatIn words, such as Every 2 weeks on Wednesday. Every copy carries it.
CreatedDay created.
ModifiedDay last changed.
Things IDFor matching rows between exports.

The JSON file holds the same to-dos with tags and checklist items as lists, plus your projects (with notes, headings and tags), areas and the full tag list.

What the export leaves out

  • Reminder times.
  • Project and area tags in the CSV (the JSON lists them).
  • Future repeats Things hasn’t created yet. The Repeating row holds the rule.
  • Weekday detail of monthly repeats (the second Tuesday reads as Every month).
  • Anything already emptied from the Trash.
  • Changes made after Things last wrote main.sqlite.

Your file stays on your device

The conversion runs in this tab. No request carries your file or its contents, and nothing is stored.

Besides the usual page view, analytics records only that a file was accepted (size rounded to a range), that a conversion finished, which download you chose and any error. Never a title, a note or a file name.

Check it yourself

  1. Open developer tools: F12 in Chrome, Edge or Firefox, or Option-Command-I on a Mac. In Safari, first turn on Show features for web developers in Settings, Advanced.
  2. Open the Network tab and clear it.
  3. Convert your file and download the CSV.
  4. Apart from the converter’s own code on first load, the only requests are those analytics events.