
Security News
The Hidden Blast Radius of the Axios Compromise
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.
Markdig is a fast, powerful, CommonMark compliant, extensible Markdown processor for .NET.
Markdig is a fast, powerful, CommonMark compliant, extensible Markdown processor for .NET.
Documentation: https://xoofx.github.io/markdig
You can try Markdig online and compare it to other implementations on babelmark3
# of a headers with @)~~,~^++==http:// or https:// or ftp:// or mailto: or www.xxx.yyya. b. and roman bullet (i, ii...etc.)""..."" (inspired by this CommonMark discussion )::: for generating a proper <div>...</div> instead (inspired by this CommonMark discussion )$$ for block and $ for inline math (inspired from this CommonMark discussion)mermaid and nomnoml diagrams)0.20.0+, Markdig is compatible only with NETStandard 2.0, NETStandard 2.1, NETCoreApp 2.1 and NETCoreApp 3.1.If you are looking for support for an old .NET Framework 3.5 or 4.0, you can download Markdig 0.18.3.
markdig.wpfNeo.Markdig.XamlMarkdig.SyntaxHighlightingMarkdown.ColorCodeWebStoating.Markdig.PrismMarkdig.Extensions.ScriptCsFull documentation is available at https://xoofx.github.io/markdig — covering getting started, usage, all extensions, and the developer guide for writing custom parsers and renderers.
For detailed specs and corner cases of each extension, see the specs documentation.
For a "behind the scene" article about Markdig, see the blog post "Implementing a Markdown Engine for .NET".
Markdig is available as a NuGet package:
Also Markdig.Signed NuGet package provides signed assemblies.
The main entry point for the API is the Markdig.Markdown class:
By default, without any options, Markdig is using the plain CommonMark parser:
var result = Markdown.ToHtml("This is a text with some *emphasis*");
Console.WriteLine(result); // prints: <p>This is a text with some <em>emphasis</em></p>
In order to activate most of all advanced extensions (except Emoji, SoftLine as HardLine, Bootstrap, YAML Front Matter, JiraLinks and SmartyPants)
// Configure the pipeline with all advanced extensions active
var pipeline = new MarkdownPipelineBuilder().UseAdvancedExtensions().Build();
var result = Markdown.ToHtml("This is a text with some *emphasis*", pipeline);
You can have a look at the MarkdownExtensions that describes all actionable extensions (by modifying the MarkdownPipeline)
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated. For detailed contributing guidelines, please see contributing.md.
In order to build Markdig, you need to install .NET 10.0
This software is released under the BSD-Clause 2 license.
Supports this project with a monthly donation and help me continue improving it. [Become a sponsor]
Lilith River, author of Imageflow Server, an easy on-demand
image editing, optimization, and delivery server
Thanks to the fantastic work done by John Mac Farlane for the CommonMark specs and all the people involved in making Markdown a better standard!
This project would not have been possible without this huge foundation.
Thanks also to the project BenchmarkDotNet that makes benchmarking so easy to setup!
Some decoding part (e.g HTML EntityHelper.cs) have been re-used from CommonMark.NET
Thanks to the work done by @clarkd on the JIRA Link extension, now included with this project!
Alexandre MUTEL aka xoofx
FAQs
Markdig is a fast, powerful, CommonMark compliant, extensible Markdown processor for .NET.
We found that markdig demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.