Dooit vs Todo.txt
We give Dooit a 3.0 GPA and Todo.txt a 3.2, out of 4.0. Todo.txt grades higher on platforms. They get the same grade on value for money, the free plan, features and ease of use.
Price, platforms and features side by side. The table says where each price was read and when.
Todo.txt
Plain-text to-do list format with an open-source command-line tool
How we grade them
| 3.0GPADooitVery good | 3.2GPATodo.txtVery good | |
|---|---|---|
| Value for money | AFree and open source under the MIT licence, with no paid version. The optional Dooit Extras package is free too. You install it with pip, Conda, yay on Arch or Nix. | AThe todo.sh script and the format are free and open source under the GNU General Public License v3.0. There's no paid version of either. Your whole outlay is a text file. |
| Free plan and trial | AThe whole thing is free, with nothing held back and no account to make. There's no paid tier to compare it to. | AAll of it is free: the full command-line script and the open format. With no paid version, nothing is fenced off. And since the list is a plain file, you can walk away with it any time. |
| Features | BNested workspaces, sub-todos, due dates typed like "1 jan 2025", four urgency levels and repeats such as 1d or 1w. Good basics, and you can query your todos from Python. But the docs have no section on sync. | BOne task per line, with (A) for priority, +Project and @context. The script adds, completes, sorts and archives to done.txt, and takes custom actions and add-ons. Small, and it does that fully. But the core format has no due dates of its own: they rely on key:value conventions set by each tool. |
| Ease of use | CNo rating is on record, and it asks a fair bit. It runs from a command line, and changing keys, layout or themes means writing a Python config file. Pressing ? does list every key that's bound, which helps. | CThe official tool is a shell script, so you add and finish tasks by typing commands like add and do. The README gives install steps only for macOS and Linux. You can also just edit the file in any text editor, which is easy, but then you're doing it all by hand. |
| Platforms and integrations | CIt runs in a terminal and nowhere else. No graphical, web or mobile app, and no integrations listed. The docs give install methods, not supported systems. The changelog has Windows fixes but never mentions macOS. | BThe script runs on Mac and Linux, and on Windows under Cygwin, and there are editor plugins for Vim, Visual Studio Code and Sublime Text. The project's own Android and iOS apps were archived in December 2020, so phone and web apps come from the community. |
| Best for | Vim users who want to-dos in the terminal | a to-do list that's just a text file |
The GPA is the average of the five grades: an A is 4 points, an F is none. The full reasons are on each tool's page: Dooit and Todo.txt. How we grade
Where they differ
- Dooit is free. Todo.txt is free.
- Only Todo.txt lists a macOS app.
At a glance
| Dooit | Todo.txt | |
|---|---|---|
| Pricing | Free | Free |
| Starts at | Free | Free |
| Free plan | Free and open source under the MIT license, with no paid version. It is installed from PyPI, Conda, Arch Linux packages or a Nix flake. | The todo.sh script and the todo.txt format are free and open source under the GNU General Public License v3.0, with no paid version. |
| Free trial | None listed | None listed |
| macOS | ||
| Windows | ||
| Linux | ||
| Made by | kraanzu (dooit-org) | Gina Trapani and the Todo.txt community |
| Price read from | github.com | github.com |
| Checked | Oct 9, 2026 | Oct 5, 2026 |
Who each one suits
Dooit
- People who manage their tasks from a terminal
- Vim users who want familiar keybindings
- Tinkerers who like configuring tools in Python
Todo.txt
- People who want their task list in a file they fully control
- Command-line users who add and complete tasks from a shell
- Using several apps and editors against one shared text file
Worth knowing
Dooit
- It runs in a terminal only; there is no graphical, web or mobile app.
- Customizing it means writing a Python config file.
- The documentation has no section on syncing tasks between devices.
- The docs list install methods (PyPI, Arch Linux, NixOS, Conda) rather than supported operating systems; the changelog includes fixes for Windows but does not mention macOS.
Todo.txt
- The official tool is a command-line script. The project's own Android and iOS apps were archived on GitHub in December 2020.
- The core format covers priority, dates, projects and contexts only. Due dates and other fields rely on key:value conventions set by each tool.
- No sync is built in; the README suggests placing the todo.txt directory on a cloud drive.
- On Windows the script is listed as tested under Cygwin, and the README gives install steps only for macOS and Linux.
Key features
Dooit
- Terminal interface with Vim-like keys
- The app runs as a text interface in the terminal and uses Vim-like keybindings. Pressing ? opens a help menu listing every key currently bound.
- Workspaces and nested todos
- Todos are grouped into workspaces by topic. Workspaces can contain child workspaces, and a todo can hold sub-todos.
- Due dates, urgency and status
- A todo has a due date that accepts forms such as "1 jan 2025", one of four urgency levels, and a status of completed, pending or overdue. Words starting with @ act as tags.
- Recurrence and effort
- Recurrence is entered as an interval such as 1d or 1w, in minutes, hours, days or weeks. Effort is a plain number that can stand for points, time or a streak.
- Python configuration
- A Python config file sets keybindings, layout, the status bar, the dashboard, column formatters and themes, and custom CSS is supported.
- Plugins and a Python backend
- The separate Dooit Extras package adds utilities for customizing a setup, and the Workspace and Todo tables can be queried or changed from Python through SQLAlchemy.
Todo.txt
- One task per line of plain text
- A todo.txt file holds a single task on each line, so it can be read, searched, sorted and edited in any text editor on any operating system.
- Priorities, projects and contexts
- A leading (A) to (Z) sets priority, and +Project and @context markers can sit anywhere in the line. Tools may add key:value pairs such as due:2010-01-02.
- todo.sh command-line script
- Actions such as add, do, pri, append and replace change the file from a shell, and list shows the tasks matching your terms sorted by priority.
- Archiving and reports
- The archive action moves completed tasks from todo.txt to done.txt, and report records the number of open and done tasks in report.txt.
- Add-ons and custom actions
- The script loads custom actions from an actions directory, and the project wiki keeps a directory of add-ons and filters written by community members.
- Community apps and editor plugins
- The project site lists community-built apps for Windows, macOS, Linux, Android and the web, plus editor plugins, that all read the same file.
Plans
Dooit
Free$0
The complete terminal app and the optional Dooit Extras package, installed with pip, Conda, yay on Arch Linux or Nix.
Todo.txt
Free$0
The full todo.sh command-line script and the open todo.txt format, under the GNU General Public License v3.0.