Pandoc is a universal document converter that translates content between a wide range of markup and binary formats. It functions by parsing input documents into a unified intermediate abstract syntax tree, which serves as the foundation for consistent manipulation and transformation across diverse output types.
The system is distinguished by its modular reader-writer pipeline, which decouples input parsing from output generation to allow for granular control over document structure. Users can programmatically manipulate this intermediate tree through a robust filter system, supporting both external JSON-based interop and an integrated scripting environment for custom transformations. This architecture enables complex document processing tasks, such as automated scholarly publishing, where citations, bibliographies, and mathematical expressions are managed through a specialized toolchain.
Beyond core conversion, the project provides a comprehensive templating engine that merges structured document data with customizable templates to produce final outputs with specific styling and layout requirements. It also offers a network-based server mode for API-driven and batch processing, allowing the tool to be integrated into automated technical content pipelines.
The software is primarily operated via a command-line interface, which provides extensive configuration options for managing input formats, citation styles, and document metadata.