Pandoc
A Haskell library and command-line tool that converts documents between dozens of markup formats, including Markdown, HTML, LaTeX and Word.
- GitHub stars
- 46k
- Last commit
- today
- Latest release
- 3.12
- Licence
- GPL-2.0

Pandoc is a universal markup converter, made up of a Haskell library that translates content between markup formats and a command-line tool built on it. It can read a very wide range of formats, including AsciiDoc, BibTeX, CommonMark, DocBook, Word docx, EPUB, HTML, Jupyter notebooks, LaTeX, several Markdown variants, MediaWiki, Org mode, reStructuredText, Textile and Typst. It is released under the GPL-2.0 license.
Beyond the built-in readers and writers, the documentation describes custom readers and writers written in Lua. Pandoc can also write to many output formats, such as HTML, docx, EPUB and LaTeX. Its topics reference publishing, presentations and CommonMark, reflecting its use in academic writing and document pipelines.
Because it is a command-line tool and a library, Pandoc is easy to script and to embed in build systems, static-site generators and writing workflows. It suits writers, researchers, documentation teams and developers who need to move content between Markdown, Word, web and print formats without retyping.
Key features
- Converts between dozens of markup formats
- Reads Markdown, HTML, LaTeX, docx and EPUB
- Command-line tool and Haskell library
- Custom readers and writers in Lua
- Bibliography and citation formats supported
- Scriptable for publishing pipelines
Pricing: Free and open source under the GPL-2.0 license.
