12 KB

This page lists external tools useful for handling Org files.

Org-mode parsers

Orgile - a PHP Org parser

See this blog entry for details, the repo is on github.

pico-org - A PicoLisp parser

Message from the developer Joe Bogner:

I've written a tiny org-mode parser and hooked it up with my mustache
implementation to create a simple web page that dumps out the org
structure. I'm not sure where I'm going to go next but figured I'd
share it since I enjoy reading other's code as well.

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.

org-js by Masafumi Oyamada

org-js is a javascript parser and converter for org-mode ( notation.

For a working example of an interactive editor, see

Specific purpose tools

orgmode for drupal

Orgmode for drupal import org files into drupal nodes.

nakkaya: a static site generator parsing Org's files (and MarkDown)

Static is a simple static site generator written in Clojure. For a sample site build using static see

You can grab the latest version of nakkaya from its github repository.

orgitdown - use Org keybindings in HTML text areas

orgitdown is based on markitup and allows to use Org keybindings in text areas through some javascript magic. The text inserted is using Org's syntax, and can be further processed with Emacs in batch mode on the server.

Check Nagarjuna G announcement on the mailing list.

Exporter for the Octopress blogging engine

Octopress is a framework designed by Brandon Mathis for Jekyll, the blog

aware static site generator powering Github Pages. To start blogging with

Jekyll, you have to write your own HTML templates, CSS, Javascripts and set

up your configuration. But with Octopress All of that is already taken care

of. Simply clone or fork Octopress, install dependencies and the theme, and

you’re set.

You can clone Octopress from the github repository.

orgmode-octopress is an exporter for Emacs Org-Mode to Octopress by craftkiller. For setup instructions, check this blog entry. Note that orgmode-octopress will not work with the new export engine in Org 8.0.

Export OmniFocus to Org-mode files

Jay McCarthy wrote this, using Racket.

Convert from Planner to Org

See this message from Andreas Hirczy:

I have written yet another converter from planner to org:

Export vCard to org-mode entries

Simon Thum shared some Ruby code to export vCards to Org-mode entries.

ews-orgmode - Exchange calendar to orgmode

See this message from Chris Raschl:

I recently wrote a python script to fetch my calendar from the corporate
exchange server into an orgmode file to view it in my agenda.
It uses the exchange webservices (ews).

michel-orgmode - script for pushing to / pulling from Google-Tasks lists

  • Authors: Mark Edgington, Christophe-Marie Duquesne
  • Homepage:

Michel-orgmode is a python script which serves as a bridge between an org-mode textfile and a Google-tasks task list. It can pull the contents of a Google-tasks list into an org-mode file, or push an org-mode file's contents to a Google-tasks list. It supports bidirectional sync.

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.

ical2org.rb - convert ics files to Org

org2remind - perl script to convert org appointments to remind

  • Author: Simon Thum
  • Code: ical2org
  • handles events and TODOs
  • all sorts of repeating events
  • and timezones!
  • one-way only though
  • except if you have a REST-capable ical server, see README
  • 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.

org-manage - locate and manage your org files

  • Author: Daniel German
  • Code: org-manage (based on org-octopress)
  • Lists all org files in a given directory and its subdirectories,
  • providing a table of org files, including their title and category.

This is a module to help managing a large collection of org files. It is based on org-octopress by Yoshinari Nomura.

org-manage scans a given directory (recursively) looking for org files. For each, an entry is created. The title is extracted from the attribute #+TITLE: in the org file. The category is extracted from the first #+CATEGORY in the file (I suggest you add a default category to each file.

vimwiki2org - convert vimwiki files to Org

  • Author: Xu FaSheng
  • Homepage:

Org Blog Wiki tools

See the page Org Blogs and Wikis.