Every format, and which way it goes

Pandoc reads 51 formats and writes 76, 88 distinct in total. They're grouped here by what you'd reach for them for, and closed by default — open the one you want rather than reading past the rest.

Direction is the fact worth checking first: some of these pandoc only reads, some it only writes. Finding that out after you've planned a pipeline around one is expensive.

Markdown10 formats

Pandoc's own dialect is the default, and the one the manual documents. The others exist because Markdown was never standardised — pick the one your destination expects.

  • markdownPandoc Markdownreads and writes

    The default. Plain Markdown plus tables, footnotes, citations, math and definition lists.

    • markdown_strictreads and writesThe original 2004 Markdown, with none of the extensions.
    • markdown_githubreads and writesGitHub's old dialect. Deprecated — use gfm.
    • markdown_mmdreads and writesMultiMarkdown.
    • markdown_phpextrareads and writesPHP Markdown Extra.
  • gfmGitHub-Flavored Markdownreads and writes

    What GitHub renders in READMEs, issues and comments.

  • commonmarkreads and writes

    The standardised core, with an exact specification and no extensions.

    • commonmark_xreads and writesCommonMark with pandoc's extensions switched back on.
  • djotreads and writes

    A newer markup by pandoc's author, designed to remove Markdown's ambiguities.

  • markuawrites only

    Leanpub's dialect for publishing ebooks.

Other lightweight markup11 formats

Plain-text markup languages that predate Markdown or grew up beside it. Most arrived with a particular tool — a wiki, an editor, a documentation system.

  • asciidocreads and writes

    Structured plain text used heavily for technical documentation.

    • asciidoctorwrites onlyTuned for the Asciidoctor toolchain.
    • asciidoc_legacywrites onlyThe older Python AsciiDoc syntax.
  • rstreStructuredTextreads and writes

    The markup of Python's documentation and Sphinx.

  • orgOrg modereads and writes

    Emacs' outliner and notes format.

  • textilereads and writes

    Once common in Rails and Redmine.

  • museEmacs Musereads and writes

    A publishing markup for Emacs.

  • creolereads only

    A common syntax agreed between wiki engines.

  • t2ttxt2tagsreads and writes

    A minimal markup with its own converter.

  • podreads only

    Plain Old Documentation, the format Perl is documented in.

  • haddockHaddock markupreads and writes

    Haskell's API documentation syntax.

HTML4 formats

Pandoc writes standalone pages or bare fragments, and reads HTML back into a document it can convert onwards.

  • htmlreads and writes

    Defaults to HTML5.

    • html5writes onlyHTML5 explicitly.
    • html4writes onlyXHTML 1.0 Transitional, for old targets.
    • chunkedhtmlwrites onlySplits one document into linked pages by heading level.
Word processors and office files5 formats

The formats people are asked to hand things in as. Pandoc reads and writes the real binary files, not an approximation of them.

  • docxWord (.docx)reads and writes

    Round-trips headings, styles, tables, footnotes and tracked-change markup.

  • odtOpenDocument (.odt)reads and writes

    LibreOffice and OpenOffice.

  • opendocumentwrites only

    The raw OpenDocument XML, rather than a packaged .odt file.

  • rtfRich Text Formatreads and writes
  • xlsxExcel (.xlsx)reads only

    Read only — a spreadsheet becomes tables.

Slide decks7 formats

A document whose top-level headings become slides. Pick by where you need to present: a browser, a projector, or someone else's laptop.

  • revealjsreveal.jswrites only

    HTML slides in the browser. The usual choice.

  • beamerwrites only

    LaTeX slides, compiled to PDF.

  • pptxPowerPoint (.pptx)reads and writes
  • dzslideswrites only

    A single self-contained HTML file.

  • slidywrites only

    W3C's HTML slide system.

  • s5writes only

    An older HTML slide system.

  • slideouswrites only

    An older HTML slide system.

Ebooks4 formats

Reflowable book formats, built from a document with chapters.

  • epubreads and writes

    Defaults to EPUB 3.

    • epub3writes onlyEPUB 3 explicitly.
    • epub2writes onlyEPUB 2, for older readers.
  • fb2FictionBook 2reads and writes

    Common on e-ink readers.

