6.1 KB

This page lists external tools useful for handling Org files.

Org-mode parsers

cl-org-mode - A Common lisp parser for org-mode outlines

Abstract: CL-ORG-MODE is a parser for org-mode files that uses an extensible CLOS-based recursive descent parser to create a tree of org-mode nodes. Also included is a (primitive) system for literate programming using org-mode - python library for parsing Org files

  • Author: Charles Cave
  • Homepage:

org-mode-parser for nodejs by Giovanni Giorgi

PyOrgMode - python library for creating and parsing Org files

The Orgnode module contains one class, called Orgnode and a routine to read
an org-mode file and create a list of Orgnode objects.

The module is for reading an org-mode file. There are no methods for
writing org-mode since since I have no need for this functionality.

You are welcome to extend the functionality of the __repr__ method of the
Orgnode class if you would like this functionality.
  • Author: Jonathan Bisson (on gmail : bissonjonathan)
  • Homepage:
This python module allows for the creation and parsing of org-files. The
org-files are loaded into python objects allowing the modification of the
different recognized elements.

The objects are defined in a plug-in way, allowing the user of this
module to add easily a new kind of data and the relative functions.

Current objects are : 
- Schedule elements
- Drawers
- Tables
- Nodes

The project is contained in an unique tangle org-file which contains the
documentation, the python files and the test suite.

NEO - No Emacs Org in Python

  • Author: Olivier Schwander
  • Homepage:
  • Announcement:
Another Python tool for parsing org mode files

Current features 
  - Org file parser
  - Agenda builder
  - Todo-list builder
  - Custom todo keywords
  - Command line interface for agenda and todo-lists

Org::Parser - Perl module for parsing Org files

  • Author: Steven Haryanto
  • Homepage:

There are several other Org-related modules on CPAN at various development stages, all utilizing Org::Parser: App::OrgUtils (some utilities for Org documents), Org::To::* (convert Org mode to various other formats).

org-ruby (used on github) by Brian Dewey

This gem contains Ruby routines for parsing org-mode files. The most significant thing this library does today is convert org-mode files to HTML or textile.

Read the org-ruby tutorial for details.

Specific-purpose tools

Using GData API to import events in an Org file

Mon, 11 Jul 2011, Felix Geller wrote:

I wrote a Python [[][script]] that uses the GData API to download events for your
Google Calendar and prints them to a given org-file. It is a very tiny
script, but perhaps it is of use to other people as well.

Small disclaimer: I've tested this on Mac OS X only, using Python 2.7.2.

The script can be found here:

Migrating from Tomboy to Org

In this email, Attila shared a script to move notes from Tomboy to Org-mode -- see his message:

I'm moving my note-taking from GNote (C++ rewrite of Tomboy Notes) to
org-mode.  As I have a lot of notes all over the place, I wrote a script to
convert from the XML format used by the Tomboy-style tools to org-mode.

You can find the script here:

orgutil - TCL script to manipulate org files

  • Author: Patrick Brennan
  • Homepage:
Script for converting files into and out of Org-mode, and for performing
various analyses and conversions. The primary use case for this utility is
to convert between Org-mode outline text and AbstractSpoon's ToDoList.

ical2org.awk - convert ics files to Org

  • Author: Eric S Fraga
  • Code: ical2org.awk

See the org-google-sync tutorial for explanations on how to use this script.

org2remind - perl script to convert org appointments to remind

  • Author: Matt Lundin
  • Code: org2remind

Remind is a command line calendar application for Unix/Linux that can, among other things, spit out formatted plain text calendars and agendas.

To convert org-mode appointments to remind data, simply call the
script on one or more org files:

perl ~/org/*.org

(Optionally, add the script to your path and make it executable.)

The results of this script can saved in a file...

perl ~/org/*.org >> org.rem 

...or piped directly into a remind command...

perl ~/org/*.org | remind -

For a nice calendar of the current month, use the following: 

perl ~/org/*.org | remind -c -

This script is similar to org2rem.el (in the contrib directory of the
org-mode repository), except that, instead of saving files from within
org-mode, it allows for easier and faster access to org/remind data
from the command line.

Currently, the script supports appointments (i.e., active timestamps)
and the org-diary-class sexp.