2025-07-10 08:52:41 +08:00
< a href = "https://marked.js.org" >
< img width = "60px" height = "60px" src = "https://marked.js.org/img/logo-black.svg" align = "right" / >
< / a >
# Marked
[](https://www.npmjs.com/package/marked)
2025-07-10 09:41:17 +08:00
[](https://cdn.jsdelivr.net/npm/marked/marked.min.js)
2025-07-10 08:52:41 +08:00
[](https://packagephobia.now.sh/result?p=marked)
[](https://www.npmjs.com/package/marked)
[](https://github.com/markedjs/marked/actions)
[](https://snyk.io/test/npm/marked)
- ⚡ built for speed
- ⬇️ low-level compiler for parsing markdown without caching or blocking for long periods of time
- ⚖️ light-weight while implementing all markdown features from the supported flavors & specifications
- 🌐 works in a browser, on a server, or from a command line interface (CLI)
## Demo
Checkout the [demo page ](https://marked.js.org/demo/ ) to see marked in action ⛹️
## Docs
Our [documentation pages ](https://marked.js.org ) are also rendered using marked 💯
Also read about:
2025-07-10 09:41:17 +08:00
* [Options ](https://marked.js.org/#/USING_ADVANCED.md )
* [Extensibility ](https://marked.js.org/#/USING_PRO.md )
2025-07-10 08:52:41 +08:00
## Compatibility
**Node.js:** Only [current and LTS ](https://nodejs.org/en/about/releases/ ) Node.js versions are supported. End of life Node.js versions may become incompatible with Marked at any point in time.
**Browser:** Not IE11 :)
## Installation
2025-07-10 09:41:17 +08:00
**CLI:**
2025-07-10 08:52:41 +08:00
2025-07-10 09:41:17 +08:00
```sh
2025-07-10 08:52:41 +08:00
npm install -g marked
```
2025-07-10 09:41:17 +08:00
**In-browser:**
2025-07-10 08:52:41 +08:00
```sh
npm install marked
2025-07-10 09:41:17 +08:00
npm install @types/marked # For TypeScript projects
2025-07-10 08:52:41 +08:00
```
## Usage
2025-07-10 09:41:17 +08:00
### Warning: 🚨 Marked does not [sanitize](https://marked.js.org/#/USING_ADVANCED.md#options) the output HTML. Please use a sanitize library, like [DOMPurify](https://github.com/cure53/DOMPurify) (recommended), [sanitize-html](https://github.com/apostrophecms/sanitize-html) or [insane](https://github.com/bevacqua/insane) on the *output* HTML! 🚨
2025-07-10 08:52:41 +08:00
```
DOMPurify.sanitize(marked.parse(`< img src = "x" onerror = "alert('not happening')" > `));
```
**CLI**
``` bash
# Example with stdin input
$ marked -o hello.html
hello world
^D
$ cat hello.html
< p > hello world< / p >
```
```bash
# Print all options
$ marked --help
```
**Browser**
```html
<!doctype html>
< html >
< head >
< meta charset = "utf-8" / >
< title > Marked in the browser< / title >
< / head >
< body >
< div id = "content" > < / div >
2025-07-10 09:41:17 +08:00
< script src = "https://cdn.jsdelivr.net/npm/marked/marked.min.js" > < / script >
2025-07-10 08:52:41 +08:00
< script >
document.getElementById('content').innerHTML =
marked.parse('# Marked in the browser\n\nRendered by **marked** .');
< / script >
< / body >
< / html >
```
## License
Copyright (c) 2011-2022, Christopher Jeffrey. (MIT License)