Guide
What Is Plain-Text Task Management?
Plain-text task management means keeping your to-do list as a readable text file instead of a database inside an app. No account, no proprietary format — open it in any editor, on any device, for as long as text files exist. This guide covers what that actually looks like, the three formats people mean when they say it, and who it's genuinely a good fit for.
The core idea
Most task apps store your list in a database only that app can open — a SQLite file, a cloud record, a proprietary binary format. Plain-text task management flips that: your tasks live in a .txt, .md, or .todo file made of ordinary lines of text. A project might be a heading, a task might start with a dash or a checkbox, and metadata like dates or priority get encoded as plain words in the line itself — not hidden fields in a schema.
The appeal isn't aesthetic. It's that a text file outlives any single app. You can open it in Notepad, grep it from a terminal, sync it through any cloud folder, put it under version control, or read it on a device that will never run the app that created it. The cost is that you give up some conveniences — native push reminders, drag-and-drop attachments, real-time collaboration — that a purpose-built database can make trivial.
The three formats
When people say "plain-text tasks," they usually mean one of these.
Each defines its own convention for projects, tags, and structure — they aren't interchangeable without reformatting.
todo.txt
A flat, one-line-per-task spec (Gina Trapani, 2006). No indentation or hierarchy — priority, projects, and contexts are all inline markers on the same line.
(A) Call Mom +Family @phone x 2026-07-30 Draft report +Work due:2026-08-01
TaskPaper
An indented outline (Jesse Grosjean). Projects end in a colon, tasks are dashed lines nested underneath, and @tags carry optional values in parentheses.
Work:
- draft Q3 report @due(2026-08-01)
notes go here, unindented from the dash
Markdown checkboxes
The most common style, because Markdown itself is everywhere. No native tagging convention — dates, priority, and projects are usually bolted on by whatever app or plugin renders the file.
- [ ] Draft Q3 report #work - [x] Send onboarding email
Worth a mention: Org-mode (Emacs) predates and out-features all three — TODO/DONE keywords, scheduling, and deep automation — but it's tied to Emacs, so it stays a niche within the niche rather than a general format.
Side by side
Format comparison.
+project, @context, key:value.@tag, @tag(value), defined by the spec.(A) through (Z).@p1.Honest fit
Who this is actually for.
Good fit if
- You already keep notes, code, or drafts as plain text.
- You've been burned by an app shutting down or changing its pricing, and losing your data with it.
- You want to script, grep, or version-control your task list.
- You're comfortable typing structure (tags, dashes) instead of clicking through menus.
Honest limitations
- No native push reminders or alarms — you need an app layered on top for that.
- No built-in sync — you bring your own cloud folder or Git repo.
- Mobile editing has more friction than a purpose-built checkbox app.
- Collaboration and sharing aren't native to the format.
Where Plainlist fits
A planner built on top of this, not a new format to learn.
Plainlist uses TaskPaper-compatible grammar — the same colon-terminated projects, dashed tasks, and @tag syntax described above — and layers planning tags on top: @start, @due, @est, @every, @quota, @p1. Every one of those is stored as ordinary text, so a file Plainlist writes stays fully readable in any plain-text editor, and an existing TaskPaper-style file opens in Plainlist without conversion.
If you're moving from an existing TaskPaper file specifically, the TaskPaper compatibility page goes deeper on exactly what carries over. If you're coming from an app with its own database — Todoist, Obsidian, TickTick, Notion, Things, or Apple Reminders — the alternative pages cover the migration path from each one.
Questions, answered
FAQ
Is todo.txt the same as TaskPaper?
No. Both are plain-text task formats, but todo.txt is a flat line-per-task spec with +projects and @contexts, while TaskPaper is an indented outline where projects end in a colon and tasks nest underneath with @tags. They aren't interchangeable without reformatting.
Can I use plain-text task management on my phone?
Yes, with any app that can open plain-text or markdown files — a code editor app, a notes app, or a dedicated plain-text task app. The file format itself doesn't require any specific device; what matters is whether your chosen app has a mobile version.
Do I need special software to read a .todo or .txt task file?
No. Any plain-text editor can open it — Notepad, TextEdit, VS Code, Vim. Dedicated apps add planning features like recurring tasks, focus views, and tag-aware filtering, but the underlying file is always readable without them.
What's the difference between plain-text task management and Markdown checkboxes?
Markdown checkboxes (- [ ] task) are one specific style of plain-text task management, widely supported because Markdown itself is common. They typically lack a native convention for projects, tags, dates, or priority — those get layered on by whatever app or plugin you use, unlike todo.txt or TaskPaper which define that structure as part of the format.
Why would I choose plain text over a task management app with a database?
Ownership and longevity. A plain-text file opens in any editor on any device, can be backed up, versioned with Git, or searched with standard command-line tools, and never depends on one app staying in business. The trade-off is that you give up some conveniences a purpose-built app can add on top, like native reminders.