Free tool · Last updated
Export Things 3 to CSV
Things 3 has no CSV export. It keeps your to-dos in a database file on your Mac called main.sqlite. Drop that file on this page and you 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
A few task managers read the Things database themselves, so the same file you'd drop here goes straight in. These are the ones whose own help pages say so, checked on September 27, 2026.
2Do
On a Mac, File, Import, From Things reads the Things database on the same Mac. Areas, projects, checklists, tags, dates, reminders and repeats come across; headings and the Trash don't. Its iPhone and iPad app has no Things import. Source: 2Do's Things import help.
Done Bear
On the web and in the desktop app, Settings, Import, Things 3 takes
main.sqliteor a zip of the database, the same files this page takes. It shows a preview and writes nothing until you confirm.On iPhone and iPad, Settings, Import, Things takes the
Things Database.aarfrom Things' Diagnostics export as it is. The app unpacks it on the phone, then sends the database to Done Bear to build the preview.On a Mac with Things installed,
donebear import things --dry-runin Terminal finds the database itself and previews the import. Run it again without--dry-runto import.Areas become teams, and projects, headings, tags, checklists, dates, repeats and completed to-dos come across. Moving from Things 3 to Done Bear maps every field, including what doesn't carry over. It needs an account; the downloads on this page don't.
SingularityApp
On a Mac, File, Import, Import from Things opens the Things Database file and asks which version of Things you have. 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 the CSV from this page needs its columns rearranged first. TickTick's importer lists Todoist, Microsoft To Do, Wunderlist, OmniFocus, Toodledo and iCal, and not Things.
Find the Things database on a Mac
Quit Things. Recent changes can sit in a side file until Things closes, and this page reads only main.sqlite.
In Finder, choose Go, then Go to Folder (Shift-Command-G), and paste
~/Library/Group Containers/JLMPQHK86H.com.culturedcode.ThingsMac/. Paste it rather than browsing: the Library folder is hidden.Open the folder whose name starts with
ThingsData-.Control-click
Things Database.thingsdatabaseand choose Show Package Contents. It looks like a file, but it is a folder.Copy
main.sqliteto your Desktop. Copy it, don't move it, or Things loses its list.Drop the copy on the converter above. A zip works too: Control-click
Things Database.thingsdatabase, choose Compress, and drop the zip.
If Things is only on your iPhone or iPad
Things on iPhone and iPad can send its database from Settings, General, Diagnostics, Enter Code, 491348, Send Things Database. That sends an Apple Archive called Things Database.aar, and this page can't open an Apple Archive.
Save the archive to Files and tap it to unpack it into a Things Database.thingsdatabase folder, then choose the main.sqlite inside it here. On a Mac, Terminal unpacks it too: aa extract -i "Things Database.aar" -d ~/Desktop/things.
What the CSV contains
One row per to-do, including completed, canceled and trashed ones, with these columns. Dates are written as YYYY-MM-DD. The file is UTF-8 with a byte-order mark, so Excel and Numbers keep accents and emoji. A cell that starts with =, +, - or @, such as a note that opens with a dash, gets a leading apostrophe so a spreadsheet shows it as text rather than running it as a formula.
| Column | What it holds |
|---|---|
| Title | The to-do's title. |
| Status | Open, Completed or Canceled. |
| List | Inbox, Today, This Evening, Upcoming, Anytime, Someday, Logbook or Trash. Repeating marks the template Things copies each repeat from. |
| Project | Its project, including to-dos filed under a heading. |
| Area | Its area, or its project's area. |
| Heading | The heading it sits under inside the project. |
| Tags | Tags set on the to-do, separated by commas. |
| Notes | The notes, with line breaks kept. |
| Checklist | One item per line: [ ] open, [x] completed, [-] canceled. |
| When | The date Things has it scheduled for. |
| Deadline | The deadline. |
| Completion date | The day it was completed or canceled, in your time zone. |
| Repeat | The repeat in words, such as Every 2 weeks on Wednesday. Each copy of a repeating to-do carries it too. |
| Created | The day it was created. |
| Modified | The day it was last changed. |
| Things ID | Its ID in Things, for 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.
- Tags set on a project or area but not on the to-do itself. The JSON file lists project and area tags separately.
- Future repeats Things hasn't created yet. The Repeating row holds the rule.
- The detail of monthly repeats tied to a weekday, such as the second Tuesday, which read as Every month.
- Anything already emptied from the Trash.
- Changes made after Things last wrote main.sqlite, which is why you quit it first.
Your file stays on your device
The converter runs in this browser tab. It reads the file on your device, builds the CSV and JSON there, and hands them straight back as downloads. No request carries your file or anything in it, and nothing is stored.
The site counts page views here as it does on every page. From the converter, analytics records four things: that a file was accepted, with its size rounded to a range; that a conversion finished; which download you chose; and which error you hit, if any. Never a title, a note or a file name.
Check it yourself
- Open your browser's 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.
- Choose the Network tab and clear it.
- Drop your file on the converter and download the CSV.
- Read the list. The first time, you'll see the converter's own code load. The only other requests are the small analytics events above. None of them contains your to-dos.