# Org-mode
Org-mode is a powerful document editing, formatting, and organizing mode for the Emacs text editor. Created by Carsten Dominik in 2003, it combines [[Outliner]] functionality with task management, scheduling, literate programming, and document publishing in a plain-text format. Org files (`.org`) use a simple, human-readable markup syntax that influenced later tools like [[Markdown]]. Despite being tied to Emacs, Org-mode has developed a devoted following and inspired features in modern [[Personal Knowledge Management (PKM)]] tools like [[Logseq]] (which supports Org files natively) and [[Obsidian]].
Org-mode exemplifies the [[File over app principle]]—all data is stored in plain text files that remain readable without Emacs. Its feature set is vast: hierarchical outlining with folding, TODO items with states and priorities, time tracking, agenda views aggregating tasks across files, tables with spreadsheet functionality, code blocks with execution (literate programming), and export to HTML, LaTeX, PDF, and dozens of other formats. For many users, Org-mode becomes a complete [[Personal Knowledge Management (PKM)]] and productivity system. Its longevity (20+ years) demonstrates the durability of plain-text, open-source tools.
## Org-mode Structure
```
┌─────────────────────────────────────────────────────────────┐
│ ORG-MODE DOCUMENT │
├─────────────────────────────────────────────────────────────┤
│ │
│ * Heading Level 1 │
│ ** Heading Level 2 │
│ Some paragraph text under the heading. │
│ │
│ ** TODO Task with state [#A] │
│ DEADLINE: <2026-01-30 Thu> │
│ - [ ] Checkbox item │
│ - [X] Completed item │
│ │
│ ** Code block │
│ #+BEGIN_SRC python │
│ print("Hello, Org!") │
│ #+END_SRC │
│ │
│ ** Table │
│ | Name | Value | │
│ |-------+-------| │
│ | Alpha | 10 | │
│ | Beta | 20 | │
│ │
│ ** Links │
│ [[https://orgmode.org][Org website]] │
│ [[file:other.org][Another file]] │
│ │
└─────────────────────────────────────────────────────────────┘
```
## Key Features
| Feature | Description |
|---------|-------------|
| **Outlining** | Hierarchical headings with folding |
| **TODO management** | Tasks with states, priorities, tags |
| **Scheduling** | Deadlines, scheduled dates, timestamps |
| **Agenda** | Aggregated view of tasks across files |
| **Tables** | Spreadsheet-like with formulas |
| **Code blocks** | Literate programming, execution |
| **Export** | HTML, LaTeX, PDF, Markdown, etc. |
| **Capture** | Quick note/task capture |
| **Clocking** | Time tracking |
| **Properties** | Metadata on headings |
## Syntax Basics
| Element | Syntax |
|---------|--------|
| **Heading** | `* Level 1`, `** Level 2` |
| **TODO** | `* TODO Task name` |
| **Priority** | `* TODO [#A] High priority` |
| **Tags** | `* Heading :tag1:tag2:` |
| **Link** | `[[url][description]]` |
| **Bold** | `*bold*` |
| **Italic** | `/italic/` |
| **Code** | `~code~` or `=verbatim=` |
| **List** | `- item` or `1. numbered` |
| **Checkbox** | `- [ ] unchecked`, `- [X] checked` |
## TODO States
```
TODO → DOING → DONE
│ ↑
└─ CANCELLED ─┘
Customizable workflows:
TODO → IN-PROGRESS → REVIEW → DONE
IDEA → DRAFT → PUBLISHED
```
## Org vs Markdown
| Aspect | Org-mode | Markdown |
|--------|----------|----------|
| **Editor** | Emacs (primary) | Any text editor |
| **Features** | Comprehensive | Basic formatting |
| **Tables** | Full spreadsheet | Basic |
| **TODO** | Built-in | Not native |
| **Code execution** | Babel | Requires extensions |
| **Export** | Extensive | Limited |
| **Complexity** | Steeper learning curve | Simple |
## Org Babel (Literate Programming)
| Feature | Description |
|---------|-------------|
| **Code execution** | Run code blocks in 40+ languages |
| **Results** | Output captured in document |
| **Tangling** | Extract code to source files |
| **Weaving** | Generate documentation |
| **Variables** | Pass data between blocks |
## Agenda Views
| View | Purpose |
|------|---------|
| **Day/Week** | Calendar-style task view |
| **TODO list** | All tasks by state |
| **Tags match** | Filter by tags |
| **Search** | Full-text search |
| **Stuck projects** | Projects without next actions |
## Ecosystem
| Tool | Description |
|------|-------------|
| **org-roam** | Zettelkasten/PKM layer for Org |
| **org-journal** | Daily journaling |
| **org-noter** | PDF/EPUB annotation |
| **ox-hugo** | Export to Hugo blog |
| **Logseq** | Modern app with Org support |
| **Orgzly** | Android Org-mode app |
## References
- https://orgmode.org/
- https://en.wikipedia.org/wiki/Org-mode
- Dominik, C. (2010). *The Org Mode 7 Reference Manual*
## Related
- [[Outliner]]
- [[Personal Knowledge Management (PKM)]]
- [[Markdown]]
- [[Logseq]]
- [[Literate Programming]]
- [[File over app principle]]
- [[Plain Text]]
- [[Getting Things Done (GTD)]]