Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A fork of chjj's marked that adds some additional features
JavaScript Shell
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


A full-featured markdown parser and compiler implemented in ~430 lines of JS. Built for speed.


$ node test --bench
marked completed in 12071ms.
showdown (reuse converter) completed in 27387ms.
showdown (new converter) completed in 75617ms.
markdown-js completed in 70069ms.


$ npm install marked

Another javascript markdown parser

The point of marked was to create a markdown compiler where it was possible to frequently parse huge chunks of markdown without having to worry about caching the compiled output somehow...or blocking for an unnecesarily long time.

marked lingers around 430 (may vary) lines long and still implements all markdown features. It is also now fully compatible with the client-side.

marked more or less passes the official markdown test suite in its entirety. This is important because a surprising number of markdown compilers cannot pass more than a few tests. It was very difficult to get marked as compliant as it is. It could have cut corners in several areas for the sake of performance, but did not in order to be exactly what you expect in terms of a markdown rendering. In fact, this is why marked could be considered at a disadvantage in the benchmarks above.


var marked = require('marked');
console.log(marked('i am using __markdown__.'));

You also have direct access to the lexer and parser if you so desire.

var tokens = marked.lexer(str);
$ node
> require('marked').lexer('> i am using marked.')
[ { type: 'blockquote_start' },
  { type: 'text', text: ' i am using marked.' },
  { type: 'blockquote_end' },
  links: {} ]

Todo (& notes to self)

  • Implement GFM features.
  • Possibly add some ReMarkable features while remaining backwardly compatible with all markdown syntax.
  • Optimize the lexer to return an iterator instead of a collection of tokens.
  • Add an explicit pretty printing and minification feature.
Something went wrong with that request. Please try again.