Dooit vs topydo
Price, platforms and features side by side. The table says where each price was read and when.
Where they differ
- Dooit is free. topydo is free.
- Only topydo lists a macOS app.
In commonFree planLinuxWindowsOpen sourceKeyboard-firstTasks
At a glance
| Dooit | topydo | |
|---|---|---|
| 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 whole program is free and open source under the GNU General Public License v3, with no paid edition. It is installed from PyPI with pip. |
| Free trial | None listed | None listed |
| macOS | ||
| Windows | ||
| Linux | ||
| Made by | kraanzu (dooit-org) | Bram Schoenmakers |
| Price read from | github.com | github.com |
| Checked | Oct 9, 2026 | Oct 9, 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
topydo
- People who keep tasks in a todo.txt file and work in a terminal
- todo.txt users who want dependencies and recurring items
- Keyboard users who want several filtered lists side by side
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.
topydo
- Console only: there is no graphical, web or mobile app. The docs say there is no native Android build and describe running it under Termux.
- Column mode does not work natively on Windows; the docs point Windows users to Cygwin for it.
- Dependencies, recurrence and start dates rely on tags that, the README says, other todo.txt tools may not interpret properly.
- The documentation describes no sync feature, and releases are infrequent: PyPI shows 0.14 in December 2020, 0.15 in April 2025 and 0.16 in February 2026.
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.
topydo
- Command line, prompt and column modes
- Runs as one-off shell commands, as a prompt with Tab auto-completion, or as a text interface of side-by-side columns with vim-like keys, where each column has its own filter and sort order.
- Due dates, start dates and relative dates
- Due and start dates are stored as tags on the todo.txt line. When adding items you can type relative dates such as tomorrow, 1w or fri, which are written to the file as absolute dates.
- Dependencies between items
- The dep subcommand links a parent item to child items that should be done first. A parent with open children is hidden from the default list, and a Graphviz Dot export can draw the dependency tree.
- Recurring items
- A rec tag such as rec:1w creates a new instance of an item when it is completed, counted from the completion date or, in strict mode, from the original due date.
- Filtering, sorting and output formats
- Filter expressions select items by text and by tag comparisons such as due:<today, and sort and group expressions order the result. The ls command can also output iCalendar, JSON and Graphviz Dot.
- Backups and revert
- After each change topydo stores a backup of the todo and archive files, 5 by default, and the revert subcommand undoes the last command or a numbered earlier one.
Plans
Dooit
Free$0
The complete terminal app and the optional Dooit Extras package, installed with pip, Conda, yay on Arch Linux or Nix.
topydo
Free$0
The full program with its command-line, prompt and column interfaces. Prompt mode, column mode and iCalendar output each need an extra pip dependency.