Tutorial completo de Pandoc en español. Instalación, comandos básicos, plantillas y ejemplos para convertir Markdown a DOCX, PDF, EPUB, HTML y más.
Pandoc es el conversor de documentos más potente que existe. Una sola herramienta, gratuita y de código abierto, capaz de convertir Markdown a Word, PDF, EPUB, HTML, LaTeX, presentaciones, libros y casi cualquier formato de documento. Si trabajas con Markdown y necesitas entregar en otros formatos, Pandoc te ahorra horas cada semana.
Pandoc es una herramienta de línea de comandos creada por John MacFarlane, profesor de filosofía en Berkeley. Su filosofía es simple: lee un documento en un formato, lo convierte a una representación intermedia, y lo escribe en otro formato. Soporta decenas de formatos de entrada y salida, y Markdown es uno de los más usados.
Frente a conversores online que cubren casos puntuales, Pandoc tiene tres ventajas:
Descarga el instalador .msi desde pandoc.org/installing y ejecútalo. También puedes instalarlo con Chocolatey:
choco install pandocO con winget:
winget install --id JohnMacFarlane.PandocCon Homebrew:
brew install pandocEn Debian, Ubuntu y derivadas:
sudo apt install pandocEn Fedora:
sudo dnf install pandocComprueba que está instalado correctamente:
pandoc --versionSi quieres generar PDFs, además necesitas una distribución de LaTeX. Las más comunes son TeX Live (multiplataforma) y MiKTeX (Windows). En macOS, BasicTeX es una versión ligera suficiente para Pandoc:
brew install --cask basictexLa sintaxis general es muy intuitiva:
pandoc entrada.md -o salida.formatoPandoc deduce los formatos por la extensión. Estos son los casos más comunes.
pandoc documento.md -o documento.docxEl .docx resultante se abre en Microsoft Word, LibreOffice o Google Docs. Encabezados, listas, tablas, citas y código se traducen al estilo nativo de Word.
pandoc documento.md -o documento.pdfNecesita LaTeX instalado. Por defecto usa el motor pdflatex. Para documentos con caracteres especiales (chino, árabe, emojis) usa XeLaTeX:
pandoc documento.md --pdf-engine=xelatex -o documento.pdfpandoc documento.md -o documento.htmlPor defecto genera un HTML fragmento. Si quieres un archivo HTML completo con <head> y estilos:
pandoc documento.md -s -o documento.htmlEl flag -s (standalone) añade la estructura HTML completa.
pandoc documento.md -o libro.epubPandoc genera un EPUB válido listo para Kindle, Kobo y cualquier lector. Para añadir metadatos:
pandoc libro.md \
--metadata title="Mi libro" \
--metadata author="Tu nombre" \
--metadata lang="es" \
-o libro.epubPandoc puede generar presentaciones HTML (reveal.js, S5, Slidy) o PowerPoint:
pandoc presentacion.md -t pptx -o presentacion.pptx
pandoc presentacion.md -t revealjs -s -o presentacion.htmlPandoc divide en diapositivas según el --slide-level (por defecto, el primer nivel de encabezado que va seguido de contenido). En la mayoría de Markdown con # como título y ## como secciones, cada ## se convierte en una diapositiva. Puedes forzarlo con --slide-level=2. Más detalle en la página de conversor de Markdown a slides.
Crea un Markdown con frontmatter YAML para los metadatos:
---
title: "Manual de usuario"
author: "Equipo de documentación"
date: "2026-05-11"
lang: es
toc: true
toc-depth: 2
---
# Introducción
Este manual describe...
# Instalación
...Convierte con:
pandoc manual.md --toc --pdf-engine=xelatex -o manual.pdfEl flag --toc inserta la tabla de contenidos automáticamente a partir de los encabezados.
Pandoc acepta múltiples archivos de entrada y los concatena en orden:
pandoc cap1.md cap2.md cap3.md -o libro.pdfÚtil para libros, tesis o documentación dividida en capítulos.
Si tu empresa tiene una plantilla de Word con estilos definidos, dile a Pandoc que la use como referencia:
pandoc documento.md --reference-doc=plantilla.docx -o salida.docxPandoc respeta los estilos Heading 1, Heading 2, Normal, etc. de tu plantilla. Cambia colores, tipografías y márgenes editando la plantilla, no el comando.
Pandoc no solo escribe Markdown, también lo lee desde otros formatos. Para extraer Markdown de una página HTML:
pandoc pagina.html -o pagina.mdO directamente desde una URL:
pandoc -f html -t markdown -o articulo.md https://ejemplo.com/articuloPara más opciones online, mira el conversor de HTML a Markdown.
Operación inversa, útil si recibes documentos en Word y quieres editarlos como texto plano:
pandoc documento.docx -o documento.mdLas imágenes se extraen a una carpeta media/ por defecto. Puedes cambiarla:
pandoc documento.docx --extract-media=./imagenes -o documento.mdLos filtros de Pandoc permiten transformar el documento durante la conversión. Por ejemplo, pandoc-crossref añade referencias cruzadas estilo LaTeX:
pandoc documento.md --filter pandoc-crossref -o documento.pdfPuedes pasar variables que las plantillas usan:
pandoc tesis.md \
-V geometry:margin=2.5cm \
-V fontsize=11pt \
-V mainfont="Liberation Serif" \
--pdf-engine=xelatex \
-o tesis.pdfPandoc gestiona citas y bibliografía con archivos BibTeX o CSL JSON:
pandoc articulo.md \
--citeproc \
--bibliography=referencias.bib \
--csl=apa.csl \
-o articulo.pdfLas citas en el Markdown se escriben [@autor2023] y Pandoc las convierte al estilo de citación que elijas (APA, IEEE, Chicago, MLA).
Puedes automatizar la generación de PDFs en cada commit. Ejemplo de workflow:
name: Build PDF
on:
push:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: docker://pandoc/latex:latest
with:
args: documento.md --toc -o documento.pdf
- uses: actions/upload-artifact@v4
with:
name: pdf
path: documento.pdfCada push genera un PDF nuevo y lo deja descargable como artefacto. Más ideas en automatizar tareas con Markdown.
Si conviertes los mismos formatos a menudo, escribe un script. Ejemplo en bash:
#!/bin/bash
# build.sh
pandoc documento.md --toc --pdf-engine=xelatex -o build/documento.pdf
pandoc documento.md -o build/documento.docx
pandoc documento.md -s -o build/documento.html
echo "Listo: PDF, DOCX y HTML en ./build"Lo ejecutas con ./build.sh y obtienes los tres formatos de golpe.
👋 Hola! Soy Edu, me encanta crear cosas y he redactado este tutorial. Si te ha resultado útil, el mayor favor que me podrías hacer es el de compatirlo en Twitter.
Sígueme en Twitter para estar al día con mi contenido. 😊