A Markdown formatting tool
Switch branches/tags
Nothing to show
Pull request Compare This branch is 1 commit ahead, 35 commits behind drbunsen:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


formd—A Markdown formatting tool:

Markdown is a text-to-HTML conversion tool for web writers developed by John Gruber. The main page and accompanying docs provide a comprehensive overview on how to implement the Markdown syntax. The Markdown Dingus is also a useful resource for learning Markdown.

formd is a tool for (for)matting (m)ark(d)own that allows rapid conversion between the two styles of Markdown links—inline and referenced. Why do you need formd? Inline Markdown is difficult to read, but useful for writing and editing because the linked text and URL are adjacent to the words you are writing. Referenced Markdown is awkward while writing because it requires jumping between text links within text and the reference section at the bottom of a document. However, referenced Markdown is the superior syntax for reading because URLs do not breakup the flow of words or sentences. formd provides the best of both worlds by allowing users to toggle Markdown formats between inline while writing and referenced while reading.

formd reads and writes to standard streams, so it can be adapted to a wide-range of user work flows. See this post for further details and work flow examples for using formd with Vim or TextExpander.


  • Python 2.7


Download formd and place it somwhere in your path:

git clone https://github.com/drbunsen/formd.git ~/bin/


There are two command line option for formd:

  • To generate referenced Markdown use the -r flag:
    formd -r
  • To generate inline Markdown use the -i flag:
    formd -i

A simple working example of formd:
cat ugly_markdown_file.md | formd -r > reference_formatted_file.md

For more information on formd see this post for additional usage examples and a video demonstration.