Guides implementation of the Syncfusion ASP.NET Core Markdown Converter (Syncfusion.EJ2 NuGet). Use this skill when the user needs to convert Markdown text to HTML, use the MarkdownConverter toHtml method, configure MarkdownConverterOptions (async, gfm, lineBreak, silence), or integrate the Markdown Converter with the Syncfusion Rich Text Editor tag helper for live preview or side-by-side editing in ASP.NET Core MVC or Razor Pages projects. Trigger when user mentions markdown to HTML conversion, MarkdownConverter, toHtml, ej2-markdown-converter, markdown preview, or RTE markdown mode.
The Syncfusion ASP.NET Core Markdown Converter is a lightweight client-side utility (loaded via CDN or npm) that transforms Markdown text into clean, semantic HTML. It supports all common Markdown elements — headings, lists, tables, links, images, and inline styles — and integrates seamlessly with the Syncfusion Rich Text Editor tag helper (<ejs-richtexteditor>) for live editing and preview workflows in ASP.NET Core MVC or Razor Pages applications.
📄 Read: references/getting-started.md
📄 Read: references/tohtml-api.md
toHtml method signature and parameters (JavaScript usage from Razor views)MarkdownConverterOptions objectasync — asynchronous conversion for large contentgfm — GitHub Flavored Markdown supportlineBreak — single line breaks as <br> elementssilence — suppress errors on invalid Markdown<ejs-richtexteditor> (editorMode="Markdown") with MarkdownConvertertoHtmlRegister the tag helper and add CDN references, then run a minimal conversion:
{{! _ViewImports.cshtml }}
@addTagHelper *, Syncfusion.EJ2
{{! _Layout.cshtml <head> }}
<link rel="stylesheet" href="https://cdn.syncfusion.com/ej2/{{ site.ej2version }}/fluent.css" />
<script src="https://cdn.syncfusion.com/ej2/{{ site.ej2version }}/dist/ej2.min.js"></script>
{{! _Layout.cshtml before </body> }}
<ejs-scripts></ejs-scripts>
// Inline script in Razor view or a linked .js file
var markdownContent = '# Hello World\nThis is **Markdown** text.';
var htmlOutput = ej.markdownconverter.MarkdownConverter.toHtml(markdownContent);
console.log(htmlOutput);
// Output: <h1>Hello World</h1><p>This is <strong>Markdown</strong> text.</p>
var html = ej.markdownconverter.MarkdownConverter.toHtml(markdownContent, {
async: true, // Non-blocking for large content
gfm: true, // GitHub Flavored Markdown
lineBreak: true, // Treat single newlines as <br>
silence: true // Suppress parse errors
});
document.getElementById('textarea').addEventListener('keyup', function () {
document.getElementById('preview').innerHTML =
ej.markdownconverter.MarkdownConverter.toHtml(this.value);
});
<ejs-richtexteditor id="markdown-editor" editorMode="Markdown" value="@ViewBag.value">
<e-richtexteditor-toolbarsettings items="@ViewBag.tools"></e-richtexteditor-toolbarsettings>
</ejs-richtexteditor>
// HomeController.cs
public ActionResult Index()
{
ViewBag.value = "# Hello\nType **Markdown** here.";
ViewBag.tools = new[] {
"Bold", "Italic", "StrikeThrough", "|",
"Formats", "Blockquote", "OrderedList", "UnorderedList", "|",
"CreateLink", "Image", "CreateTable", "|", "Undo", "Redo"
};
return View();
}
| Option | Type | Default | Purpose |
|---|---|---|---|
async | boolean | false | Async conversion for large payloads |
gfm | boolean | true | GitHub Flavored Markdown support |
lineBreak | boolean | false | Single newlines → <br> |
silence | boolean | false | Skip invalid Markdown instead of throwing |