Tabela GFM gerada a partir de CSV no conversor CSV to Markdown do FormatArcTabela GFM gerada a partir de CSV no conversor CSV to Markdown do FormatArc
Publicado: 2026-05-13Atualizado: 2026-06-04

Cheat Sheet de Tabelas Markdown do GitHub: Alinhamento, Células Vazias e Quebras de Linha

Exemplos de tabelas GFM para copiar e colar: alinhamento, células vazias, quebras de linha com <br>, pipes escapados e por que células mescladas exigem HTML — além de GitHub, GitLab, Obsidian e Notion.

Resumo — cheat sheet de tabelas GFM

Uma tabela GFM é uma tabela separada por pipes definida pela especificação do GitHub Flavored Markdown — uma extensão do CommonMark que o CommonMark estrito não inclui.

  • Uma tabela é formada por uma linha de cabeçalho, uma linha separadora (---, no mínimo três hífens por coluna) e linhas de dados, todas divididas por pipes |. É obrigatória uma linha em branco antes e depois da tabela.
  • O alinhamento é definido por dois-pontos na linha separadora: :--- à esquerda, :---: ao centro, ---: à direita.
  • Um pipe literal dentro de uma célula é \| (escape com contrabarra); &#124; (entidade HTML) é a alternativa quando um renderizador não trata bem a forma com contrabarra.
  • Uma quebra de linha visível dentro de uma célula é uma tag <br> literal. Funciona no GitHub e no GitLab; Obsidian, Notion e outros variam conforme o modo de edição ou o caminho de importação.
  • Mesclagem de células, múltiplos parágrafos, blocos de código e outros elementos de bloco não são possíveis em tabelas GFM. Use uma <table> HTML quando precisar deles.
  • Não quer digitar os pipes na mão? Cole o CSV em CSV to Markdown e obtenha uma tabela compatível com GFM instantaneamente.

Este é um cartão de consulta rápida para quem já sabe mais ou menos como escrever uma tabela Markdown. Se você quer aprender a montar uma do zero, comece por Tabelas em Markdown: sintaxe, alinhamento e exemplos para copiar e colar.

O que as tabelas GFM conseguem e não conseguem fazer

