Markdown, originally written as a Perl script by John Gruber and Aaron Swartz in 2004, has caught fire and the technology has exploded into many different forms of “text to HTML” markup engines.
The original Markdown code has largely been unchanged through the years, while alternative versions have come to build on it. Since the creators of Markdown don’t want anybody using the “Markdown” name, each fork of the project adopts another name, which gets confusing.
Other projects include PHP-Markdown, PageDown, Parsedown, and Pandoc.
To make matters worse, large websites that adopt text-to-html technology tend to tweak it to their liking, and so you’ll sometimes hear things like “Vim-Flavored-Markdown” and “GitHub-Flavored Markdown” as well. The Stack Exchange network uses Markdown known as Pagedown, and MarkdownSharp on the server side, with bits of PHP-Markdown thrown in.
Web forums and comment boxes are beginning to adopt limited Markdown syntax too. It’s the Wild West!
Regardless, you tend to see “Markdown” being used as a general term for text-to-HTML. But really that is just one tool out there and not the umbrella name of this technology.
Markdown, the Baby Years
This technology is still young and unrefined. No single tool covers every style and syntax, so you may be tempted to think one editor “sucks” simply because it defaults to Markdown and Parsedown, but your website/tool/script/library uses some other flavor.
An initiative to make Markdown “official” with an official specification was started and eventually named CommonMark. It is something to keep an eye on and maybe the general web community will gravitate toward it for the sake of unity in time.
SitePoint itself asks authors to use classic Markdown for article submissions and links to the main project’s website here for learning the syntax. So I’ll be focusing on good ol’ vanilla Markdown editors for this article, but YMMV.
I’ll also be looking at the landscape of Markdown editors either available exclusively for Windows, or those that are cross-platform.
So What Are My Options?
Surprisingly there are not many fish in this sea, and each is quite different from the next.
During my testing of these five applications, it became clear that no two did things the same way, leaving me with little more than opinion on which I like best. Also I will not be reviewing online editors such as Dillinger, Markable or Stackedit. That is for another day.
I found these to be the primary feature differences to look for:
- Supported syntax and extensions.
- Syntax highlighting or WYSIWYG features.
- Live preview window (splitscreen).
- Export options.
- Syntax helpers, toolbar, shortcut keys, etc.
I’ll summarize the various editors below with their primary features, screenshots and my opinions, in no particular order. You decide which will suit you best!
Texts is a Windows and Mac editor that looks a bit like the Windows editor Notepad. It has a clean, single-pane interface with no live preview. There is one simple toolbar that can be toggled on or off.
You do not see raw code in Texts, as it formats the code in traditional WYSIWYG style. This is the only editor in this lineup that hides the syntax code from you.
Texts is not free, it comes with a 30-day trial and costs about $30 for a license to use on both Windows and Mac.
Texts uses a subset of Pandoc which means I had to install Pandoc to enable some of these features and export options.
Texts caters more to the WYSIWYG crowd who wants to export their documents into PDF, Word, HTML5, ePUB, etc. It includes Tex for math formulas, and some special handling of ad-hoc hyperlinks, footnotes, and tables. Other advanced features are support for Unicode, OpenType fonts, and presentation mode.
Exporting to PDF also requires an install of XeLaTeX.
Personally, Texts didn’t fit my preferred writing style and was quirky to me in how it processed styles. Plus you need two additional tools to install. Pandoc is a bit different than Markdown, and there was no way to switch to something else.
WriteMonkey takes “clean” to the next level. The interface has almost nothing on it, it is meant to be used full-screen, “distraction free”. A right-click will pull up all the program’s options including file and folder view, table of contents, bookmarks, and more. It is also not a split-screen editor, and only shows the raw text with no styles or highlighting.
The interpreter is either Markdown Extra, Textile, or WikiCreole.
This editor seems best for Markdown experts who don’t need WYSIWYG styles to get work done. It is a simple program, but has a lot of elegant features hidden in it. In fact, some very unique features like text replacements, auto-backups, word lookups, and much more.
WriteMonkey is a free, Windows-only, standalone application that requires Microsoft .NET 4.0. You can run it from a USB drive and this is the only editor in the lineup which is standalone.
Haroopad is cross-platform running on Windows, Mac, and Linux with a focus on an identical experience across them all. It is fully-featured, uses split-screens, supports many languages and color highlighting, Vim key-binding, fenced code blocks (with highlighting), GitHub style syntax, tables, multi-markdown (underline, superscript, subscript), audio/video embed, math, and more.
You can switch viewing modes between viewer, editor, or both in split-screen. The styles of both viewer and editor panes can be changed independently.
Haroopad starts with vanilla Markdown, but adds its own “Haroopad Flavored Markdown” to support special features such as text highlighting and writing a table of contents. It also supports some GitHub-flavored features and various other tweaks like ignoring HTML (or not), and an occasionally helpful auto-completion option.
This project is still in Beta, with some of the documentation in Korean. There is a small learning curve with some of the extra Markup, but it aims to be fully-featured.
The program is free but does have the occasional nag to donate.
There are many interface styles to choose from, as well as export CSS options. You can enable Markdown folding as well. This interface may be the most editable of them all as far as styling your view and exports.
In this screenshot you can see the collapsible syntax help, as well as the text folding gutter.
MarkPad is a split-screen editor which does not have all the options of the other editors here. It has quite a different look and feel from normal Windows applications, and doesn’t have a lot of on-screen clutter.
There’s no right-click menu or toolbar or helpers. It has few options and configurations as well. However, you can publish to certain blogs, as well as to GitHub, directly.
The styles were not great for me and the viewer seemed buggy, fonts didn’t render correctly when the window was resized, as you can see in the screenshot.
The default connections with blogs makes this a unique option, and you can open a new Jekyll page with a click. Publishing can be to GitHub, or using the metaweblog API if your blog supports it.
This was originally a Code52 project and resides on GitHub. It doesn’t seem to be super active, and last had commits in November.
With some interface and style issues out of the way, this could be a good Windows option for someone who writes for a supported blog and likes the unique interface it has. For me it was just too “different” and I didn’t get along with it very well.
This is an open source, Windows only, .NET 4 project using Microsoft WPF technology for the UI. It uses vanilla Markdown with an option to enable a few additional enhancements.
The way the fonts look is not an image compression issue, this is how they actually look, but only when the window is sized a certain way. Adjust the window size and the fonts will render differently. I don’t know if others will experience this, maybe it’s just me?
MarkdownPad 2 is one of the earliest desktop applications to come out, and the maturity shows. This project seems very solid and well thought out. There is a free and pro version. You’ll need the Pro version for exporting PDFs and use enhanced Markdown syntax options.
This is one of two editors with a tabbed interface. The split-screen is adjustable, and you can change styles as well as use your own CSS stylesheet. It has the most full-featured toolbar, and the UI is a more standard Windows feel, similar to Texts, and unlike the others here.
The vanilla Markdown works perfectly for me for SitePoint articles, and the toolbar has just about everything I need. The editor does not hide codes, but it does add some highlighting which is nice visually to know images and links are typed correctly.
The Pro version costs $14.95 and allows commercial use, auto-save, and more.
MarkdownPad 2 is another Windows-only option using .NET 4 framework.
A Few More Options
Some are beginning to use Markdown in the form of plugins to their own favorite code editors. You can find Markdown plugins for Sublime, Netbeans, PHPStorm, and even projects for Notepad++.
Of course, you can write Markdown in any text editor, that’s the point! But it never hurts to have live preview, or some syntax highlighting and helpers, exporters, etc.
There are some more editors in the Windows 8 store that I did not review, nor editors that may exist exclusively on Mac or Linux etc. Read this if you’re a Mac user looking for more options.
Then there are online editors such as those mentioned earlier. Some people prefer that writing experience but I did not, I prefer a nice solid desktop application.
I’d pit MarkdownPad 2 against Haroopad, and Texts against WriteMonkey. MarkPad is in its own little world but could be categorized as a split-screen, tabbed, plain Markdown editor similar to MarkdownPad.
If you want a cross-platform desktop application, my vote is Haroopad, but if you’re fine with just a Windows editor, MarkdownPad 2 will feel right at home in your toolbox. WriteMonkey may appeal to MD wizards who want an editing mode free of distraction and widgets and colors so you can get your drafts done.
Texts will feel more at home to someone who wants a traditional WYSIWYG editing experience, and works with Mac and Windows.
If you need Pandoc, then Texts may be your only option in this listing, as all the others use various forms of Markdown plus enhancements.
If you are interested in the CommonMark spec, here is one editor worth checking out that implements it.
What’s your favorite Markdown editor?