FormatFlow

Paso a paso · 6 min de lectura

Sintaxis de Markdown: una guía práctica

Markdown es una forma de escribir documentos estructurados en texto plano. Añades unos cuantos signos de puntuación alrededor del texto y un renderizador los convierte en títulos, listas, enlaces, bloques de código y tablas. El archivo sigue siendo legible en cualquier editor de texto, por eso los README, la documentación, las notas y los gestores de incidencias lo usan.

La sintaxis es pequeña, pero las diferencias pequeñas importan: una línea en blanco crea un párrafo, los espacios deciden si una línea se convierte en elemento de lista, y un solo guion bajo dentro de una palabra puede poner en cursiva la mitad de ella. Esta guía cubre la sintaxis que usarás a diario y los fallos que hacen que la salida renderizada se vea mal.

Qué es Markdown y qué no es

Markdown se diseñó como un formato de escritura que pudiera convertirse a HTML, no como un lenguaje de descripción de páginas. No tiene concepto de fuentes, márgenes, saltos de página ni posicionamiento preciso; eso pertenece a la hoja de estilos o al conversor a PDF que consume el HTML. Eso es una ventaja: un archivo Markdown sigue siendo legible en un terminal, en una revisión de código o en un correo de texto plano.

La sintaxis original no tiene tablas, listas de tareas ni notas al pie. GitHub Flavored Markdown (GFM) añadió tablas, bloques de código delimitados con indicación de lenguaje, listas de tareas, tachado y URL con enlace automático, y la mayoría de las herramientas modernas siguen esa extensión. Si una tabla se renderiza literalmente como barras y guiones, probablemente el renderizador no admite tablas GFM, así que consulta la documentación de la herramienta antes de reescribir el contenido.

La sintaxis que usarás todos los días

La estructura de bloques se controla con líneas en blanco. Los párrafos se separan con una línea vacía; un único salto de línea suele tratarse como un espacio salvo que el renderizador admita saltos duros. Los títulos usan de una a seis almohadillas seguidas de un espacio, y el espacio es obligatorio en casi todas las implementaciones. Mantén un solo título de nivel uno por documento y construye una jerarquía en lugar de saltarte niveles.

