Importing from Microsoft To-Do
Important: Microsoft To-Do has no export button. The To-Do app itself — on web, desktop, or mobile — does not have any export or download feature. There is no official JSON export.
The only official export path is through Outlook.com, and it only works for personal Microsoft accounts (not work or school accounts). Business/Microsoft 365 users have no official export path.
Export steps (personal accounts only):
- Go to outlook.com and sign in with your personal Microsoft account
- Click the gear icon → View all Outlook settings
- Go to General → Export
- Export your mailbox — this produces a
.pstfile (Outlook data file)
Importing from Todoist
Todoist has a built-in per-project CSV export — available on all plans, no subscription required.
Export steps (repeat for each project):
- Open a project in Todoist (web or desktop app)
- Click the three-dot menu (···) at the top right of the project view
- Select Export as CSV — the file downloads immediately
Importing from Trello
Trello can export any board as JSON for free. CSV export requires a Trello Premium subscription.
Export steps (JSON — free):
- Open the board you want to export
- Click the ··· menu at the top right of the board
- Click Print, Export, and Share
- Click Export as JSON — the JSON opens in a browser tab
- Right-click the page → Save As to download the
.jsonfile
Importing from Notion
Notion exports databases as CSV inside a ZIP file. This works for all plans.
Export steps:
- Open the database you want to export in Notion
- Click the ··· menu at the top right of the page
- Click Export
- Set format to Markdown & CSV
- Click Export — a
.zipfile downloads - Unzip it — you'll find a
.csvfile for the database
Importing from Google Tasks
Google Tasks has no in-app export button. The only official export is through Google Takeout.
Export steps:
- Go to takeout.google.com
- Click Deselect all, then scroll down and check Tasks
- Click Next step → choose .zip format → click Create export
- Google will email you a download link — this can take a few minutes or longer
- Download the ZIP, unzip it, and find
Tasks.jsoninside theTakeout/Tasks/folder
Tasks.json file in KnotDo at Settings → Import → Google Tasks.Importing from TickTick
TickTick has a backup export, but it's only accessible from the web app — not the desktop or mobile apps.
Export steps:
- Log in at ticktick.com (web only)
- Click your profile avatar in the top-left corner
- Go to Settings → Account → Backup & Restore
- Click Generate Backup — a CSV file downloads immediately
Importing from Asana
Asana has a solid per-project export. Available on all plans.
Export steps (repeat per project):
- Open a project in Asana
- Click the dropdown arrow next to the project name at the top
- Select Export / Print (or Export or Sync)
- Choose CSV or JSON — the file downloads immediately
Apple Reminders
Apple Reminders does not have a reliable export on modern macOS, and has no export at all on iOS or iPadOS.
An older version of the Mac Reminders app had a File → Export option that produced an
.ics file, but Apple removed or broke this in recent macOS versions (Sonoma, Sequoia). Many users report the option is no longer present.
If you're on an older macOS and the option still exists:
- Open Reminders on Mac
- Select a reminder list
- Go to File → Export
- Save the
.icsfile
.ics file in KnotDo at Settings → Import → iCal / ICS.
If File → Export is not available (most modern Macs): There is no official Apple path. A community-built macOS Shortcut-based exporter exists on GitHub (apple-reminders-exporter) that produces a JSON file. Otherwise, the only option is manual entry.Generic CSV import
Any app that exports CSV can be imported into KnotDo.
Required column (one of):
List column behaviour: If your CSV has a
Title— also recognized as:Task,Name,Subject,Content
| Column name(s) | Values accepted |
|---|---|
List / Project / Folder | Any name — created if it doesn't exist |
Due Date / Due | ISO (2026-06-15), or: today, tomorrow, next friday, in 3 days |
Priority | low / medium / high / urgent (or l / m / h / u) |
Status | todo / in_progress / done |
Notes / Description | Free text (markdown supported) |
Tags / Labels | Comma-separated tag names |
List column, each task goes into the named list. If a list with that name doesn't exist in your workspace, it's created automatically. If you leave a cell blank, or there's no List column at all, tasks go into the default list you specify in the import dialog (defaults to "Imported Tasks").
Example with a List column:
List,Title,Due Date,Priority,Notes
Work,Fix login bug,tomorrow,high,Check JWT expiry
Work,Update docs,,low,
Personal,Buy groceries,friday,,Bulk paste (in-app)
Inside any list, press B or click Bulk add to open the bulk paste input. Paste or type multiple tasks — one per line. Each line uses a comma-separated format:
Task title
Task title, due date
Task title, due date, priority
Task title, due date, priority, notes
Example:
Fix authentication bug, tomorrow, high
Update README, next friday, low
Buy groceries
Review PR, 2026-06-10, urgent, needs approval from Sarah
Due date shortcuts: today, tomorrow, next monday/friday/etc., in 3 days, or any standard date (Jun 15, 2026-06-15).
Priority shortcuts: low (l), medium (m), high (h), urgent (u).
Lines starting with # are treated as comments and skipped. Empty lines are skipped. All tasks are created in the list you have open — you cannot target a different list from the bulk paste panel. To create tasks in multiple lists at once, use CSV import instead.