A markdown parser and compiler. Built for speed.
Check out the demo page to see Marked in action ⛹️
Our documentation pages are also rendered using marked 💯
Also read about:
Node.js: Only current and LTS Node.js versions are supported. End of life Node.js versions may become incompatible with Marked at any point in time.
Browser: Baseline Widely Available
CLI:
npm install -g markedIn-browser:
npm install markedDOMPurify.sanitize(marked.parse(``));CLI
# Example with stdin input
$ marked -o hello.html
hello world
^D
$ cat hello.html
<p>hello world</p># Print all options
$ marked --helpNode.js
import { marked } from 'marked';
const html = marked.parse('# Marked in Node.js');
console.log(html);Browser
<!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<title>Marked in the browser</title>
</head>
<body>
<script src="https://cdn.jsdelivr.net/npm/marked/lib/marked.umd.js"></script>
<script>
document.getElementById('content').innerHTML =
marked.parse('# Marked in the browser\n\nRendered by **marked**.');
</script>
</body>
</html>or import esm module
<script type="module">
import { marked } from "https://cdn.jsdelivr.net/npm/marked/lib/marked.esm.js";
document.getElementById('content').innerHTML =
marked.parse('# Marked in the browser\n\nRendered by **marked**.');
</script>Copyright (c) 2018+, MarkedJS. (MIT License) Copyright (c) 2011-2018, Christopher Jeffrey. (MIT License)
Improve table render
CommonMark spec gaps grouped by root cause, and a question about lookup tables
Enhancement: add TypeScript generics support for custom renderer return types
let walkTokens replace the current token with multiple
Select Extension priority
Support custom extensions "interrupting" built-in tokens
Measured performance decrease between major releases of Marked, time for a performance pass?
Markdown flavors + options