El formato en línea usa caracteres emparejados: doble asterisco o guion bajo para negrita, un solo asterisco o guion bajo para cursiva, acentos graves para código en línea. Los enlaces son corchetes alrededor de la etiqueta seguidos de paréntesis alrededor del destino, y las imágenes añaden un signo de exclamación antes de los corchetes. Las citas empiezan con un signo mayor que, y las listas desordenadas aceptan guiones, asteriscos o signos más siempre que seas coherente dentro de una lista.

  • Título: # Título, ## Sección, ### Subsección (espacio después de las almohadillas).
  • Énfasis: **negrita**, *cursiva*, ***negrita y cursiva***, `código en línea`.
  • Enlace: [etiqueta visible](https://example.com) e imagen: ![texto alternativo](/image.png).
  • Lista desordenada: un guion y un espacio por elemento; los elementos anidados necesitan una sangría coherente.
  • Lista ordenada: 1. más un espacio; el renderizador renumera automáticamente, así que cada elemento puede empezar por 1.
  • Cita: > antes de cada párrafo; separa bloques con una línea en blanco y otro >.
  • Bloque de código: tres acentos graves, un nombre de lenguaje opcional, el código y tres acentos graves de cierre.

Tablas, código y sintaxis extendida

Una tabla GFM necesita una fila de cabecera, una fila separadora de guiones y dos puntos opcionales para la alineación, y luego filas de datos. Cada fila necesita el mismo número de barras, y una barra que falte desplaza una columna en silencio. Los bloques de código delimitados son más seguros que los bloques de código con sangría porque la delimitación sobrevive al copiar y pegar y la indicación de lenguaje activa el resaltado de sintaxis.

Las listas de tareas añaden un par de corchetes después de la viñeta: un espacio para no marcada y una x para marcada. Las notas al pie y las listas de definiciones son extensiones que varían entre renderizadores, así que evítalas cuando el documento deba sobrevivir a una conversión a PDF, a una wiki o a un correo. En caso de duda, prueba el renderizador exacto que usa tu público en lugar de suponer que todo Markdown es idéntico.

Un flujo de trabajo que mantiene legible el Markdown

Escribe pensando primero en la vista de texto plano. Mantén las líneas razonablemente cortas, separa las secciones con líneas en blanco y pon los destinos de los enlaces cerca de sus etiquetas para que el código fuente siga siendo comprensible cuando se ajuste en un editor estrecho. Usa enlaces relativos para archivos del mismo repositorio y URL absolutas para recursos externos; un enlace relativo a un archivo renombrado se convierte en un enlace roto que nadie nota hasta que un lector hace clic.

Previsualiza mientras escribes, sobre todo después de tablas, listas anidadas y bloques de código. Un editor en vivo con vista previa renderizada detecta una línea en blanco ausente antes de que llegue a una página de publicación. Cuando conviertas Markdown a HTML o PDF, mantén el código fuente bajo control de versiones: la salida renderizada es desechable, mientras que el Markdown es el documento que puedes comparar y revisar.

Dónde encaja Markdown y dónde no

Markdown es excelente para documentación, notas de versión, archivos README, actas de reuniones, artículos técnicos y todo lo que se guarde en Git. Encaja mal en maquetación para impresión, diseño con precisión de píxeles, tablas complejas con celdas combinadas o documentos que autores no técnicos necesitan editar visualmente. En esos casos escribe en un procesador de textos y exporta, o usa Markdown solo como fuente intermedia y aplica una hoja de estilos al HTML final.

Preguntas frecuentes

¿Por qué desaparece mi salto de línea simple en la salida renderizada?
El Markdown estándar une líneas consecutivas no vacías en un solo párrafo, porque el ajuste del código fuente no debería crear saltos visuales. Deja una línea en blanco entre párrafos, termina la línea con dos espacios para un salto duro donde se admita, o usa un renderizador que active la extensión de salto de línea de GFM.
¿Necesito una línea en blanco antes de una lista o una tabla?
Sí, la mayoría de las implementaciones la necesitan. Sin una línea en blanco el renderizador puede tratar los marcadores de lista como parte del párrafo anterior, y puede que una tabla no se reconozca en absoluto. Una línea vacía antes del bloque es la cura más sencilla para la mayoría de las sorpresas de renderizado.
¿Debo usar asteriscos o guiones bajos para el énfasis?
Los asteriscos son más seguros. Los guiones bajos dentro de una palabra pueden interpretarse como énfasis en algunos analizadores, lo que estropea nombres de archivo como my_file_name. Si necesitas un guion bajo literal, envuelve la palabra en acentos graves o escápalo con una barra invertida.
¿Es seguro pegar Markdown en una web?
El código fuente Markdown es texto plano, pero su salida HTML no es automáticamente segura: el HTML sin procesar y los enlaces pueden introducir scripts o destinos engañosos. Renderízalo con un analizador que permita la sintaxis que necesitas y luego sanea el HTML resultante con una biblioteca como DOMPurify antes de insertarlo en una página.
¿Cómo convierto Markdown a PDF?
Renderiza el Markdown a HTML con la variante que elijas, aplica una hoja de estilos de impresión y usa la función de imprimir a PDF del navegador o un conversor que ejecute el mismo proceso. El Markdown puro no tiene maquetación de página, así que dar estilo a márgenes, saltos de página y fuentes forma parte del HTML o de la configuración del conversor, no del propio Markdown.

Herramientas para esta tarea

Todas las herramientas Texto

Revisado por FormatFlow Editorial. Las herramientas y guías detalladas siguen en inglés hasta que se complete la traducción del resto del sitio.