Org Mode (also: ''org-mode''; ) is a mode for document editing, formatting, and organizing within the
free software
Free software, libre software, libreware sometimes known as freedom-respecting software is computer software distributed open-source license, under terms that allow users to run the software for any purpose as well as to study, change, distribut ...
text editor
A text editor is a type of computer program that edits plain text. An example of such program is "notepad" software (e.g. Windows Notepad). Text editors are provided with operating systems and software development packages, and can be used to c ...
GNU Emacs
GNU Emacs is a text editor and suite of free software tools. Its development began in 1984 by GNU Project founder Richard Stallman, based on the Emacs editor developed for Unix operating systems. GNU Emacs has been a central component of the GNU ...
and its derivatives, designed for
notes,
planning
Planning is the process of thinking regarding the activities required to achieve a desired goal. Planning is based on foresight, the fundamental capacity for mental time travel. Some researchers regard the evolution of forethought - the cap ...
, and
authoring. The name is used to encompass
plain text
In computing, plain text is a loose term for data (e.g. file contents) that represent only characters of readable material but not its graphical representation nor other objects ( floating-point numbers, images, etc.). It may also include a lim ...
files ("org files") that include simple marks to indicate levels of a hierarchy (such as the outline of an essay, a topic list with subtopics, nested computer code, etc.), and an editor with functions that can read the
markup and manipulate hierarchy elements (expand/hide elements, move blocks of elements, check off to-do list items, etc.).
Org Mode was created by Carsten Dominik in 2003, originally to organize his own life and work, and since the first release numerous other users and developers have contributed to this free software package. Emacs has included Org Mode as a major
mode by default since 2006. Bastien Guerry is the maintainer since 2010, in cooperation with an active
development community. Since its success in Emacs, some other systems now provide functions to work with org files.
Almost orthogonally, Org Mode has functionalities aimed at executing code in various external languages; these functionalities form org-babel.
System
The Org Mode home page explains that "at its core, Org Mode is a simple outliner for note-taking and list management". The Org system author Carsten Dominik explains that "Org Mode does
outlining,
note-taking
Note-taking (sometimes written as notetaking or note taking) is the practice of recording information from different sources and platforms. By taking notes, the writer records the essence of the information, freeing their mind from having to Reca ...
,
hyperlink
In computing, a hyperlink, or simply a link, is a digital reference providing direct access to Data (computing), data by a user (computing), user's point and click, clicking or touchscreen, tapping. A hyperlink points to a whole document or to ...
s,
spreadsheet
A spreadsheet is a computer application for computation, organization, analysis and storage of data in tabular form. Spreadsheets were developed as computerized analogs of paper accounting worksheets. The program operates on data entered in c ...
s,
TODO lists,
project planning,
GTD,
HTML
Hypertext Markup Language (HTML) is the standard markup language for documents designed to be displayed in a web browser. It defines the content and structure of web content. It is often assisted by technologies such as Cascading Style Sheets ( ...
and
LaTeX
Latex is an emulsion (stable dispersion) of polymer microparticles in water. Latices are found in nature, but synthetic latices are common as well.
In nature, latex is found as a wikt:milky, milky fluid, which is present in 10% of all floweri ...
authoring, all with plain text files in Emacs."
The Org system is based on plain text files with a simple markup, which makes the files very portable. The Linux Information Project explains that "Plain text is supported by nearly every application program on every operating system".
The system includes a
lightweight markup language
A lightweight markup language (LML), also termed a simple or humane markup language, is a markup language with simple, unobtrusive syntax. It is designed to be easy to write using any generic text editor and easy to read in its raw form. Lightw ...
for plain text files (similar in function to
Markdown,
reStructuredText,
Textile
Textile is an Hyponymy and hypernymy, umbrella term that includes various Fiber, fiber-based materials, including fibers, yarns, Staple (textiles)#Filament fiber, filaments, Thread (yarn), threads, and different types of #Fabric, fabric. ...
, etc., with a different implementation), allowing lines or sections of plain text to be hierarchically divided, tagged, linked, and so on.
Functionality
This section gives some sample uses for the hierarchical display and editing of plain text.
* To-do lists often have subtasks, and so lend themselves to a hierarchical system. Org Mode facilitates this by allowing items to be
subdivided into simple steps (nested to-dos and/or
checklist
A checklist is a type of job aid used in repetitive tasks to reduce failure by compensating for potential limits of human memory and attention. Checklists are used both to ensure that safety-critical system preparations are carried out completely ...
s), and given tags and properties such as priorities and deadlines. An
agenda for the items to be done this week or day can then be automatically generated from date tags.
* Plain text
outlines.

* Org files as interconnected pages of a
personal wiki, using the markup for links.
* Tracking bugs in a project, by storing .org files in a
distributed revision control system such as
Git.
* Extensive linking features, within the same file, to other files, to web pages, to emails, and also allows defining custom links.
An org-mode document can also be exported to various formats (including
HTML
Hypertext Markup Language (HTML) is the standard markup language for documents designed to be displayed in a web browser. It defines the content and structure of web content. It is often assisted by technologies such as Cascading Style Sheets ( ...
,
LaTeX
Latex is an emulsion (stable dispersion) of polymer microparticles in water. Latices are found in nature, but synthetic latices are common as well.
In nature, latex is found as a wikt:milky, milky fluid, which is present in 10% of all floweri ...
,
OpenDocument
The Open Document Format for Office Applications (ODF), also known as OpenDocument, standardized as ISO 26300, is an open file format for word processor, word processing documents, spreadsheets, Presentation program, presentations and ...
or plain text), these formats being used to render the structural outline in an appropriate fashion (including cross-references if needed). It can also use formatting markup (including LaTeX for mathematics), with facilities similar to those present in Markdown or LaTeX, thus offering an alternative to these tools.
Org-babel

Org Mode offers the ability to insert source code in the document being edited, which is automatically exported and/or executed when exporting the document; the result(s) produced by this code can be automatically fetched back in the resulting output.
This source code can be structured as reusable snippets, inserted in the source document at the place needed for logical exposition thus allowing this exposition to be independent of the structure needed by the compiler/interpreter.
Together with the markup facilities of org-mode, these two functionalities allow for
*
Literate programming, by decoupling the exposition of the functions of a program from its code structure, and
*
Reproducible research, by the creation of a consistent document consolidating exposition, original data, analyses, discussion and conclusion, in a way that can be reproduced by any reader using the same software tools.
As of June 2021, org-babel directly supports more than 70 programming languages or programmable facilities, more than 20 other tools being usable via contributed packages or drivers.
Integration
Org Mode has some features to export to other formats, and other systems have some features to handle org-mode formats. Further, a full-featured text editor may have functions to handle wikis, personal contacts, email, calendars, and so on; because org-mode is simply plain text, these features could be integrated into org-mode documents as well.
From org-mode, add-on packages export to other
markup format such as
MediaWiki
MediaWiki is free and open-source wiki software originally developed by Magnus Manske for use on Wikipedia on January 25, 2002, and further improved by Lee Daniel Crocker,mailarchive:wikipedia-l/2001-August/000382.html, Magnus Manske's announc ...
(org-export-generic, org-export), to
flashcard learning systems implementing
SuperMemo's algorithms (org-drill, org-learn).
Outside of org-mode editors, org markup is supported by the
GitLab
GitLab is a software forge primarily developed by GitLab Inc. It is available as a community edition and a commercial edition.
History
GitLab was created in 2011 by Ukrainian programmer Dmitriy Zaporozhets as a side project written in Rub ...
,
GitHub
GitHub () is a Proprietary software, proprietary developer platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control and GitHub itself provides access control, bug trackin ...
and
Gitea code repositories, the
JIRA issue tracker,
Pandoc and others.
Export examples
Org supports exporting to a variety of formats. Below you may find examples of Org fragments exported to a number of formats.
Other formats are supported by dedicated packages.
See also
*
Lightweight markup language
A lightweight markup language (LML), also termed a simple or humane markup language, is a markup language with simple, unobtrusive syntax. It is designed to be easy to write using any generic text editor and easy to read in its raw form. Lightw ...
*
Comparison of notetaking software
*
Comparison of document markup languages
*
List of personal information managers
The following is a list of personal information managers (Personal information manager, PIMs) and online organizers.
Applications
Discontinued applications
See also Comparisons
* Comparison of email clients
* Comparison of file manager ...
*
Outliner
An outliner (or outline processor) is a specialized type of text editor (word processor) used to create and edit Outline (list), outlines, which are text files which have a tree structure or a tree view, for organization. Textual information is co ...
References
Further reading
Books
*
Journal articles
*
*
External links
*
{{EmacsNavbox
Distributed bug tracking systems
Emacs modes
Free note-taking software
Free personal information managers
Free spreadsheet software
Free task management software
Lightweight markup languages
Outliners