PHPackages                             php-markdown/parser - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. php-markdown/parser

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

php-markdown/parser
===================

Lightweight standalone CommonMark Markdown to HTML5 parser — no external dependencies

v1.2.1(1w ago)03MITPHPPHP &gt;=8.2CI passing

Since May 13Pushed 1w agoCompare

[ Source](https://github.com/jmcollin/php-markdown)[ Packagist](https://packagist.org/packages/php-markdown/parser)[ RSS](/packages/php-markdown-parser/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (4)Dependencies (6)Versions (33)Used By (0)

php-markdown
============

[](#php-markdown)

A lightweight, standalone PHP library (8.2–8.4) that parses CommonMark-flavored Markdown and converts it into clean, semantic HTML5. **Zero runtime dependencies.**

[![PHP](https://camo.githubusercontent.com/315abd158317f5997ab3bca4ad3dc2a78250678693ee671332a07def825621d4/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e32253230746f253230382e342d626c7565)](https://camo.githubusercontent.com/315abd158317f5997ab3bca4ad3dc2a78250678693ee671332a07def825621d4/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e32253230746f253230382e342d626c7565)[![PSR-12](https://camo.githubusercontent.com/58a1ab7a42d532d3041c22b48a91fcc2b2dd8b4aa22332dc80554c9c94fd419b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7374796c652d5053522d2d31322d627269676874677265656e)](https://camo.githubusercontent.com/58a1ab7a42d532d3041c22b48a91fcc2b2dd8b4aa22332dc80554c9c94fd419b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7374796c652d5053522d2d31322d627269676874677265656e)[![No dependencies](https://camo.githubusercontent.com/2e7335ac36e73e3008de51759b29de1f8155bdb7ade828067bd6536471d6b0c8/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646570656e64656e636965732d6e6f6e652d627269676874677265656e)](https://camo.githubusercontent.com/2e7335ac36e73e3008de51759b29de1f8155bdb7ade828067bd6536471d6b0c8/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646570656e64656e636965732d6e6f6e652d627269676874677265656e)[![License](https://camo.githubusercontent.com/b8cadaa967891081f8f165695470689986c028821dd8a040132f6e661795dc0d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c7565)](https://camo.githubusercontent.com/b8cadaa967891081f8f165695470689986c028821dd8a040132f6e661795dc0d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c7565)

---

Requirements
------------

[](#requirements)

- PHP **8.2** to **8.4**
- No external packages required for core usage

---

Installation
------------

[](#installation)

### Via Composer (recommended)

[](#via-composer-recommended)

```
composer require php-markdown/parser
```

### Manual (no Composer)

[](#manual-no-composer)

Copy the `src/` directory into your project, then require the files in this order:

```
require '/path/to/src/Exception/ParseException.php';
require '/path/to/src/Node/NodeInterface.php';
require '/path/to/src/Node/BlockNodeInterface.php';
require '/path/to/src/Node/InlineNodeInterface.php';
require '/path/to/src/Node/Block/DocumentNode.php';
require '/path/to/src/Node/Block/HeadingNode.php';
require '/path/to/src/Node/Block/ParagraphNode.php';
require '/path/to/src/Node/Block/BlockquoteNode.php';
require '/path/to/src/Node/Block/ListNode.php';
require '/path/to/src/Node/Block/ListItemNode.php';
require '/path/to/src/Node/Block/FencedCodeNode.php';
require '/path/to/src/Node/Block/IndentedCodeNode.php';
require '/path/to/src/Node/Block/HorizontalRuleNode.php';
require '/path/to/src/Node/Block/TableNode.php';
require '/path/to/src/Node/Block/TableRowNode.php';
require '/path/to/src/Node/Block/TableCellNode.php';
require '/path/to/src/Node/Block/RawHtmlBlockNode.php';
require '/path/to/src/Node/Block/ColumnsNode.php';
require '/path/to/src/Node/Block/FootnoteDefinitionNode.php';
require '/path/to/src/Node/Block/FootnotesContainerNode.php';
require '/path/to/src/Node/Inline/TextNode.php';
require '/path/to/src/Node/Inline/EmphasisNode.php';
require '/path/to/src/Node/Inline/StrongNode.php';
require '/path/to/src/Node/Inline/StrikethroughNode.php';
require '/path/to/src/Node/Inline/CodeNode.php';
require '/path/to/src/Node/Inline/LinkNode.php';
require '/path/to/src/Node/Inline/ImageNode.php';
require '/path/to/src/Node/Inline/AutolinkNode.php';
require '/path/to/src/Node/Inline/HardBreakNode.php';
require '/path/to/src/Node/Inline/HtmlEntityNode.php';
require '/path/to/src/Node/Inline/RawHtmlInlineNode.php';
require '/path/to/src/Node/Inline/FootnoteRefNode.php';
require '/path/to/src/Normalizer/NormalizerInterface.php';
require '/path/to/src/Normalizer/IcuNormalizer.php';
require '/path/to/src/Sanitizer/HtmlSanitizer.php';
require '/path/to/src/Lexer/TokenType.php';
require '/path/to/src/Lexer/Token.php';
require '/path/to/src/Lexer/Lexer.php';
require '/path/to/src/Parser/DelimiterRun.php';
require '/path/to/src/Parser/FlankingComputer.php';
require '/path/to/src/Parser/DelimiterStack.php';
require '/path/to/src/Parser/InlineParser.php';
require '/path/to/src/Parser/Parser.php';
require '/path/to/src/Parser/FrontMatterParser.php';
require '/path/to/src/Renderer/HtmlRenderer.php';
require '/path/to/src/MarkdownParser.php';
```

---

Try it — Docker Playground
--------------------------

[](#try-it--docker-playground)

No PHP installation required. From the project root:

```
docker-compose up --build
```

Open `http://localhost:8080` in your browser. See [`playground/README.md`](playground/README.md)for full setup details, port-override instructions, and caveats.

---

Quick Start
-----------

[](#quick-start)

```
