Export from Wunderlist 2 to a CSV text file

by Augusto Campos, Efetividade.net

Export tasks from Wunderlist 2 using this free script. The script reads the Wunderlist synced (local) database and creates an export file as a CSV text file, that you can open on your spreadsheet or convert to the import format of some other to-do app. BONUS: there's also a handy pair of scripts that handle the complete task of exporting from Wunderlist and importing into Things.

Wunderlist used to be stable and somewhat open, but after trying and failing to monetize by forking to Wunderkit, 6Wunderkinder discontinued their previous version and launched, in September of 2012, the cloud-based Wunderlist 2, with less features, less openness, but more bells and whistles.

They promised to keep adding the features that went missing and, as I liked their previous app ("Wunderlist 1"?), I decided to continue using the new one. I wasn't alone: Wunderlist 2 is still a constant mention on Lifehacker, for example.

But ten months went by, and many features that were missing are still missing. At the same time, Wunderlist is having constant sync issues, cloud availability issues and recently did what no productivity app should do: notified me that it had lost part of my tasks and wasn't even able to tell me which ones.

That was the moment I felt all was wunderlost, then decided to keep the good memories and get out of the app – but my data was stuck there. Apparently there is still no export button in the app version of Wunderlist 2 (there's a "backup" button on the web interface, but it did nothing apart from changing its label when I tried pushing it), so I decided to create my own Wunderlist export script.

Wunderlist Export file: a TXT file, CSV-formatted

My Wunderlist export script reads the internal Wunderlist database, where it saves all groups and tasks as of the last sync. Then it creates a CSV-formatted text file (the rosetta stone of file formats), that you can open on your spreadsheet, or on a text editor, or even create your own script to convert it to the input format of other to-do apps that you like.

I had to guess at the Wunderlist database schema, because there is no field list or public API that I know of. But I think I've nailed it, and my own exports of a 1000+ tasks Wunderlist database went without a hitch.

The CSV file (shown above) includes lists, tasks and subtasks (including task notes) and has these columns:

Excel has some inconsistencies importing CSV files, so I recommend using LibreOffice's Calc spreadsheet to open (File > Open) and verify the generated CSV file. Here's how the open dialog looks in the brazilian version:

After generating the CSV file, the matter is in your hands: use it and convert it at will, or find someone willing to create a convert script from CSV (it's like an universal intermediate format) to you favorite app's import format.

Export from Wunderlist 2

This script is provided as is, and works in my setup, running Wunderlist 2.1.1 (May 2013) on a Mac. I assume users with basic knowledge of the Terminal will be able to run it, but YMMV.

The script is called export-wunderlist-tasks.php and, after downloading and unzipping, you can run it with the usual incantation for running things on the Terminal:

chmod +x export-wunderlist-tasks.php
./export-wunderlist-tasks.php > exportfile.csv

On the Mac, you can run the script without installing any other component. If you need to run my script on Windows, I think you will have to install PHP first, including SQLite3 support.

Get the script

The script comes ready to run, if you use Wunderlist 2 on a Mac and got it from the App Store. For all other cases, you will have to edit some lines on the beginning of the script:

I have created the script for my own personal use, and although I will be glad if it proves useful for other users, I offer no warranty, services, documentation or support. Backup first, audit the code, and drive safely.

Download the script: wunderlist-export-23799.zip

There's a mailing list for mutual user support. I can't offer support, but if you want to tell me something, my e-mail is augustoΘaugustocampos.net.

Export from Wunderlist to Things: bonus scripts

To export tasks from Wunderlist to Things, I created a pair of specialized scripts. The first script is just a modified version of the one explained above, but it creates a tab-delimited text file of the fields that can be imported to Things. Run it like before: ./export-wunderlist-things.php > export.txt

The second is an Applescript named ImportFromWunderlist. Just double click on it, run it on the editor, and it will read the tab-delimited file export.txt created above (it'll ask you for the file's location before starting) and insert the tasks on Things.

Wunderlist's groups (task lists) are converted to Things' tags, and subtasks are marked with the special tag "subtask". Creation date, due date and the status field are preserved, so Things will put every task where it belong: Today, Next or Logbook.

Download: Both bonus scripts (the exporter and the importer) are on this zip, but use caution: they worked for me like a charm, but you should have a complete backup and your developing skills at ready, because I don't offer warranty or support.

If you need to do something different, here's a handy Things Applescript Guide.


comments powered by Disqus
© 2013 Augusto Campos http://augustocampos.net/ (july 6, 2013)

Licensed under the Apache License, Version 2.0 (the "License"); 
you may not use this file except in compliance with the License. 
You may obtain a copy of the License at 
http://www.apache.org/licenses/LICENSE-2.0 

Unless required by applicable law or agreed to in writing, software 
distributed under the License is distributed on an "AS IS" BASIS, 
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
See the License for the specific language governing permissions and 
limitations under the License.