A utility to convert Google Tasks JSON exports to Todoist CSV format.
Project description
google-tasks-to-todoist
A command-line utility to convert your Google Tasks JSON exports into a CSV format compatible with Todoist, making it easier to migrate your tasks.
If you're switching from Google Tasks to Todoist, you've likely discovered that there's no direct way to import your tasks. This tool bridges that gap by converting your Google Tasks data into a structured CSV file that Todoist can import, preserving your task lists, titles, and due dates.
Usage
The general usage is as follows:
- Export your Google Tasks data as a JSON file from Google Takeout.
- Convert the JSON file to Todoist-compatible CSV using google-tasks-to-todoist.
- Import the generated CSV files into Todoist.
This project uses uv for project and dependency management. If you don't have uv installed, you can find installation instructions here.
Once you have uv installed, you can run the converter from your terminal using uvx:
uvx google-tasks-to-todoist [INPUT_FILE] [OPTIONS]
The script will generate a separate CSV file for each of your task lists. These files will be saved in the same directory as your input file, ready for import into Todoist.
[INPUT_FILE]: The path to yourTasks.jsonfile from Google Takeout.--starred-priority PRIORITY: Set the priority for starred tasks. The default is2. (1: highest priority, 4: lowest priority)--non-starred-priority PRIORITY: Set the priority for non-starred tasks. The default is4. (1: highest priority, 4: lowest priority)--include-completed: Include completed tasks in the export. By default, they are not included.
How to Get Your Google Tasks Data
You can export your Google Tasks data as a JSON file from Google Takeout. Select only "Tasks" to get a Tasks.json file.
Example
Let's say you have a Tasks.json file, and you want to assign the medium priority to your starred tasks and a no priority to others.
uvx google-tasks-to-todoist Tasks.json
This command will:
- Read tasks from
Tasks.json. - Assign medium priority (2) to all starred tasks (the default).
- Assign no priority (4) to all non-starred tasks (the default).
- Exclude completed tasks (since
--include-completedis not present). - Generate CSV files for each task list, which you can then import into Todoist.
Limitations on Recurring Tasks
Please note that Google's Takeout export for Tasks does not include information about recurring tasks. As a result, all tasks converted by this utility will be non-recurring.
Development
If you prefer to clone the repository and manage dependencies locally:
-
Clone the repository:
git clone https://github.com/exploids/google-tasks-to-todoist.git cd google-tasks-to-todoist
-
Install dependencies:
uv sync -
Run the converter:
uv run google-tasks-to-todoist [INPUT_FILE] [OPTIONS]
To run the test suite, use the following command:
uv run pytest
Disclaimer
This tool is an independent project and is not affiliated with, endorsed by, or in any way officially connected with Google or Doist.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file google_tasks_to_todoist-0.1.1.tar.gz.
File metadata
- Download URL: google_tasks_to_todoist-0.1.1.tar.gz
- Upload date:
- Size: 6.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7d08f0737b017fb18ec40fdcb3d93d6ca1d41ab8df84e59db7f2da90b7e085f1
|
|
| MD5 |
00833ccca5fdf9ab363b2746ae34ab04
|
|
| BLAKE2b-256 |
c7f12839254d63232f8ecf53b5a676e983264171dd02c87ee33982c1d6d9d668
|
File details
Details for the file google_tasks_to_todoist-0.1.1-py3-none-any.whl.
File metadata
- Download URL: google_tasks_to_todoist-0.1.1-py3-none-any.whl
- Upload date:
- Size: 5.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f2bc7eb909a8819d29c6743b777c22c2b7d4e6138c48522d225b4e839f69e77
|
|
| MD5 |
6a322fd8c825454855ab0f2e400910a7
|
|
| BLAKE2b-256 |
81fb5e7a43fb157eb9e92625b9a3cb005735ef6e28d5f7d4043334c3cb6a1191
|