Consegue fazer Não consegue fazer
Linhas de cabeçalho + de dados Uma tabela sem cabeçalho (a linha de cabeçalho é obrigatória)
Alinhamento à esquerda / centro / direita por coluna Larguras de coluna numéricas
Formatação inline nas células (código, links, imagens, ênfase, tachado) Blocos de código, listas ou múltiplos parágrafos em uma célula (elementos de bloco)
Uma quebra de linha visível com <br> (depende do renderizador) Mesclar células entre linhas ou colunas (rowspan / colspan)
Escapar pipes e caracteres especiais Títulos (#) ou citações (>) dentro de uma tabela

Quando você precisa de elementos de bloco ou células mescladas, escreva uma <table> HTML diretamente no seu Markdown (veja "O que as tabelas Markdown não conseguem fazer" abaixo).

Estrutura básica — o par mínimo

Uma tabela GFM tem três partes: uma linha de cabeçalho, uma linha separadora e linhas de dados. O separador precisa de pelo menos três hífens por coluna; os pipes no início e no fim são opcionais.

Sintaxe:

| Name | Role |
| --- | --- |
| Mika | admin |
| Noah | viewer |

Renderizada:

Name Role
Mika admin
Noah viewer

A menor tabela possível (uma linha de cabeçalho + uma linha de dados):

| key | value |
| --- | --- |
| name | FormatArc |

Cheat sheet de sintaxe de alinhamento

A posição dos dois-pontos na linha separadora define o alinhamento da coluna.

Sintaxe Alinhamento
:--- Esquerda (igual a sem dois-pontos)
:---: Centro
---: Direita

Sintaxe:

| Product | Qty | Price |
| :--- | :---: | ---: |
| Apples | 3 | 1.20 |
| Oranges | 10 | 0.80 |

Renderizada:

Product Qty Price
Apples 3 1.20
Oranges 10 0.80

Alinhar colunas numéricas à direita mantém os dígitos alinhados e mais fáceis de ler.

Formatação inline dentro das células

As células aceitam elementos inline. Blocos de código, listas e múltiplos parágrafos não são permitidos.

O que você quer Sintaxe (dentro da célula) Renderizada
Código inline `npm run build` npm run build
Link [FormatArc](https://formatarc.com/) FormatArc
Imagem ![logo](/icon.png) (a imagem é renderizada)
Ênfase *itálico* / **negrito** itálico / negrito
Tachado ~~removido~~ removido
Quebra de linha linha 1<br>linha 2 linha 1linha 2

Imagens funcionam nas células, mas deixam a tabela alta e difícil de ler, então ícones pequenos são o limite prático.

Células vazias e em branco

Deixar uma célula vazia é permitido — não coloque nada entre os pipes e a célula é renderizada em branco.

Sintaxe:

| Name | Role | Note |
| --- | --- | --- |
| Mika | admin | |
| Noah | | viewer |

Renderizada:

Name Role Note
Mika admin
Noah viewer

Duas coisas confundem as pessoas:

  • A quantidade de colunas ainda precisa bater. Uma célula vazia é | | — dois pipes sem nada entre eles — não um pipe que faltou. Se você remover um pipe, a linha fica com uma coluna a menos e a tabela desalinha.
  • Quando a primeira célula de uma linha está vazia e você também omite o pipe inicial, alguns renderizadores perdem a primeira coluna da linha. Mantenha o | inicial (| | value |) ou, como alternativa, coloque um link vazio []() nessa primeira célula para que ela não seja tratada como ausente.

Uma célula vazia não é uma célula mesclada. O GFM não tem rowspan nem colspan, então uma célula em branco é apenas em branco — ela não se une visualmente à célula acima nem ao lado. Quando você precisa de mesclagem, mude para uma <table> HTML (veja abaixo).

Escapando pipes e caracteres especiais

Um | literal dentro de uma célula colide com o separador de coluna e quebra a tabela. Há duas formas seguras de escrevê-lo:

Método Sintaxe Suporte
Escape com contrabarra cmd1 | cmd2 Funciona no GitHub, GitLab, Notion, Obsidian, Zenn, Qiita e na maioria dos renderizadores GFM (documentado pelo GitHub)
Entidade numérica HTML cmd1 &#124; cmd2 Alternativa quando um renderizador não trata bem |. Sobrevive melhor ao copiar e colar entre editores

Sintaxe:

| Command | Meaning |
| --- | --- |
| cmd1 \| cmd2 | backslash escape |
| cmd1 &#124; cmd2 | HTML entity |

Renderizada:

Command Meaning
cmd1 | cmd2 backslash escape
cmd1 | cmd2 HTML entity

Para mostrar uma contrabarra literal, escreva \\; para um espaço não separável, use &nbsp;. Se você monta tabelas a partir de CSV ou HTML, o escape de pipes é tratado automaticamente por CSV to Markdown e HTML to Markdown, então você nem precisa pensar nisso.

Quebras de linha dentro das células, por plataforma

A especificação de tabelas Markdown não suporta quebras de linha literais dentro de uma célula. Para uma quebra visível, escreva uma tag <br> literal — mas o suporte varia.

Plataforma Quebra de linha com <br> em uma célula Observações
GitHub Funciona Documentado na documentação do GitHub
GitLab Funciona A documentação do GitLab lista isso explicitamente para quebras dentro de células
Obsidian Geralmente funciona Live Preview e o modo de Leitura podem renderizar de forma diferente
Notion Depende do caminho de importação A importação de Markdown pode estragar a sintaxe de extensões, então <br> pode não se comportar como esperado
Zenn / Qiita Funciona na maioria das configurações Segue o renderizador de cada plataforma

Se uma tabela precisa de quebras de linha confiáveis em muitas colunas, não force isso numa tabela GFM — use uma <table> HTML ou divida as colunas.

Por que as tabelas quebram — um checklist

Quando uma tabela é renderizada errada, verifique estes pontos de cima para baixo:

  • Há uma linha em branco antes e depois da tabela? — Uma tabela colada à linha anterior pode não ser reconhecida (especialmente no GitHub)
  • Há uma linha de cabeçalho? — O GFM exige uma. Se você não quer cabeçalhos visíveis, ainda precisa de uma linha de cabeçalho vazia mais o separador
  • A linha separadora tem pelo menos três hífens por coluna? — -- não é renderizado como tabela em alguns renderizadores
  • As linhas de cabeçalho, separadora e de dados têm a mesma quantidade de colunas (pipes)? — Linhas de dados curtas são preenchidas com células vazias; as longas têm as células extras descartadas
  • Há um | não escapado dentro de uma célula? — Se houver, troque por \| ou &#124;
  • Alguma linha está indentada (quatro ou mais espaços iniciais)? — Ela pode ser confundida com um bloco de código
  • Há um elemento de bloco (bloco de código, lista) dentro de uma célula? — Não é permitido em tabelas GFM

Gere tabelas a partir de CSV / HTML / JSON

Escrever uma tabela de cinco linhas na mão é tranquilo. Passando de 20 linhas, ou com muitas colunas, alinhar e escapar pipes fica sujeito a erros. Dependendo do seu formato de origem, uma ferramenta do FormatArc o transforma em uma tabela compatível com GFM em um único passo.

Tudo roda no seu navegador, então dados internos e listas de clientes nunca são enviados a um servidor. Sem cadastro, sem upload.

Se a tabela vai para um prompt de LLM, uma tabela Markdown custa muito menos tokens do que o HTML equivalente e é extraída com mais precisão. Veja Markdown vs HTML para LLMs para a comparação medida de tokens e precisão.

O que as tabelas Markdown não conseguem fazer — quando mudar para HTML

As tabelas GFM não conseguem expressar o que segue. Em vez disso, mude para uma <table> HTML pura dentro do seu Markdown:

  • Células mescladas entre linhas ou colunas (rowspan / colspan)
  • Listas com marcadores, múltiplos parágrafos ou blocos de código dentro de uma célula
  • Larguras de coluna fixas em pixels ou porcentagens
  • Um título ou outra tabela aninhada dentro de uma tabela

Note que o GitHub e plataformas semelhantes restringem o HTML dentro das tabelas por segurança: <br> passa, mas estilos inline como <span style="..."> são ignorados, então você não consegue mudar cores ou tamanhos de fonte por esse caminho.

CommonMark e tabelas

O CommonMark puro não define sintaxe de tabela. As tabelas com pipes são uma extensão do GFM, definida na seção Tables (extension) da especificação do GitHub Flavored Markdown. Um renderizador que implementa CommonMark estrito sem extensões vai exibir | col | como texto puro, não como tabela. A forma mais rápida de saber se sua ferramenta é compatível com GFM é escrever uma tabela simples e ver se ela é renderizada.

Perguntas frequentes

Qual é a menor tabela Markdown?

Três linhas: uma linha de cabeçalho, uma linha separadora e uma linha de dados. Escreva | key | value |, depois | --- | --- | abaixo e então | name | FormatArc |. A linha separadora precisa de pelo menos três hífens por coluna.

Como deixo uma célula vazia?

Não coloque nada entre os dois pipes: | value | |. A quantidade de colunas ainda precisa bater com o cabeçalho, então uma célula vazia é | |, não um pipe que faltou. Se a célula vazia for a primeira de uma linha, mantenha o pipe inicial (| | value |) — alguns renderizadores descartam a primeira coluna de uma linha quando faltam tanto o pipe inicial quanto a célula. Uma célula em branco não é uma célula mesclada; o GFM não tem rowspan nem colspan.

Devo usar \| ou &#124;?

Use primeiro o escape com contrabarra \|. Ele é documentado pelo GitHub e funciona na maioria dos renderizadores GFM. Recorra a &#124; apenas quando um renderizador não tratar bem \| ou quando copiar e colar entre editores quebrar a forma.

Posso mudar a cor do texto ou o tamanho da fonte dentro de uma célula?

Não apenas com tabelas GFM. O GitHub e plataformas semelhantes ignoram estilos inline como <span style="..."> dentro de tabelas, então mudanças de cor e tamanho não têm efeito. Se você precisa estilizar células, tire a tabela do GFM e use HTML, ou repense o layout.

Existe alguma orientação para larguras de coluna?

O Markdown não tem sintaxe de largura de coluna; os renderizadores dimensionam as colunas para caber no conteúdo. Como regra prática, se um README ou doc é lido tanto no desktop quanto no mobile, mantenha as tabelas em cinco ou seis colunas. Além disso, o GitHub adiciona rolagem horizontal e a tabela fica difícil de ler.

Posso mesclar células (rowspan / colspan)?

Não em tabelas GFM. Para células mescladas, escreva uma <table> HTML diretamente no seu Markdown — mas verifique a saída renderizada primeiro, já que o GitHub e outros restringem alguns atributos HTML.

Minha tabela aparece como | col | em vez de ser renderizada. Por quê?

As causas habituais: nenhuma linha em branco antes ou depois da tabela, menos de três hífens na linha separadora, nenhuma linha de cabeçalho, quantidades de colunas que não batem, ou um renderizador que não suporta a extensão de tabelas do GFM (CommonMark estrito). Percorra o checklist "Por que as tabelas quebram" acima, de cima para baixo.

Artigos relacionados