Typesetting and PDF5 formats

Where pandoc hands off to a typesetter. PDF is produced by running one of these, so a PDF needs that engine installed.

  • pdfwrites only

    Write only. Goes via LaTeX unless you ask for another engine.

  • latexreads and writes

    The document, as LaTeX source you can edit further.

  • contextConTeXtwrites only

    A TeX system with its own layout model.

  • typstreads and writes

    A modern typesetting system with much faster compiles than TeX.

  • msroff mswrites only

    Classic Unix typesetting macros.

Manual pages and documentation4 formats

The formats that documentation tooling expects to be handed.

  • manman pagereads and writes

    What `man` renders.

  • mdocreads only

    BSD's semantic manual macros. Read only.

  • texinfoTexinfowrites only

    The GNU documentation format.

  • vimdocVim helpwrites only

    The format `:help` reads.

Publishing and archival XML11 formats

Schemas used by journals, standards bodies and publishers, where the structure has to be machine-checkable rather than merely look right.

  • jatsJATSreads and writes

    Journal Article Tag Suite — the standard for scholarly articles.

    • jats_publishingwrites onlyThe publishing tag set.
    • jats_archivingwrites onlyThe archiving and interchange tag set.
    • jats_articleauthoringwrites onlyThe article authoring tag set.
  • bitsBITSreads only

    JATS' book counterpart. Read only.

  • docbookreads and writes

    A long-standing schema for technical books and manuals.

    • docbook5writes onlyDocBook 5.
    • docbook4writes onlyDocBook 4.
  • teiTEI Simplewrites only

    Text Encoding Initiative, used in the humanities.

  • icmlInDesign ICMLwrites only

    Placeable copy for InDesign layouts.

  • opmlOPMLreads and writes

    An outline format, also used for feed lists.

Bibliographies and citations5 formats

Reference libraries rather than documents. Pandoc reads these to resolve citations, and converts between them.

  • bibtexBibTeXreads and writes
  • biblatexBibLaTeXreads and writes
  • csljsonCSL JSONreads and writes

    The interchange format Zotero and Citeproc use.

  • risRISreads only

    Read only. What most databases offer as an export.

  • endnotexmlEndNote XMLreads only

    Read only.

Wikis and forums14 formats

Markup belonging to a particular site or engine. Useful when you're moving content in or out of one.

  • mediawikireads and writes

    Wikipedia's markup.

  • dokuwikireads and writes
  • tikiwikireads only

    Read only.

  • twikireads only

    Read only.

  • vimwikireads only

    Read only.

  • zimwikiwrites only

    Write only.

  • xwikiwrites only

    Write only.

  • jiraJira wiki markupreads and writes
  • bbcodeBBCodewrites only

    Write only. Forum markup, with a variant per engine.

    • bbcode_phpbbwrites onlyphpBB.
    • bbcode_xenforowrites onlyXenForo.
    • bbcode_fluxbbwrites onlyFluxBB.
    • bbcode_hubzillawrites onlyHubzilla.
    • bbcode_steamwrites onlySteam.
Data and interchange6 formats

Formats for getting data in, or for getting at pandoc's own representation of a document so a program can work on it.

  • jsonJSON ASTreads and writes

    Pandoc's internal document tree, as JSON. What filters read and write.

  • nativereads and writes

    The same tree in Haskell syntax. Readable when debugging.

  • ipynbJupyter notebookreads and writes

    Cells, output and all.

  • csvreads only

    Read only. Becomes a table.

  • tsvreads only

    Read only. Becomes a table.

  • xmlreads and writes

    Generic XML.

Plain text2 formats

For reading in a terminal, or for stripping formatting out entirely.

  • plainwrites only

    Write only. Text with the markup removed.

  • ansiANSI terminalwrites only

    Write only. Formatting rendered as terminal escape codes.

Generated from pandoc 3.10.1 itself rather than copied from a page, so it says what the binary says. For the exact spellings on the command line, pandoc has --list-input-formats and --list-output-formats.

Back to the converter for the command that goes with a pair.