Convert a Google Drive Document to the Markdown format, suitable for publishing.
Latest commit 6205eb1 Oct 9, 2013 1 @mangini Update
Failed to load latest commit information.
LICENSE Create LICENSE Jun 5, 2013 Update Oct 9, 2013
converttomarkdown.gapps merged several changes submitted by @edbacher Oct 9, 2013


A simple Google Apps script to convert a properly formatted Google Drive Document to the markdown (.md) format.


  • Adding this script to your doc (once per doc):

    • Open your Google Drive document (
    • Tools -> Script Manager > New
    • Select "Blank Project", then paste this code in and save.
    • Clear the myFunction() default empty function and paste the contents of converttomarkdown.gapps into the code editor
    • File -> Save
  • Running the script (run as many times as you want):

    • Tools > Script Manager
    • Select "ConvertToMarkdown" function.
    • Click Run button (First run will require you to authorize it. Authorize and run again)
    • Converted doc with images attached will be emailed to you. Subject will be "[MARKDOWN_MAKER]...".

Interpreted formats

  • Text:
    • paragraphs are separated by two newlines
    • text styled as heading 1, 2, 3, etc is converted to Markdown heading: #, ##, ###, etc
    • text formatted with Courier New is backquoted: text
    • links are converted to MD format: [anchortext](url)
  • Lists:
    • Numbered lists are converted correctly, including nested lists
    • bullet lists are converted to "*" Markdown format appropriately, including nested lists
  • Images:
    • images are correctly extracted and sent as attachments
  • Blocks:
    • Table of contents is replaced by [[TOC]]
    • blocks of text delimited by "--- class whateverclassnameyouwant" and "---" are converted to <div class="whateverclassnameyouwant"></div>
    • Source code:
      • UPDATED: blocks of text delimited by "--- source code" or "--- src" and "---" are converted to <pre></pre>
      • NEW: blocks of text delimited by "--- source pretty" or "--- srcp" and "---" are converted to <pre class="prettyprint"></pre>
    • Tables:
      • NEW: Simple <table> processing
  • "--- jsperf <testID>" is replaced by an iframe that shows an interactive chart of a JSPerf test. The <testID> is the last part of the URL of the Browserscope anchor in your JSPerf test. Something like "agt1YS1wcm9maWxlcnINCxIEVGVzdBjlm_EQDA" in the URL



Use this script at your will, on any document you want and for any purpose, commercial or not. The MarkDown files generated by this script are not considered derivative work and don't require any attribution to the owners of this script.

If you want to modify and redistribute the script (not the converted documents - those are yours), just keep a reference to this repo or to the license info below:

Copyright 2013 Google Inc. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.