Parse Markdown syntax with Node.JS
Latest commit 0210560 May 2, 2013 @andris9 Update
Failed to load latest commit information.
examples initial import Sep 2, 2010
lib fix global leak of testAllowed, findTags, findAttribs Jul 14, 2012
LICENSE initial import Sep 2, 2010 Update May 2, 2013
package.json bumped version Jul 22, 2012


This project is deprecated in favor of chjj/marked. I never created the parser myself, the module was created in the early days of node as a wrapper for an existing browser based parser Showdown so if you are using this module and have problems with the parsing logic, I can't help you much as I'm not familiar with the inner details.

Pull requests are still welcomed - if you find a bug and fix it, then I'll pull the change in but I won't be fixing the bugs myself. Sorry for that.


node-markdown is based on Showdown parser and is meant to parse Markdown syntax into HTML code.


Use npm package manager

npm install node-markdown


Include Markdown parser

var md = require("node-markdown").Markdown;

Parse Markdown syntax into HTML

var html = md("**markdown** string");

Allow only default set of HTML tags to be used

var html = md("**markdown** string", true);

Allow only specified HTML tags to be used (default set of allowed attributes is used)

var html = md("**markdown** string", true, "p|strong|span");

Allow specified HTML tags and specified attributes

var html = md("**markdown** string", true, "p|strong|span", {
    "a":"href",        // 'href' for links
    "*":"title|style"  // 'title' and 'style' for all

Complete example

var md_text = "**bold** *italic* [link]( `code block`",
    md_parser = require("node-markdown").Markdown;

// simple

// limit HTML tags and attributes
console.log(md_parser(md_text, true, 'h1|p|span'));

// limit HTML tags and keep attributes for allowed tags
var allowedTags = 'a|img';
    allowedAttributes = {
        'img': 'src',
        '*': 'title'
console.log(md_parser(md_text, true, allowedTags, allowedAttributes));