Is there a way to automatically generate a Keynote presentation from a source file written in text format, Markdown format, or org-mode?

I know that Pandoc and other tools can generate HTML-based slideshows from Markdown. But Keynote allows you to put all your speaker notes to yourself in "Presenter View," which allows you to have a detailed view of your slideshow + notes on your laptop, and project a clean presentation that is not cluttered up with all your speaker notes.

(Whereas with HTML presentations, since there's only one window, you either have to put your speaker notes in the presentation slide itself, or put your speaker notes elsewhere.)

So can I generate a Keynote presentation, or at least a barebones one with slide headlines, from another source?


# A headline

![some image](http://google.com/image.jpg)

Some text here.

# A headline

![some image](http://google.com/image.jpg)

- bullet point
- bullet point

# A headline

![some image](http://google.com/image.jpg)

Some text. 

> Speaker notes.
  • 1
    I don't have a specific answer, but Keynote can open PowerPoint presentations. It might be easier to generate one of those form your markdown files.
    – jmk
    Mar 20, 2013 at 9:06
  • We already have a longstanding request for a generic Automator input to keynote, so I will close this as a duplicate, but if you wanted to edit in even a short sample of a markdown file you need minimal support for, I could see reopening this to get a more limited or narrow answer.
    – bmike
    Sep 15, 2013 at 14:31

4 Answers 4



md2key is exactly what you want. md2key is an open source tool for converting markdown to Keynote presentations.


Install md2key with the command:

gem install md2key


  1. Create a keynote document
  2. Create a first slide as a cover slide
  3. Create a second slide to choose a slide layout
  4. Then execute md2key markdown.md

enter image description here


I don't know of any tools that convert from markdown to Keynote or Powerpoint.

If it is a simple presentation, that just consists of slides and bullet points, you can import it into Keynote by first converting it to an unordered list, with slide titles at the top level, e.g.,

-   First Slide
    -   Point 1
    -   Point 2
-   Second Slide
    -   Point 1
    -   Point 2

Then convert this to docx using pandoc. Open the docx file in Pages. Meanwhile, open a new slideshow in Keynote, and go to Outline View. Copy the list from Pages to your clipboard. Right click on the little blue square in the outline pane in Keynote, and "Paste and Match Style".

For a more detailed explanation of those last steps, with screenshots, see http://www.peterstagg.com/welcome/apple-inc/creating-outlines-for-keynote-in-pages-and-textedit/. For an explanation of how to do something similar with Powerpoint, see http://www.indezine.com/products/powerpoint/learn/interface/creating-outlines-in-word-2011-mac.html.



makeSlides is an commercial iPad app that allows you to convert a markdown file to Powerpoint or Keynote.

makeSlides will convert Markdown, OPML and Plain Text files into Microsoft PowerPoint format files. Once converted, the PowerPoint can be previewed, emailed, printed or sent to another app (such as MS PowerPoint, Dropbox, Keynote, GoodReader, Evernote etc.)


You could use Org Beamer mode to create the presentation, and then show PDFs instead of Keynote, or run PDF2Keynote to generate a Keynote from the PDFs.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .