Cómo hacer una tabla en Markdown:sintaxis, alineación y celdas multilínea.

Una tabla en Markdown es texto plano: celdas separadas por barras verticales y, bajo el encabezado, una fila de guiones. Aquí tienes la sintaxis, cómo alinear las columnas y cómo meter una barra vertical o una segunda línea en una celda.

macOS 14 o posterior. Leer es gratis; editar y revisar se pagan una sola vez.

Respuesta rápida

Escribe la fila de encabezado, después una fila delimitadora de guiones y luego una línea por fila, con | entre las celdas. Los dos puntos en la fila delimitadora alinean una columna: :--- a la izquierda, :---: al centro, ---: a la derecha. Para mostrar una barra vertical dentro de una celda escribe \|; para una segunda línea en una celda escribe <br>.

| Plan | Price | Seats |
|:-----|------:|:-----:|
| Free |    $0 |   1   |
| Team |   $12 |  10   |

·

La sintaxis básica de una tabla en Markdown

Las tablas forman parte de GitHub Flavored Markdown (GFM), la variante que usan GitHub, GitLab y la mayoría de las apps de Markdown. Una tabla necesita tres cosas:

  1. Una fila de encabezado

    Los nombres de las columnas, separados por barras verticales: | Name | Role |.

  2. Una fila delimitadora

    Una línea de guiones, un grupo por columna, justo debajo del encabezado: | --- | --- |. Debe tener tantas celdas como el encabezado; si no, el texto sigue siendo texto plano y no aparece ninguna tabla.

  3. Las filas

    Una línea por fila, con las celdas separadas por barras verticales. Una fila con pocas celdas se completa con celdas vacías; las que sobran se descartan. La tabla termina en la primera línea en blanco.

| Name  | Role     |
| ----- | -------- |
| Alice | Designer |
| Bob   | Engineer |

Esto es lo que ve el lector:

NameRole
AliceDesigner
BobEngineer

Las barras verticales al principio y al final de cada línea son opcionales, pero hacen la tabla más fácil de leer. Las columnas no tienen que quedar alineadas en el código fuente; el relleno de arriba es solo para las personas. Las celdas pueden contener negrita, cursiva, código, enlaces e imágenes.

Alineación en una tabla de Markdown

Pon dos puntos a la izquierda, a la derecha o en ambos extremos de los guiones de una columna:

DelimitadorAlineación
:---Izquierda
:---:Centro
---:Derecha
---Por defecto (a la izquierda en la mayoría de las apps)
| Item   | Qty | Price |
|:-------|:---:|------:|
| Pencil |  12 |  $1.50 |
| Ruler  |   3 |  $4.00 |
ItemQtyPrice
Pencil12$1.50
Ruler3$4.00

La alineación se aplica a toda la columna, encabezado incluido. Se define una vez en la fila delimitadora, no celda por celda. Alinea los números a la derecha para que las cifras queden en columna.

Una barra vertical o una segunda línea dentro de una celda

Una barra vertical cierra una celda, así que la que forma parte del texto necesita una barra invertida. GFM lo aplica incluso dentro de código en línea:

| Command            | Meaning          |
|--------------------|------------------|
| `a \| b`           | a pipe, in code  |
| Either \| or       | a pipe, in text  |

Una tabla de barras verticales tiene una línea por fila, así que una celda no puede contener un salto de línea real ni un segundo párrafo. El rodeo habitual es la etiqueta HTML <br>:

| Step  | What to do                          |
|-------|-------------------------------------|
| Build | Run the build.<br>Fix any errors.  |
| Ship  | Tag the release.<br>Push the tag.  |

El mismo truco da una celda multilínea en GitHub y en la mayoría de las apps que aceptan HTML. Una lista de Markdown no funciona dentro de una celda; si una celda necesita una lista, escribe <br> entre elementos cortos o saca la lista de la tabla.

Tablas anchas y textos largos

Markdown no tiene ajuste de ancho de columna ni forma de combinar celdas; la app que muestra la tabla decide cómo se ajusta. Unos cuantos hábitos mantienen una tabla legible en cualquier sitio:

  • Mantén las celdas cortas, una palabra o un número. Pon la explicación larga en una frase bajo la tabla.
  • Usa menos columnas. Si una tabla tiene ocho, gírala: las columnas son los elementos y las filas, las propiedades.
  • No rellenes el código fuente para alinear las columnas en una tabla que editas a menudo; una celda cambiada obligaría a reajustar todas las líneas.
  • Para celdas combinadas, filas que abarcan varias o un pie de tabla, escribe la tabla en HTML. La mayoría de las apps de Markdown muestran un <table> normal.

Por qué una tabla de Markdown no se muestra

  • Falta la fila delimitadora. La línea de guiones es lo que convierte el texto en tabla.
  • El número de celdas no coincide. Si el encabezado tiene tres celdas y la fila delimitadora dos, no se muestra nada.
  • Una barra vertical sin escapar en una celda la parte en dos. Escribe \|.
  • Una línea en blanco dentro de la tabla. La tabla termina ahí; el resto es texto plano.
  • La app no admite tablas. Las tablas no están en el Markdown original ni en el núcleo de CommonMark. Vienen de GFM, así que un analizador mínimo muestra las barras como texto.

Para ver el resultado antes de hacer commit, abre el archivo en un lector de Markdown. DotMD muestra las tablas renderizadas y leer es gratis. En DotMD Editor, Insert → Table pone en tu archivo una tabla de tres columnas lista para usar, y la vista previa en vivo la redibuja mientras escribes.

Preguntas sobre las tablas en Markdown

¿Cómo alineo el texto en una tabla de Markdown?

Añade dos puntos a la fila delimitadora, la línea de guiones bajo el encabezado. :--- alinea la columna a la izquierda, :---: la centra y ---: la alinea a la derecha.

¿Cómo pongo un salto de línea en una celda de una tabla de Markdown?

Escribe <br> donde la línea deba cortarse. Una tabla de barras verticales tiene una línea por fila, así que un salto real o una lista de Markdown dentro de una celda no funcionan.

¿Cómo escribo una barra vertical dentro de una celda de una tabla?

Escápala con una barra invertida: \|. Hace falta tanto en texto plano como dentro de código en línea.

¿Puedo combinar celdas en una tabla de Markdown?

No. Las tablas de GFM no tienen colspan ni rowspan. Si necesitas celdas combinadas, escribe la tabla en HTML con <table>, colspan y rowspan.

Más preguntas