Pandoc
Universal document converter for markdown, HTML, PDF, and 50+ formats.
Open the official app on pandoc.org
This tool is hosted by its maintainers. Click below to open pandoc.org in a new tab — it's their official demo.
Browse converters tools →What's next with Pandoc?
Choose how you want to get started.
Use it free
Open the official tool or demo — no account needed.
Self-host it
Run the open-source version on your own infrastructure.
What is Pandoc?
Pandoc is an open-source universal markup converter designed to transform documents between a wide array of formats. Developed under the GNU General Public License version 2, it serves as a versatile tool for users needing to switch between markup languages, HTML, rich text, and structured document formats. Its primary purpose is to streamline document conversion, eliminating the need for manual reformatting. Writers, developers, and academics frequently use Pandoc to adapt content for different platforms, such as converting Markdown notes into PDFs or reStructuredText documentation into HTML websites. The tool addresses the challenge of maintaining consistency and formatting across disparate file types, saving time and reducing errors in workflows that require multi-format outputs. Pandoc’s strength lies in its ability to handle both lightweight markup formats like Markdown and complex document structures such as LaTeX and DocBook. It supports bidirectional conversions between formats, enabling users to work in their preferred syntax while ensuring compatibility with target platforms. For instance, a developer might write technical documentation in reStructuredText and convert it to EPUB for distribution, or a researcher could transform BibTeX citations into JSON for integration with other tools. By abstracting the intricacies of format-specific syntax, Pandoc users to focus on content creation rather than formatting details.
How it works
Pandoc is an open-source document conversion tool developed by John MacFarlane, licensed under GPL-2.0. It enables users to convert text documents between various markup formats, including Markdown, reStructuredText, LaTeX, and HTML, while preserving structural and semantic integrity. Its core purpose is to simplify the process of adapting content for different platforms, such as publishing, documentation, and web development. The tool is widely used by writers, developers, and researchers who need to maintain consistency across multiple formats. For example, a developer might write code documentation in Markdown and convert it to HTML for a website or LaTeX for a printed manual. Pandoc’s ability to handle both simple and complex formats makes it a cornerstone in workflows requiring cross-format compatibility. Pandoc supports bidirectional conversions between over 100 formats, including lightweight markup (Markdown, reStructuredText, Org-Mode), rich text (RTF, ODT), structured documents (DocBook, EPUB), and presentation formats (Beamer, Slidy). It also handles specialized formats like JSON for bibliographies and TeX for mathematical typesetting. For instance, users can convert a Markdown file to a Microsoft Word docx document or generate an EPUB ebook from LaTeX source.
How to use it
- 1Install Pandoc via its official installer, package managers (e.g., Homebrew, apt), or Conda. 2. Prepare the source document in your preferred markup format. 3. Use the command-line interface to specify the input and output formats, e.g., `pandoc input.md -o output.html`. 4. Customize the conversion with options like `--template` for custom layouts or `--citation-style` for bibliography formatting. 5. Verify the output file for formatting accuracy and adjust parameters as needed. Practical tips include using the `--standalone` flag for self-contained HTML files, leveraging built-in templates for PDF generation, and testing conversions with small documents first. For complex workflows, combine Pandoc with tools like LaTeX compilers or citation managers to achieve desired results.
What it can do
- document converter
Use cases
Assumptions and limitations
Assumptions
- source: https://github.com/jgm/pandoc
- license: GPL-2.0 — free to use
- privacy: Self-hosted — you control your data
Limitations
- Statically linked binaries cannot utilize Lua filters requiring C modules
- Limited native support for proprietary formats like DOCX (requires additional tools)
- Complex formatting (e.g., advanced table layouts) may require manual adjustments
- Conversion from some formats (e.g., RTF) may lose intricate styling details
- Bibliography handling depends on external tools like BibLaTeX
Understanding the result
Universal document converter for markdown, HTML, PDF, and 50+ formats.
Tool details
- Clearly flagged when a network request is needed.
- No account, no sign-up, and no tracking of your content.
- Powered by (MIT).
- Built with
- (jgm/pandoc)
- License
- MIT
- Runs locally
- No — requires a network request
- Verification
- Not yet verified
- Input
- Query
- Output
- Text
Built with jgm/pandoc. OpenToolVault provides the discovery and browser interface while crediting the original project maintainers.
- Built with
- License
- MIT
Open-source project
OpenToolVault is an independent directory. We are not affiliated with or endorsed by this project.
References
- / — GitHub Repository
Upstream project · GitHub
- GPL-2.0 License
Upstream project
Frequently asked
What is Pandoc and what formats does it support?
Pandoc is an open-source document converter that supports over 100 formats, including Markdown, reStructuredText, LaTeX, HTML, EPUB, DOCX, and more. It enables bidirectional conversions between lightweight markup, structured documents, and rich text formats, making it ideal for workflows requiring cross-format compatibility. For example, users can convert Markdown files to PDFs, reStructuredText to HTML, or LaTeX to EPUB.
How does Pandoc handle complex formatting like tables or mathematical notation?
Pandoc preserves structural elements like tables, lists, and mathematical notation using LaTeX or MathJax syntax. For instance, tables in Markdown are converted to HTML tables with proper alignment attributes, while mathematical expressions are rendered using LaTeX syntax in PDF outputs. However, intricate formatting (e.g., nested tables or advanced typography) may require manual adjustments or additional tools like LaTeX compilers for full fidelity.
How do I convert a Markdown file to a PDF?
To convert Markdown to PDF, use the command: `pandoc input.md -o output.pdf --pdf-engine=xelatex`. This leverages LaTeX for typesetting. Ensure you have LaTeX installed (e.g., TeX Live or MacTeX). For custom styles, create a LaTeX template and specify it with `--template=template.tex`. Verify the output by checking for proper rendering of headers, footers, and mathematical content.
How does Pandoc compare to alternatives like rst2pdf or Asciidoctor?
Pandoc offers broader format support, converting between over 100 formats compared to rst2pdf’s focus on reStructuredText to PDF. Asciidoctor excels in documentation workflows with AsciiDoc syntax but lacks Pandoc’s versatility. Pandoc’s extensibility via Lua filters provides greater customization, though tools like Asciidoctor may offer simpler, more streamlined pipelines for specific use cases.
What should I do if Pandoc fails to convert a file?
First, check for missing dependencies, such as LaTeX or citation managers like BibLaTeX. For format-specific issues (e.g., RTF to Markdown), use the `--list-formats` flag to confirm compatibility. If errors occur during conversion, simplify the document by removing complex elements (e.g., nested tables) and retry. For Lua filter errors, ensure your installation supports dynamic linking or switch to a distribution that includes required modules.