Skip to content

rumdl

A high-performance Markdown linter and formatter, written in Rust

  • ⚡ Built for speed

Written in Rust for blazing fast performance. Significantly faster than alternatives.
[:octicons-arrow-right-24: Benchmarks](#performance)
  • 🔍 71 lint rules

Comprehensive coverage of common Markdown issues with detailed error messages.
[:octicons-arrow-right-24: View rules](rules.md)
  • 🔧 Auto-formatting

Automatic fixes for most issues with `rumdl fmt` or `rumdl check --fix`.
[:octicons-arrow-right-24: Quick start](getting-started/quickstart.md)
  • 📦 Zero dependencies

Single binary with no runtime requirements. Install via Cargo, pip, Homebrew, or download.
[:octicons-arrow-right-24: Installation](getting-started/installation.md)

Quick Start

# Install using Cargo
cargo install rumdl

# Or using pip
pip install rumdl

# Or using Homebrew
brew install rvben/tap/rumdl

# Lint Markdown files
rumdl check .

# Auto-fix issues
rumdl fmt .

Performance

rumdl is designed for speed. Benchmarked on the Rust Book repository (478 markdown files):

Linter Cold Start Warm Cache
rumdl 0.15s 0.02s
markdownlint-cli2 2.8s 2.8s
markdownlint-cli 5.2s 5.2s

With intelligent caching, subsequent runs are even faster - rumdl only re-lints files that have changed.

Features

  • ⚡ Built for speed with Rust - significantly faster than alternatives
  • 🔍 71 lint rules covering common Markdown issues
  • 🔧 Automatic formatting with --fix for files and stdin/stdout
  • 📦 Zero dependencies - single binary with no runtime requirements
  • ⚙ Highly configurable with TOML-based config files
  • 🎯 Multiple Markdown flavors - GFM, MkDocs, MDX, Quarto support
  • 🌐 Multiple installation options - Rust, Python, standalone binaries
  • 🐍 Installable via pip for Python users
  • 📏 Modern CLI with detailed error reporting
  • 🔄 CI/CD friendly with non-zero exit code on errors

Next Steps