---
title: "Panache"
title-meta: "Panache: Language Server, Formatter, and Linter for Markdown, Quarto, and R Markdown"
description-meta: >
  Panache provides authoring tools for Markdown, Quarto, and R Markdown: a
  language server, formatter, and linter to help you write better documents,
  more efficiently.
title-prefix: ""
canonical-url: "https://panache.bz/"
image: images/og.png
image-alt: "Panache logo"

open-graph:
  title: "Panache: Language Server, Formatter, and Linter for Markdown, Quarto, and R Markdown"

twitter-card:
  title: "Panache: Language Server, Formatter, and Linter for Markdown, Quarto, and R Markdown"

format:
  html:
    toc: false
---

<img src="images/logo.svg" alt="Panache logo" class="float-end ms-3"
style="max-width: 20%; height: auto;">

Panache is a language server, formatter, and linter for Markdown, Quarto, and R
Markdown. It is built for fast, reliable formatting, linting, and language
services across syntax that many generic Markdown tools struggle with, including
fenced divs, grid tables, definition lists, citations, and inline footnotes.

Panache is designed to follow Pandoc's syntax closely and cover its full range
of Markdown dialects (flavors) and extensions, to be able to handle anything
from simple CommonMark to complex Quarto documents with embedded code chunks and
fenced divs. It is flexible and can be used in your editor, on the command line,
and in CI, with consistent behavior across all environments.

<div style="clear: both;"></div>

## Why Panache

- **Pandoc, R Markdown and Quarto aware**: understands syntax extensions
  directly instead of flattening them into plain Markdown.
- **Formatter + linter + LSP in one tool**: consistent behavior in your CLI,
  editor, and CI.
- **Configurable defaults**: tune wrapping, flavor, extensions, and linting to
  match your project.
- **External tool support**: plug in external formatters and linters for code
  blocks to enable language-aware formatting and linting of embedded code.
- **Fast and reliable**: built in Rust for speed and stability, with a focus on
  correctness and consistent formatting. See the
  [Comparisons](guide/comparisons.qmd) and [Performance](guide/performance.qmd)
  articles for comparisons and benchmarks against other tools.

## Quick Start

Install with Cargo:

```bash
cargo install panache
```

Format your first document:

```bash
panache format document.qmd
```

Lint a document:

```bash
panache lint document.qmd
```

To get the most out of Panache, you will want to set up the language server in
your editor. See [Getting Started](getting-started.qmd) for instructions on how
to do that.

## Where to Go Next

- [Getting Started](getting-started.qmd): A slightly more detailed guide on how
  to get up and running with Panache, including integrating the language server
  into your editor.
- [User Guide](guide/index.qmd): detailed docs for formatting, linting, CLI, and
  editor integration.
- [Configuration](guide/configuration.qmd): tune behavior with `panache.toml`.
- [Playground](playground/index.html): try formatting directly in the browser.
