How-tos
One task, a few steps, done.
Each page does one thing, in numbered steps, with what you need first and what to check if it does not work. Every step links to the documentation of the current release.
Every day
Add a task with its date, project and label in one line
Type "Call Sam tomorrow 3pm #Work @call p2 +30m" and OpenTodo fills in everything. In six languages.
Make a task repeat
Every week, every 2nd Tuesday, every 3 days after you finish it: one rule, and the task moves forward each time you complete it.
Set a reminder
Get a nudge at the due time, an hour before, a day before, or at a moment of your choosing, on every device.
Plan your day with Today and the calendar
Deal with what is overdue, give the big things a time slot, and see whether the day actually fits before it starts.
Save a filter as a view in the sidebar
Ask "every call I need to make this week", then pin the answer to the sidebar with a live count, on all your devices.
Turn a project into a board
Split a project into sections, then show it as columns you can drag cards between. Each device remembers its own choice.
Download everything you have
One JSON file with all your projects, tasks, labels, reminders and saved views, including completed tasks. Keep it, or load it into another server.
Restore something you deleted
Deleted tasks and projects wait in the Trash for 30 days, and every change to a task is kept in its history. Nothing is gone by a slip of the finger.
Secure your account with a passkey or two-factor authentication
Sign in with your fingerprint or face, add a second lock with a code from your phone, and keep the recovery codes somewhere safe.
Together
Share a project with your partner or your team
Everyone sees the same tasks, edits reach everyone within seconds, and each task has a comment thread. Pick a role per person.
Invite someone who has no account yet
One link adds a person to a project, creating their account on the way when the server allows it. It works once and expires.
Fix it
Reminders do not arrive on my iPhone
Two rules catch most people: iOS 16.4 or later, and the installed app rather than a Safari tab. Then the delivery check tells you the rest.
Changes do not show up on my other device
Read the sync status at the top right of both devices. It names the reason, and clicking it syncs right away.
I cannot sign in
Email and Caps Lock first, then the wait after failed attempts, then the reset link from your server's owner. OpenTodo sends no emails.
An invite link does not work
A link works once and for a limited time, and it may not be allowed to create an account. Here is how to tell which it is.
The app looks out of date
The app updates itself when your server does. If something still looks old, close it completely and open it again.
A task seems to be missing
Six places to look, in order: a duration filter, Completed, the Trash, an archived project, a folded parent, a shared project you left.
Run the server
Invite people to your server
Sign-up is closed after the owner account. You bring people in with single-use invitation links, one each, sent however you like.
Turn on scheduled backups
A daily snapshot to a folder, S3-compatible storage or WebDAV, with retention and optional encryption. Set it once; it then runs on its own.
Update the server to a new release
Pull the new image and restart. The database updates itself on start, and every device switches to the new app by itself.
Recover the owner password
There is no reset email. Shell access to the host is the proof of ownership: one command prints a single-use reset link.
Looking for something else?
Your to-do list, on your own server.
Try the demo in your browser. When you like it, install OpenTodo on your server and import your tasks.