También disponible en: English · Português · Français · العربية
Generador de tablas Markdown
Rellena una cuadrícula y obtén Markdown válido, con el escape de barras resuelto y el dato sobre las tablas que pilla a todo el mundo bien explicado.
Qué es un generador de tablas Markdown
Las tablas de Markdown se escriben como filas de texto separadas por barras verticales, con una fila de guiones debajo de la cabecera. Escribirlas a mano va bien con tres columnas y es un suplicio con ocho, sobre todo cuando quieres que el código quede alineado para que siga siendo legible en un editor.
Este te da una cuadrícula. Escribes en las celdas, añades y quitas filas y columnas, fijas la alineación de cada columna, y el Markdown se actualiza sobre la marcha. Pega una tabla existente en el cuadro de abajo y se carga en la cuadrícula para que la edites.
Todo se ejecuta en tu navegador. No se sube nada y no hay cuenta.
Cómo usar el generador
- Rellena la cuadrícula. Añade o quita columnas y filas con los botones de arriba. Cada cabecera de columna tiene cuatro botones de alineación —por defecto, izquierda, centro y derecha— que escriben por ti los dos puntos en la fila de guiones.
- Elige cómo se ve el código. Las barras exteriores y el relleno de columnas son opcionales y ninguno cambia la tabla renderizada; solo afectan a lo legible que resulta el Markdown en un editor de texto.
- Cópiala, o pega una. El botón de copiar se lleva el Markdown. El cuadro de abajo va al revés: pegas una tabla y se analiza para volver a la cuadrícula, o se te dice por qué no es una tabla.
Las tablas no forman parte de Markdown
Esto es lo que conviene saber antes de pegar una tabla en ningún sitio, y se puede demostrar en vez de afirmarlo. CommonMark —la especificación que implementan la mayoría de los procesadores de Markdown— no tiene ninguna sintaxis de tablas. Ni una versión limitada, ni otra sintaxis: ninguna.
Este sitio ya publica un motor CommonMark en su página de Markdown a HTML, elegido porque acierta 649 de los 652 casos de prueba de la especificación. Dale a ese motor una tabla perfectamente normal y produce un párrafo con barras verticales literales. No hay ningún elemento de tabla en la salida, porque para la especificación has escrito una frase con algo de puntuación.
Las tablas vienen de GitHub Flavored Markdown, una extensión que GitHub definió y documentó aparte. Por eso el mismo texto se ve como tabla en un README, en una incidencia de GitHub y en la mayoría de las herramientas de documentación, y se ve como una hilera de barras en algo que solo implementa la especificación básica. Si alguna vez una tabla que copiaste apareció como galimatías, ese es el motivo, y no es un fallo de lo que escribiste.
Las reglas de la extensión son precisas y esta herramienta las sigue. La fila de guiones es obligatoria: sin ella no hay tabla. La fila de cabecera y la de guiones deben tener el mismo número de celdas, y la especificación dice explícitamente que si no lo tienen, la tabla sencillamente no se reconoce. Las filas del cuerpo pueden variar: con menos celdas que la cabecera se insertan celdas vacías, y con más se descarta el exceso. La alineación es un signo de dos puntos en los guiones, a la izquierda, a la derecha, o en ambos lados para centrar. Las barras al principio y al final se recomiendan por legibilidad pero no son obligatorias.
La que de verdad muerde es la barra vertical. Una barra dentro de una celda termina esa celda, así que una fila como «Salario | extra» pasa a ser dos columnas sin avisar y todo lo que va después se desplaza. La especificación dice que se escape con una barra invertida delante, y esta herramienta lo hace en todas las celdas automáticamente. Conviene saber que los procesadores varían en si respetan ese escape —el analizador con preajuste CommonMark de aquí parte igualmente una barra escapada—, así que una celda con una barra es lo más probable que rompa una tabla que no hayas escrito tú.
Limitaciones honestas
Una celda no puede contener un salto de línea. La fila es la línea, así que no hay sintaxis para una segunda línea dentro de una celda, y ningún escape la produce. El apaño habitual es un elemento de salto HTML literal, que esta herramienta ofrece como opción en lugar de aplicarlo en silencio, porque solo se ve donde el destino admite HTML sin filtrar, y muchas cadenas de Markdown lo eliminan.
Las celdas solo admiten Markdown en línea. La negrita, la cursiva, el código en línea y los enlaces funcionan dentro de una celda; los títulos, las listas, las citas y los bloques de código no, porque son construcciones de bloque y una celda no es un bloque. Una lista con viñetas dentro de una celda es algo que la gente intenta y que no tiene forma de escribirse en Markdown.
El relleno de columnas es cosmético. Alinear el código hace legible el texto en bruto y no tiene ningún efecto en lo que produce un procesador, así que si tu tabla es generada o muy ancha, desactivarlo no te cuesta más que un diff ordenado. Sí hace el archivo más grande, lo que importa si editas a mano una tabla de cincuenta filas.
El analizador de aquí aplica la regla de reconocimiento de la especificación con rigor, lo que significa que rechaza cosas que un procesador permisivo aceptaría. Es deliberado: si la fila de guiones no encaja con la cabecera, la herramienta te lo dice en vez de adivinar, porque un procesador que adivine de otra manera es justo de donde salen las sorpresas.
El motor lleva 64 comprobaciones, y la principal es una ida y vuelta por un procesador real y no una tabla de cadenas esperadas: se construye una tabla, se renderiza y se comprueba que las celdas que salen son las que entraron. Eso caza a la vez el escape, el relleno y la fila de guiones. Un sabotaje deliberado que dejó de escapar las barras hizo que la tabla construida dejara de ser una tabla, que es el argumento de esta página demostrado por su propio conjunto de pruebas.
¿Por qué es gratis?
Unir cadenas con barras verticales no es trabajo por el que nadie deba pagar, y ocurre en tu máquina. No se sube nada, no hay cuenta y no hay nada que marcar con agua.
Si lo que tienes es HTML y no una cuadrícula, el conversor de HTML a Markdown de este sitio convierte un elemento de tabla directamente a esta sintaxis, y la página de Markdown a HTML es el motor CommonMark descrito arriba.