Formatador de Tabelas Markdown

Cole uma tabela markdown desnivelada e receba uma perfeitamente alinhada — ou a variante compacta, ou o markup HTML limpo.

As tabelas são formatadas localmente no seu navegador. Nada sai do seu dispositivo.

—

Como funciona

Seu texto é percorrido linha por linha atrás da única linha que prova que existe uma tabela: uma linha separadora como |---|:--:| cujas células contêm só traços com dois pontos opcionais nas laterais. A linha de cima vira o cabeçalho, toda linha seguinte com uma barra vertical não escapada é linha de dados, e barras escapadas como \| são tratadas como conteúdo da célula, nunca como delimitadores.

Algoritmo de largura de coluna
As células são aparadas, e a largura de cada coluna é a maior entre cabeçalho e dados (nunca menor que 3, para a separadora caber com seus dois pontos). A saída alinhada emite cada célula ancorada à esquerda dentro desses larguras fixas — | nome | idade | — enquanto a compacta remove o preenchimento e mantém um único espaço ao redor, a menor tabela que ainda se lê bem no fonte.
Semântica de alinhamento
A linha separadora é a folha de estilos da tabela: :--- esquerda, ---: direita, :---: centro, --- simples é o padrão. O alinhamento sobrevive ao remapeamento — os dois pontos são reemitidos conforme as novas larguras — e células faltando em linhas curtas são completadas, enquanto sobras em linhas longas entram nas colunas estabelecidas.
O sabor HTML
A saída HTML monta markup <table><thead><tr><th> com o alinhamento de cada coluna como estilo text-align embutido. O texto da célula é escapado como entidade para & < >, escapes literais \| são desfeitos porque a barra não é especial em HTML, e markdown inline como crases fica de propósito intocado — isto é um formatador de tabelas, não um renderizador de Markdown.

Perguntas frequentes

Por que minha tabela quebra quando uma célula tem barra vertical?

A barra vertical é o delimitador de colunas, então um | solto dentro de uma célula encerra a célula cedo e desloca todas as colunas seguintes. Esqueça... use \| — o formatador entende o escape e o mantém na saída, e os renderizadores de Markdown mostram uma barra literal. Um hábito robusto para trechos de código é envolvê-los em crases, mas mesmo dentro de código inline você ainda precisa da barra com contrabarra numa célula de tabela.

O que significam os dois pontos na linha separadora?

São as diretivas de alinhamento: :--- alinha a coluna à esquerda, ---: à direita e :---: a centraliza. Um --- simples deixa a coluna no padrão do renderizador. O formatador lê essas diretivas da sua linha separadora e as reproduz exatamente na saída, alinhada ou compacta, e as converte em estilos text-align no sabor HTML.

O alinhamento com preenchimento é realmente necessário?

Não — qualquer renderizador CommonMark aceita uma tabela desnivelada. O preenchimento é só para humanos: colunas alinhadas tornam o fonte legível no terminal, num diff de pull request ou numa impressão, e editar uma célula para de gerar diffs barulhentos de espaço em branco. Use Compacto quando os bytes importarem mais que a aparência, e Alinhado quando uma pessoa for ler o fonte.

Posso simplesmente converter a tabela para HTML completo?

Esta ferramenta emite markup <table> autocontido como um dos sabores de saída, o que cobre as tabelas. Para converter documentos Markdown inteiros — títulos, listas, blocos de código e tudo mais — use o conversor de Markdown para HTML deste site; este formatador arruma a estrutura de tabelas, não renderiza prosa.

Algo é enviado para um servidor?

Não. Analisar e remapear são operações de texto em JavaScript puro na sua aba. Sua tabela nunca sai do dispositivo, não há conta nem requisição de rede envolvida na formatação.