Pandoc is a Haskell library for converting from one markupformat to another. The formats it can handle include
light markup formats (many variants of Markdown,reStructuredText, AsciiDoc, Org-mode, Muse, Textile,txt2tags, djot)
HTML formats (HTML 4 and 5)
Ebook formats (EPUB v2 and v3, FB2)
Documentation formats (GNU TexInfo, Haddock)
Roff formats (man, ms)
TeX formats (LaTeX, ConTeXt)
Typst
XML formats (DocBook 4 and 5, JATS, TEI Simple, OpenDocument)
Outline formats (OPML)
Bibliography formats (BibTeX, BibLaTeX, CSL JSON, CSL YAML,RIS)
Word processor formats (Docx, RTF, ODT)
Interactive notebook formats (Jupyter notebook ipynb)
Page layout formats (InDesign ICML)
Wiki markup formats (MediaWiki, DokuWiki, TikiWiki, TWiki,Vimwiki, XWiki, ZimWiki, Jira wiki, Creole)
Slide show formats (LaTeX Beamer, PowerPoint, Slidy,reveal.js, Slideous, S5, DZSlides)
Data formats (CSV and TSV tables)
PDF (via external programs such as pdflatex or wkhtmltopdf)
Pandoc can convert mathematical content in documentsbetween TeX, MathML, Word equations, roff eqn, typst,and plain text. It includes a powerful system for automaticcitations and bibliographies, and it can be customizedextensively using templates, filters, and custom readersand writers written in Lua.
For the pandoc command-line program, see thepandoc-cli
package.
[Index] [Quick Jump]
Name | Description | Default |
---|---|---|
embed_data_files | Embed data files in binary for relocatable executable. | Disabled |
Use-f <flag> to enable a flag, or-f -<flag> to disable that flag.More info
For package maintainers and hackage trustees
Candidates
Versions[RSS] | 0.4,0.41,0.42,0.43,0.44,0.45,0.46,1.0,1.0.0.1,1.1,1.2,1.2.1,1.3,1.4,1.5,1.5.0.1,1.5.1,1.5.1.1,1.6,1.6.0.1,1.8,1.8.0.1,1.8.0.2,1.8.0.3,1.8.1,1.8.1.1,1.8.1.2,1.8.2,1.8.2.1,1.9,1.9.0.2,1.9.0.3,1.9.0.4,1.9.0.5,1.9.1,1.9.1.1,1.9.1.2,1.9.2,1.9.3,1.9.4,1.9.4.1,1.9.4.2,1.9.4.3,1.9.4.4,1.9.4.5,1.10,1.10.0.1,1.10.0.2,1.10.0.3,1.10.0.4,1.10.0.5,1.10.1,1.11,1.11.1,1.12,1.12.0.1,1.12.0.2,1.12.1,1.12.2,1.12.2.1,1.12.3,1.12.3.1,1.12.3.2,1.12.3.3,1.12.4,1.12.4.2,1.13,1.13.0.1,1.13.1,1.13.2,1.13.2.1,1.14,1.14.0.1,1.14.0.2,1.14.0.3,1.14.0.4,1.14.1,1.15,1.15.0.1,1.15.0.2,1.15.0.3,1.15.0.4,1.15.0.5,1.15.0.6,1.15.1,1.15.1.1,1.15.2,1.15.2.1,1.16,1.16.0.1,1.16.0.2,1.17,1.17.0.1,1.17.0.2,1.17.0.3,1.17.1,1.17.2,1.18,1.19,1.19.1,1.19.2,1.19.2.1,1.19.2.2,1.19.2.3,1.19.2.4,2.0,2.0.0.1,2.0.1,2.0.1.1,2.0.2,2.0.3,2.0.4,2.0.5,2.0.6,2.1,2.1.1,2.1.2,2.1.3,2.2,2.2.1,2.2.2,2.2.2.1,2.2.3,2.2.3.1,2.2.3.2,2.3,2.3.1,2.4,2.5,2.6,2.7,2.7.1,2.7.2,2.7.3,2.8,2.8.0.1,2.8.1,2.9,2.9.1,2.9.1.1,2.9.2,2.9.2.1,2.10,2.10.1,2.11,2.11.0.1,2.11.0.2,2.11.0.3,2.11.0.4,2.11.1,2.11.1.1,2.11.2,2.11.3,2.11.3.1,2.11.3.2,2.11.4,2.12,2.13,2.14,2.14.0.1,2.14.0.2,2.14.0.3,2.14.1,2.14.2,2.15,2.16,2.16.1,2.16.2,2.17,2.17.0.1,2.17.1,2.17.1.1,2.18,2.19,2.19.1,2.19.2,3.0,3.0.1,3.1,3.1.1,3.1.2,3.1.3,3.1.4,3.1.5,3.1.6,3.1.6.1,3.1.6.2,3.1.7,3.1.8,3.1.9,3.1.10,3.1.11,3.1.11.1,3.1.12,3.1.12.1,3.1.12.2,3.1.12.3,3.1.13,3.2,3.2.1,3.3,3.4,3.5,3.6,3.6.1,3.6.2,3.6.3,3.6.4 (info) |
---|---|
Change log | changelog.md |
Dependencies | aeson (>=2.0.1.0 && <2.3),aeson-pretty (>=0.8.9 && <0.9),array (>=0.5 && <0.6),attoparsec (>=0.12 && <0.15),base (>=4.12 && <5),base64-bytestring (>=0.1 && <1.3),binary (>=0.7 && <0.11),blaze-html (>=0.9 && <0.10),blaze-markup (>=0.8 && <0.9),bytestring (>=0.9 && <0.13),case-insensitive (>=1.2 && <1.3),citeproc (>=0.8.1.3 && <0.9),commonmark (>=0.2.6.1 && <0.3),commonmark-extensions (>=0.2.6 && <0.3),commonmark-pandoc (>=0.2.3 && <0.3),containers (>=0.6.0.1 && <0.9),crypton (>=0.30 && <1.1),crypton-connection (>=0.3.1 && <0.5),crypton-x509-system (>=1.6.7 && <1.7),data-default (>=0.4 && <0.9),deepseq (>=1.3 && <1.6),directory (>=1.2.3 && <1.4),djot (>=0.1.2.2 && <0.2),doclayout (>=0.5 && <0.6),doctemplates (>=0.11 && <0.12),emojis (>=0.1.4.1 && <0.2),exceptions (>=0.8 && <0.11),file-embed (>=0.0 && <0.1),filepath (>=1.1 && <1.6),Glob (>=0.7 && <0.11),gridtables (>=0.1 && <0.2),haddock-library (>=1.10 && <1.12),http-client (>=0.4.30 && <0.8),http-client-tls (>=0.2.4 && <0.4),http-types (>=0.8 && <0.13),ipynb (>=0.2 && <0.3),jira-wiki-markup (>=1.5.1 && <1.6),JuicyPixels (>=3.1.6.1 && <3.4),libyaml (>=0.1.4 && <0.2),mime-types (>=0.1.1 && <0.2),mtl (>=2.2 && <2.4),network (>=2.6 && <3.3),network-uri (>=2.6 && <2.8),pandoc,pandoc-types (>=1.23.1 && <1.24),parsec (>=3.1 && <3.2),pretty (>=1.1 && <1.2),pretty-show (>=1.10 && <1.11),process (>=1.2.3 && <1.7),random (>=1 && <1.4),safe (>=0.3.18 && <0.4),scientific (>=0.3 && <0.4),skylighting (>=0.14.5 && <0.15),skylighting-core (>=0.14.5 && <0.15),split (>=0.2 && <0.3),syb (>=0.1 && <0.8),tagsoup (>=0.14.6 && <0.15),temporary (>=1.1 && <1.4),texmath (>=0.12.9 && <0.13),text (>=1.1.1.0 && <2.2),text-conversions (>=0.3 && <0.4),time (>=1.5 && <1.15),tls (>=2.0.1 && <2.2),typst (>=0.7 && <0.8),unicode-collation (>=0.1.1 && <0.2),unicode-transforms (>=0.3 && <0.5),unix (>=2.4 && <2.9),vector (>=0.12 && <0.14),xml (>=1.3.12 && <1.4),xml-conduit (>=1.9.1.1 && <1.11),xml-types (>=0.3 && <0.4),yaml (>=0.11 && <0.12),zip-archive (>=0.4.3.1 && <0.5),zlib (>=0.5 && <0.8) [details] |
Tested with | ghc ==8.10.7, ghc ==9.0.2, ghc ==9.2.5, ghc ==9.4.4, ghc ==9.6.3, ghc ==9.8.2, ghc ==9.10.1 |
License | GPL-2.0-or-later |
Copyright | (c) 2006-2024 John MacFarlane |
Author | John MacFarlane <jgm@berkeley.edu> |
Maintainer | John MacFarlane <jgm@berkeley.edu> |
Category | Text |
Home page | https://pandoc.org |
Bug tracker | https://github.com/jgm/pandoc/issues |
Source repo | head: git clonehttps://github.com/jgm/pandoc.git |
Uploaded | byJohnMacFarlane at2025-03-16T18:56:14Z |
Distributions | Arch:3.1.12.1, Debian:2.9.2.1, Fedora:3.1.3, FreeBSD:1.15.0.6, LTSHaskell:3.6, NixOS:3.1.11.1, Stackage:3.6.4, openSUSE:3.6.4 |
Reverse Dependencies | 92 direct, 77 indirect [details] |
Downloads | 361645 total (1104 in the last 30 days) |
Rating | 3.0 (votes: 24)[estimated byBayesian average] |
Your Rating |
|
Status | Docs available[build log] Last success reported on 2025-03-16[all 1 reports] |
Pandoc is aHaskell library for converting fromone markup format to another, and a command-line tool that uses thislibrary.
It can convertfrom
bibtex
(BibTeX bibliography)biblatex
(BibLaTeX bibliography)bits
(BITS XML, aliasforjats
)commonmark
(CommonMark Markdown)commonmark_x
(CommonMark Markdown withextensions)creole
(Creole 1.0)csljson
(CSLJSONbibliography)csv
(CSV table)tsv
(TSVtable)djot
(Djot markup)docbook
(DocBook)docx
(Word docx)dokuwiki
(DokuWiki markup)endnotexml
(EndNote XMLbibliography)epub
(EPUB)fb2
(FictionBook2e-book)gfm
(GitHub-FlavoredMarkdown),or the deprecated and less accuratemarkdown_github
; usemarkdown_github
only if you need extensions not supported ingfm
.haddock
(Haddockmarkup)html
(HTML)ipynb
(Jupyternotebook)jats
(JATS XML)jira
(Jira/Confluencewiki markup)json
(JSON version of native AST)latex
(LaTeX)markdown
(Pandoc’sMarkdown)markdown_mmd
(MultiMarkdown)markdown_phpextra
(PHP MarkdownExtra)markdown_strict
(original unextendedMarkdown)mediawiki
(MediaWikimarkup)man
(roff man)mdoc
(mdoc manual pagemarkup)muse
(Muse)native
(native Haskell)odt
(OpenDocument textdocument)opml
(OPML)org
(Emacs Org mode)pod
(Perl’sPlain OldDocumentation)ris
(RISbibliography)rtf
(Rich TextFormat)rst
(reStructuredText)t2t
(txt2tags)textile
(Textile)tikiwiki
(TikiWikimarkup)twiki
(TWikimarkup)typst
(typst)vimwiki
(Vimwiki)It can convertto
ansi
(text withANSI escapecodes, for terminalviewing)asciidoc
(modernAsciiDoc as interpreted byAsciiDoctor)asciidoc_legacy
(AsciiDoc as interpreted byasciidoc-py
).asciidoctor
(deprecated synonym forasciidoc
)beamer
(LaTeX beamer slide show)bibtex
(BibTeX bibliography)biblatex
(BibLaTeX bibliography)chunkedhtml
(zip archive of multiple linked HTML files)commonmark
(CommonMark Markdown)commonmark_x
(CommonMark Markdown withextensions)context
(ConTeXt)csljson
(CSLJSONbibliography)djot
(Djot markup)docbook
ordocbook4
(DocBook 4)docbook5
(DocBook 5)docx
(Word docx)dokuwiki
(DokuWiki markup)epub
orepub3
(EPUB v3 book)epub2
(EPUB v2)fb2
(FictionBook2e-book)gfm
(GitHub-FlavoredMarkdown),or the deprecated and less accuratemarkdown_github
; usemarkdown_github
only if you need extensions not supported ingfm
.haddock
(Haddockmarkup)html
orhtml5
(HTML,i.e. HTML5/XHTMLpolyglotmarkup)html4
(XHTML 1.0 Transitional)icml
(InDesignICML)ipynb
(Jupyternotebook)jats_archiving
(JATS XML, Archiving andInterchange Tag Set)jats_articleauthoring
(JATS XML, ArticleAuthoring Tag Set)jats_publishing
(JATS XML, JournalPublishing Tag Set)jats
(alias forjats_archiving
)jira
(Jira/Confluencewiki markup)json
(JSON version of native AST)latex
(LaTeX)man
(roff man)markdown
(Pandoc’sMarkdown)markdown_mmd
(MultiMarkdown)markdown_phpextra
(PHP MarkdownExtra)markdown_strict
(original unextendedMarkdown)markua
(Markua)mediawiki
(MediaWikimarkup)ms
(roff ms)muse
(Muse)native
(native Haskell)odt
(OpenDocument textdocument)opml
(OPML)opendocument
(OpenDocumentXML)org
(Emacs Org mode)pdf
(PDF)plain
(plain text)pptx
(PowerPointslide show)rst
(reStructuredText)rtf
(Rich TextFormat)texinfo
(GNU Texinfo)textile
(Textile)slideous
(Slideous HTMLand JavaScript slide show)slidy
(Slidy HTML andJavaScript slide show)dzslides
(DZSlides HTML5 +JavaScript slide show)revealjs
(reveal.js HTML5 + JavaScriptslide show)s5
(S5 HTML and JavaScriptslide show)tei
(TEI Simple)typst
(typst)xwiki
(XWikimarkup)zimwiki
(ZimWikimarkup)Pandoc can also produce PDF output via LaTeX, Groff ms, or HTML.
Pandoc’s enhanced version of Markdown includes syntax for tables,definition lists, metadata blocks, footnotes, citations, math, and muchmore. See the User’s Manual below underPandoc’sMarkdown.
Pandoc has a modular design: it consists of a set of readers, whichparse text in a given format and produce a native representation of thedocument (anabstract syntax tree or AST), and a set of writers, whichconvert this native representation into a target format. Thus, adding aninput or output format requires only adding a reader or writer. Userscan also run custom pandoc filters to modify the intermediate AST (seethe documentation forfilters andLua filters).
Because pandoc’s intermediate representation of a document is lessexpressive than many of the formats it converts between, one should notexpect perfect conversions between every format and every other. Pandocattempts to preserve the structural elements of a document, but notformatting details such as margin size. And some document elements, suchas complex tables, may not fit into pandoc’s simple document model.While conversions from pandoc’s Markdown to all formats aspire to beperfect, conversions from formats more expressive than pandoc’s Markdowncan be expected to be lossy.
Here’show to install pandoc.
Pandoc’s website contains a fullUser’sGuide. It is also availablehere as pandoc-flavored Markdown. The website alsocontains someexamples of the use ofpandoc and a limitedonlinedemo.
Pull requests, bug reports, and feature requests are welcome. Pleasemake sure to readthe contributor guidelines beforeopening a new issue.
© 2006-2024 John MacFarlane (jgm@berkeley.edu). Released under theGPL,version 2 or greater. This software carries no warranty of any kind.(See COPYRIGHT for full copyright and warranty notices.)