Cómo convertir Markdown a PDF: 4 formas gratis
Por Fazt ·
Escribir en Markdown es cómodo, pero quien espera tu documento casi siempre quiere un PDF. Hay muchas formas de convertir Markdown a PDF y se parecen menos de lo que sugiere la etiqueta «md a PDF»: unas solo necesitan un navegador y otras una instalación completa de LaTeX; unas dibujan diagramas y fórmulas y otras los imprimen como código. Esta guía compara cuatro métodos gratuitos y explica los pasos exactos de cada uno.
Respuesta corta: lo más rápido es abrir el editor de Markdown a PDF, pegar tu Markdown o abrir el archivo .md, hacer clic en Descargar PDF y elegir Guardar como PDF en el diálogo de impresión. No hay que instalar nada y el PDF tiene texto real y seleccionable. Si conviertes muchos archivos, lo haces desde scripts o necesitas un índice, usa Pandoc o md-to-pdf; si escribes en VS Code, una extensión lo hace desde el propio editor.
Los cuatro métodos de un vistazo
| Navegador (Printdown) | Pandoc | VS Code + Markdown PDF | md-to-pdf | |
|---|---|---|---|---|
| Instalación | Ninguna | Pandoc más LaTeX u otro motor de PDF | VS Code y una extensión | Node.js; descarga Chrome al instalarse |
| Texto seleccionable | Sí (PDF rápido: no) | Sí | Sí | Sí |
| Diagramas Mermaid | Sí | Con un filtro | Sí, cargado desde un CDN | No integrados |
| Fórmulas | Sí (KaTeX) | Sí (LaTeX) | Sí (KaTeX) | No integradas |
| Números de página, índice | Números solo con los encabezados del navegador; sin índice | Ambos | Números por defecto; sin índice | Números con una plantilla de pie; sin índice |
| Sin conexión | Una vez cargada la página | Sí | Sí, salvo Mermaid y PlantUML | Sí, una vez instalado |
| Privacidad | Se ejecuta en tu pestaña; no se sube nada | Local | Local; los diagramas PlantUML van a un servidor | Local |
| Ideal para | Documentos puntuales, PDFs con estilo, cualquier equipo | Documentos largos o académicos, automatización | Quien ya escribe en VS Code | Scripts, CI y estilos con CSS |
1. En el navegador con Printdown
Es el método que ofrece este sitio. El renderizado y la creación del PDF ocurren en tu pestaña, así que funciona en un Chromebook o en un equipo del trabajo donde no puedes instalar programas, y el documento nunca se sube.
- Abre el editor de Markdown a PDF.
- Pega tu Markdown en el panel izquierdo o haz clic en Abrir archivo .md (también acepta
.markdowny.txt). La vista previa de la derecha se actualiza mientras escribes. - Haz clic en Estilo para elegir uno de los seis temas, los colores del texto, los títulos y los enlaces, un tamaño de letra de 9 a 14 pt, A4 o Carta, y márgenes Estrechos, Normales o Amplios.
- Haz clic en Descargar PDF. Se abre el diálogo de impresión del navegador.
- Elige Guardar como PDF como destino, desactiva Encabezados y pies de página y guarda. El nombre sugerido del archivo sale del primer título.
El editor admite tablas al estilo de GitHub, listas de tareas, notas al pie y código resaltado, además de diagramas Mermaid y fórmulas LaTeX. Si prefieres saltarte el diálogo, Más → PDF rápido (imagen) descarga el archivo en un clic, pero cada página es una imagen: el texto no se puede seleccionar ni buscar.
Los límites, con franqueza: no hay opción de números de página ni de índice (los encabezados y pies del navegador añaden números de página, pero también la fecha, el título y la dirección de la página); las páginas son solo verticales; una página web no puede leer imágenes de tu disco, así que las rutas relativas deben convertirse en URLs; y cada exportación pasa por el diálogo de impresión, de documento en documento.
2. Pandoc (línea de comandos)
Pandoc es un conversor de documentos gratuito y de código abierto. Es la opción más potente de las cuatro y también la que tiene más piezas.
Instálalo
- Windows:
winget install --source winget --exact --id JohnMacFarlane.Pandoc, o el instalador de la página de descargas. - macOS:
brew install pandoc. - Linux: tu gestor de paquetes (comprueba que la versión no esté anticuada) o el
.debo el tarball de la página de descargas.
Por defecto, Pandoc genera los PDF a través de LaTeX, que se instala aparte. La página de instalación recomienda MiKTeX en Windows, BasicTeX o TinyTeX en macOS (MacTeX completo ocupa unos 4 GB) y TeX Live en Linux (sudo apt-get install texlive en Debian y Ubuntu).
Convierte
pandoc notas.md -o notas.pdf
Basta con la extensión .pdf: Pandoc convierte a LaTeX y ejecuta pdflatex. Puedes elegir otro motor con --pdf-engine; el manual enumera pdflatex, lualatex, xelatex, latexmk, tectonic, wkhtmltopdf, weasyprint, pagedjs-cli, prince, context, groff, pdfroff y typst, y cada uno se instala por separado.
pandoc notas.md --pdf-engine=xelatex -V mainfont="Noto Serif" -o notas.pdf
pandoc notas.md --pdf-engine=weasyprint --css=impresion.css -o notas.pdf
pandoc notas.md --pdf-engine=typst -o notas.pdf
xelatex y lualatex manejan Unicode y cualquier fuente instalada; WeasyPrint pasa por HTML, así que le das estilo con CSS; Typst es un sistema de composición más reciente que se instala como un único programa.
Opciones útiles
pandoc informe.md -o informe.pdf --toc -N -V geometry:margin=2cm -V papersize=a4
--tocañade un índice y-Nnumera las secciones.-V geometry:margin=2cmfija los márgenes y-V papersize=a4(oletter) el tamaño del papel, con los motores LaTeX.- Un bloque YAML al principio del archivo con
title,authorydatese convierte en la portada del documento. \newpageen una línea propia fuerza un salto de página con los motores LaTeX.
Errores habituales
pdflatex not found: LaTeX no está instalado o no está en el PATH. Instálalo y abre una terminal nueva, o elige otro--pdf-engine.LaTeX Error: File `….sty' not found: a una distribución mínima le falta un paquete. Añádelo contlmgr instally el nombre del paquete (TeX Live, BasicTeX, TinyTeX); MiKTeX puede instalar los paquetes que faltan sobre la marcha.Unicode character … not set up for use with LaTeX: emojis, texto en chino, japonés o coreano, o símbolos poco comunes conpdflatex. Cambia axelatexolualatexcon una fuente que tenga esos caracteres.- No encuentra las imágenes: las rutas relativas se resuelven desde la carpeta en la que ejecutas el comando, no desde la del archivo. Ejecuta Pandoc desde esa carpeta o añade
--resource-path. - Faltan diagramas o HTML: los bloques Mermaid se imprimen como código si no añades un filtro, y el HTML incrustado se descarta al pasar por LaTeX.
3. VS Code con la extensión Markdown PDF
La vista previa de Markdown integrada en VS Code (Ctrl+Shift+V) no tiene ningún comando para exportar ni imprimir. La solución habitual es la extensión Markdown PDF de yzane, que imprime el archivo con un navegador basado en Chromium y guarda el PDF junto a él.
- Abre la vista Extensiones (Ctrl+Shift+X), busca Markdown PDF e instala la publicada por yzane.
- Abre tu archivo
.md. - Pulsa F1 o Ctrl+Shift+P (Cmd+Shift+P en Mac), escribe export y elige Markdown PDF: Export (pdf). Los mismos comandos aparecen al hacer clic derecho en el editor.
Usa Chrome o Edge si los tienes instalados; si no, descarga Chromium la primera vez. Por defecto, el encabezado muestra el nombre del archivo y la fecha, y el pie, página / total. Puedes cambiarlo, y mucho más, en settings.json:
"markdown-pdf.format": "Letter",
"markdown-pdf.margin.top": "2cm",
"markdown-pdf.displayHeaderFooter": false,
"markdown-pdf.styles": ["impresion.css"],
"markdown-pdf.convertOnSave": true
La conversión al guardar se activa tras reiniciar VS Code. La extensión muestra listas de tareas, fórmulas con KaTeX, Mermaid (la biblioteca se carga desde un CDN, así que los diagramas necesitan conexión) y PlantUML, que se envía a un servidor de PlantUML, plantuml.com por defecto. Usa <div class="page"></div> para un salto de página; el README enumera todas las opciones.
4. md-to-pdf (Node.js)
md-to-pdf es una pequeña herramienta de línea de comandos: convierte el Markdown en HTML con Marked, resalta el código con highlight.js e imprime la página con Puppeteer (Chromium sin interfaz). Con Node.js instalado:
npx md-to-pdf notas.md
Esto crea notas.pdf junto al archivo original. Para tener el comando siempre a mano, instálalo con npm i -g md-to-pdf. La primera instalación es lenta porque Puppeteer descarga su propio Chrome.
Los estilos son CSS normal: --stylesheet impresion.css sustituye la hoja de estilos integrada, --css añade reglas en línea y --highlight-style elige un tema de highlight.js. Las opciones también pueden ir en el front matter, lo que te ahorra entrecomillar JSON en la terminal:
---
stylesheet: impresion.css
pdf_options:
format: Letter
margin: 20mm
printBackground: true
---
# Informe trimestral
Convierte varios archivos a la vez (md-to-pdf docs/*.md), tiene un modo --watch y acepta las opciones headerTemplate y footerTemplate de Puppeteer para numerar páginas. Los saltos de página se hacen con <div class="page-break"></div>; las fórmulas y Mermaid no vienen integrados. Su README advierte de que sirve la carpeta actual con un servidor web local, accesible desde tu red mientras se ejecuta, así que no lo lances desde tu carpeta personal; los archivos fuera de la carpeta actual necesitan --basedir.
¿Cuál te conviene?
- Un documento, ahora, en cualquier equipo: el navegador. Los temas dan un aspecto cuidado sin escribir CSS.
- Una tesis, un artículo o un libro con fórmulas, citas, secciones numeradas e índice: Pandoc con LaTeX o Typst.
- Documentación que editas en VS Code: la extensión Markdown PDF, con conversión al guardar si exportas a menudo.
- Procesos por lotes, scripts de compilación o CI: md-to-pdf, o Pandoc si ya tienes un motor configurado.
- Los números de página son obligatorios: Pandoc, la extensión de VS Code o la plantilla de pie de md-to-pdf.
Para documentos concretos, consulta las guías sobre cómo hacer un informe o propuesta, un CV o el PDF de un README de GitHub.
Consejos para cualquier método
- Imágenes. Cada herramienta resuelve las rutas relativas desde un sitio distinto: Pandoc, desde la carpeta en la que lo ejecutas; md-to-pdf, desde la carpeta que sirve; la extensión de VS Code, desde la carpeta del archivo; y una página web, desde ninguno. Las URLs absolutas
https://funcionan en todos si tienes conexión. - Saltos de página. Printdown acepta
<!-- pagebreak -->o\newpage; Pandoc con LaTeX,\newpage; la extensión de VS Code,<div class="page"></div>; md-to-pdf,<div class="page-break"></div>. - Código. Escribe el lenguaje tras la apertura del bloque (
```python) para que todas las herramientas lo resalten. Las herramientas basadas en navegador parten las líneas largas; la salida LaTeX de Pandoc no, así que pueden salirse del margen. - Fuentes. Las herramientas basadas en navegador toman las fuentes de los temas o del CSS; con Pandoc, usa
xelatexolualatexy-V mainfont="…". - Front matter. El bloque YAML del principio son metadatos para Pandoc y ajustes para md-to-pdf y la extensión de VS Code, pero Printdown lo imprime como texto, así que ahí bórralo.
Solución de problemas
- No se puede seleccionar el texto. Usaste una exportación como imagen, por ejemplo el PDF rápido. Usa Descargar PDF y Guardar como PDF.
- Mermaid o las fórmulas aparecen como código. La herramienta no los procesa (Pandoc sin filtro, md-to-pdf). En Printdown, un texto rojo en lugar del diagrama indica un error de sintaxis en el diagrama.
- Una tabla se sale de la página. Baja el tamaño de letra y los márgenes, o divide la tabla (consulta Tablas en Markdown). La orientación horizontal ayuda donde existe:
-V geometry:landscapeen Pandoc,"markdown-pdf.orientation": "landscape"en VS Code ylandscape: truedentro depdf_optionsen md-to-pdf. Printdown solo imprime en vertical.
Respuestas rápidas
¿Puedo convertir Markdown a PDF sin instalar nada?
Sí. El método del navegador solo necesita un navegador actual, y la conversión se hace en tu dispositivo.
¿El texto del PDF será seleccionable?
Con los cuatro métodos, sí: el PDF contiene texto real que se puede buscar y copiar. La única excepción es el PDF rápido, que guarda las páginas como imágenes.
¿Es seguro para documentos confidenciales?
Los cuatro convierten en tu propio equipo y no suben tu texto. Ten en cuenta dos cosas: las imágenes que enlazas se descargan de sus servidores, y la extensión de VS Code envía los diagramas PlantUML a un servidor de PlantUML.
¿Cuál queda mejor?
LaTeX, a través de Pandoc, tiene la partición de líneas y la composición de fórmulas más refinadas. Las herramientas basadas en navegador son más fáciles de personalizar con temas o CSS. ¿Te inicias en la sintaxis? Empieza por la guía de Markdown.
Más guías
- Guía de Markdown: referencia rápida para PDFs perfectos
- Exportar notas de Obsidian y Notion a un PDF con estilo
- Cómo escribir tu CV en Markdown y exportarlo a PDF
- Convertir un documento de Word en un README de GitHub
- Convertir PDF, Word y diapositivas a Markdown para IA y RAG
- Tablas en Markdown: de Excel o CSV a un PDF limpio
- Diagramas Mermaid en Markdown: expórtalos a PDF
- Fórmulas en Markdown: escribe LaTeX y exporta a PDF
- Exportar un README de GitHub y su documentación a PDF
- Escribe un informe o propuesta en Markdown y expórtalo a PDF
- Markdown o Word: cuál elegir y cómo migrar