A friend recently asked me what word processor I use. I was preparing to link him to a couple of posts I’ve written about that in the past and then realized that I hadn’t updated my account of The System since I discovered pandoc. So I wrote a new description for him that I’m posting here.


I do not use word processing software. I write in a text editor, using a simple syntax called Markdown (or the variant called MultiMarkdown). I do this in conjunction with a truly amazing command-line program called pandoc, which is basically a series of Haskell scripts to convert from one file type to another. So all of my writing is in a series of plain text files, which can be opened on any computer and are as future-proof as anything can be.

When I’m writing a blog post I run pandoc to convert it to HTML, which I can then post.

When I’m preparing a handout I run pandoc to convert it to LaTeX, which I can then print out. (Once you have seen what LaTeX does with typesetting, word processing apps seem impossibly crude.)

When I’m writing an article or a book — anything that needs to go to an editor who oversees printed things — I run pandoc to convert it to a Word file.

So I get to stay in the same text editor all the time, for every kind of writing except email, and just convert when it’s time for someone else to see it.

My favorite text editor is BBEdit, but one of the best things about this system is that it works with any text editor, and you can try as many different ones as you want losslessly.