Skip to content

Ferromark · The Ferramenta Markdown engine

Markdown.
Ready for your pipeline.

Turn Markdown into HTML, with the metadata your application needs. A fast, focused Rust engine with CommonMark correctness, explicit rendering policies, and practical publishing features.

Release candidate · 2.0.0-rc.1. V2 is in release-candidate testing. Read the migration guide.

Rust crate

Build with Rust

Render HTML, inspect the document tree, and connect your own rendering hooks. Arena allocation for content tooling.

Start with Rust

Also available for Node.js

Build with Node.js

A native engine behind a typed JavaScript API. HTML strings, Buffers, metadata, and Ferriki highlighting.

Start with Node.js

Working in a shell? Use the command line.

Why Ferromark

Built for real publishing work.

Render articles, extract front matter, and build navigation from headings. Keep control over syntax, trust, and how code blocks are presented.

A core with a clear job

Parse Markdown. Render HTML. Keep translation and code presentation at explicit integration points. Arena allocation and reusable buffers keep the engine focused.

Understand the design →

Correctness you can inspect

The explicit CommonMark profile agrees with all 652 specification examples. Output comparisons with cmark and cmark-gfm expose edge cases and keep fixes reproducible.

Inspect correctness checks →

The pieces publishing needs

Front matter, headings for navigation, footnotes, callouts, table classes, and merged cells. Enable the syntax your authors need and get the output your application can use.

Explore Markdown syntax →

One engine. A shared contract.

Learn the behavior once.

Rust and Node.js have their own guides and APIs. Markdown syntax, trust policies, and output semantics live in one shared reference.