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, openable in any editor for as long as text files exist. This guide covers the three formats people mean when they say “plain text tasks,” and who it’s genuinely a good fit for.
Your tasks are a text file you own, not a record in someone else’s database. Most task apps store your list in a proprietary format inside their own cloud. Plain-text task management flips that: the list is a plain file — .txt, .todo, or .md — that sits in a folder you control. You can open it in Vim, VS Code, TextEdit, or any editor; back it up like any file; sync it through iCloud, Dropbox, or Git; and read it years from now with tools that may not exist yet. The trade-off: you give up fancy UI conveniences, and you get permanent, portable ownership.
The core idea
Three formats dominate — todo.txt, TaskPaper, and Markdown checkboxes — and each has a different grammar and sweet spot. They all share the same premise: the file is human-readable, editable in any text editor, and version-controllable with Git. But the way each one encodes projects, tags, and structure differs enough that they aren’t interchangeable without reformatting.
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
The oldest and simplest: one task per line, with @context and +project tags and x for done. Designed for grep-ability and minimalism — a single flat list, no nesting. Great for terminal users who want the absolute least structure.
(A) Call Mom +Family @phone x 2026-07-30 Draft report +Work due:2026-08-01
TaskPaper
The richer one: projects end in a colon, tasks start with -, subtasks are indented, and metadata is typed inline as @tags (like @start, @due, @est). Plain text with an outline structure — the format apps like Plainlist use, and the one that handles real planning without leaving text.
Work:
- draft Q3 report @due(2026-08-01)
notes go here, unindented from the dash
Markdown checkboxes
Live inside notes apps like Obsidian: fine when tasks are embedded in notes, but you’re often building the task system yourself with plugins. A note-taking convention, not a task-management format — dates, priority, and projects are bolted on by whatever app 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.
todo.txt is the simplest, TaskPaper is the most capable for planning, and Markdown checkboxes are best when tasks live inside notes.
@due, @est)+project tagsHonest fit
Who this is actually for.
Plain-text tasks fit people who live in text — developers, writers, researchers — and anyone who values ownership over polish. They’re a poor fit for people who want mobile-first apps and hand-holding.
Good fit if
- You already work in editors and terminals.
- You want your tasks in Git or diffable.
- You trust your own sync over a vendor cloud.
- You’ve been burned by an app shutting down and taking your data with it.
Think twice if
- You do most of your planning on a phone.
- You want collaboration and shared lists.
- You prefer visual dashboards over text.
- It’s a philosophy, not a feature — the file is the system.
Where Plainlist fits
A planner built on top of this, not a new format to learn.
Plainlist is a full planner that reads and writes TaskPaper-style plain text — you get Plan, Focus, Goals, Habits, and Done without learning a new format or leaving text. The whole point of building on plain text is that the app is optional: the file is the source of truth, and the app is a planning surface over it. Plan view lays your tasks on a day/week grid, Focus shows today only, goals (🎯 + @span) and habits (@every / @quota) live in the same file, and Done logs what shipped. If the app ever disappears, your plan still opens in any editor.
If you’re moving from an existing TaskPaper file, the TaskPaper compatibility page goes deeper on exactly what carries over. Coming from an app with its own database? The comparison hub covers the migration path from Todoist, Obsidian, TickTick, Notion, Things 3, and Apple Reminders.
Questions, answered
FAQ
What’s the difference between todo.txt and TaskPaper?
todo.txt is flat (one task per line, tags for context); TaskPaper adds projects, indentation, and inline @tags — better for planning a day, not just tracking a list.
Can I use plain text on my phone?
Yes, via sync (iCloud/Dropbox/Git) and any text editor app — though the planning experience is best on desktop today.
Is my data safe?
Safer than most apps: it’s a file you own, with no proprietary database and no vendor that can disappear.
Does plain text mean no scheduling?
No — formats like TaskPaper carry @start/@due/@est inline, and planners like Plainlist read them into a real calendar view.