Editor Mermaid ao Vivo
Editor Mermaid ao vivo grátis. Escreva sintaxe Mermaid à esquerda, veja flowcharts, sequence, gantt, ER e mais sendo renderizados ao vivo à direita. Exporte SVG ou PNG.
Editor Mermaid ao Vivo
Escreva sintaxe Mermaid à esquerda e veja o diagrama atualizar à direita em tempo real. Suporta os onze tipos de diagrama do Mermaid — flowchart, sequence, class, state, ER, Gantt, pie, mindmap, timeline, jornada do usuário e quadrant chart — com cinco temas (default, dark, forest, neutral, base). Exporte o diagrama como SVG vetorial limpo ou PNG em alta resolução. Tudo roda no seu navegador; nada é enviado.
O que é Mermaid e o que posso desenhar?
Mermaid é uma linguagem de diagramas baseada em JavaScript que permite descrever um diagrama em texto simples. Começou como alternativa a ferramentas estilo Visio caras e virou padrão de fato na documentação de devs — suportado nativamente por GitHub, GitLab, Notion, Obsidian, VS Code e muitos geradores estáticos.
Este editor suporta todos os tipos que o Mermaid 10 traz:
- Flowchart — caixas, decisões, setas. O mais comum.
- Sequence — troca de mensagens entre participantes no tempo.
- Class — diagramas UML de classes (herança, composição, métodos, atributos).
- State — máquinas de estados finitos com transições e subestados.
- Entity-Relationship — tabelas de banco de dados e seus relacionamentos.
- Gantt — cronogramas de projeto com tarefas, dependências, marcos.
- Pie — gráficos de proporção.
- Mindmap — hierarquias radiais de ideias.
- Timeline — eventos em eixo horizontal de tempo.
- Jornada do usuário — fluxo UX com pontos de sentimento.
- Quadrant chart — grade 2×2 para priorização.
Escolha um no dropdown Exemplos para começar e edite o código conforme seus dados.
Como difere do Mermaid Live Editor oficial?
O editor oficial mermaid.live é excelente — e esta ferramenta usa exatamente o mesmo motor de render (mermaid-js v10.9). Diferenças:
- Esta página é uma de ~1.400 ferramentas no mesmo domínio, então o editor compartilha UI do site, modo escuro e troca de idioma (English/Spanish/Vietnamese/French/Portuguese).
- Sem contas, sem canvas Pan/Zoom, sem URL compartilhável: simples de propósito. Se precisa compartilhar link ou diagramas persistentes, mermaid.live ou GitHub Gist são melhores.
- Usamos o bundle UMD do cdn.jsdelivr.net, então o diagrama é renderizado após a página carregar. Sem build ou plano pago.
- Todo processamento é local. Mermaid renderiza SVG totalmente em JavaScript; nada é enviado a servidor.
Se precisar embutir Mermaid em ambiente privado/offline, o mesmo código funciona — só hospede mermaid.min.js e chame este mesmo render.
Como crio um flowchart?
Flowcharts são o tipo mais fácil. Comece com declaração de direção e liste nós e arestas:
flowchart TD
A[Início] --> B{Decisão?}
B -- Sim --> C[Fazer algo]
B -- Não --> D[Pular]
C --> E[Fim]
D --> E
Direções: TD (top-down), LR (left-right), BT, RL.
Formas de nó por tipo de colchete:
- [Retângulo]
- (Arredondado)
- ((Círculo))
- {Losango / decisão}
- [/Paralelogramo/]
- [\Trapézio\]
- [(Cilindro)]
Estilos de aresta:
- --> seta
- --- linha
- -. pontilhado .->
- ==> seta grossa
- -- texto -->
Carregue o exemplo Flowchart e brinque com formas para sentir a sintaxe.
Como faço um sequence diagram para API ou chat?
Sequence diagrams mostram a ordem de mensagens entre participantes:
sequenceDiagram
participant Browser
participant API
participant DB
Browser->>API: POST /login {email, password}
API->>DB: SELECT user WHERE email=?
DB-->>API: row(id, hash)
API->>API: bcrypt.compare()
API-->>Browser: 200 OK + token
Note over Browser,API: Próximas requisições<br>enviam o token
Browser->>API: GET /profile (Bearer token)
API-->>Browser: 200 OK + profile JSON
Setas: ->> cheia com ponta; -->> resposta pontilhada; -> fina; --> pontilhada.
Notas: Note over X,Y: text — adiciona nota amarela abrangendo participantes.
Loops, alt, par e seções críticas são suportados. Gramática completa em mermaid.js.org/syntax/sequenceDiagram.
Como modelar um banco com ER diagram?
Use erDiagram e um caractere de cardinalidade por lado:
erDiagram
USER ||--o{ ORDER : faz
ORDER ||--|{ LINE_ITEM : contém
USER {
int id PK
string email
string name
}
ORDER {
int id PK
int user_id FK
date created_at
}
Chaves de cardinalidade (esq → dir):
- |o zero ou um
- || exatamente um
- }o zero ou mais
- }| um ou mais
Logo, USER ||--o{ ORDER lê-se 'um usuário tem zero ou mais pedidos'.
Dentro do bloco {} liste as colunas como tipo nome modificador — modificador PK (primary key) ou FK (foreign key). Ótimo para embutir esquemas pequenos no README sem subir um visualizador real.
Como funciona a sintaxe Gantt?
A sintaxe Gantt descreve tarefas por seção, com datas, durações e dependências:
gantt
title Plano do projeto
dateFormat YYYY-MM-DD
section Design
Wireframes :done, w1, 2026-05-01, 5d
Mockups :active, m1, after w1, 7d
section Desenvolvimento
Backend :b1, 2026-05-13, 14d
Frontend :f1, after b1, 10d
section Lançamento
QA :q1, after f1, 3d
Release :milestone, after q1, 0d
Formato de tarefa: 'Nome : [status], task-id, data-início | after task-id, duração | data-fim'
Status: done, active, crit (caminho crítico).
Marcos: terminar com 0d para render em diamante.
Dependências: 'after task-id' encadeia tarefas, mudar uma anterior desloca as próximas. Para cronogramas complexos, Smartsheet/MS Project são melhores — mas para documentação e propostas rápidas, Gantt no Mermaid é difícil de superar.
Posso exportar o diagrama?
Sim — dois formatos:
- SVG: vetorial, escala infinita, encaixa direto em HTML/Markdown/PDF, e o texto interno permanece selecionável e pesquisável. O arquivo baixado contém exatamente o XML renderizado que aparece no inspetor.
- PNG: raster em 2× por padrão. Cada pixel do diagrama vira 4 pixels em tela high-DPI. Fundo branco é adicionado para a imagem ficar bem em Slack/Discord/email. Use quando o destino não aceita SVG.
Ambos exports acontecem totalmente no navegador. PNG usa um HTMLCanvasElement para rasterizar o SVG; SVG é download direto do XML. Sem viagem ao servidor.
Para diagramas de arquitetura que vivem em repositório Git, prefira SVG: ele faz diff razoável em pull requests e é o formato que o GitHub renderiza inline.
Há destaque de erros de sintaxe?
Quando o Mermaid não consegue parsear seu código (typo em keyword, parêntese sem fechar, forma desconhecida), a mensagem do parser aparece abaixo do editor. O último diagrama renderizado com sucesso permanece à direita — para você comparar o código atual com a versão válida anterior enquanto corrige.
Mensagens do Mermaid podem ser obscuras. Correções comuns:
- 'Parse error on line N' — olhe a linha indicada e a anterior; geralmente falta seta ou parêntese.
- 'Lexical error' — caractere ilegal, normalmente aspas Unicode (“ ”) quando queria ASCII (").
- A palavra-chave do tipo (flowchart, sequenceDiagram…) precisa ser a primeira linha não vazia; espaço antes quebra o parsing.
Para depuração ao vivo, cole um trecho curto e adicione linhas gradualmente — Mermaid renderiza a cada tecla (com pequeno debounce), então a edição quebrada fica fácil de identificar.
Principais Recursos
- Render ao vivo a cada tecla (com debounce)
- Onze tipos: flowchart, sequence, class, state, ER, gantt, pie, mindmap, timeline, journey, quadrant
- Cinco temas: default, dark, forest, neutral, base
- Carga rápida de exemplo completo para cada tipo
- Exporta como SVG (vetorial) ou PNG (2× retina)
- Debounce por tecla mantém a UI fluida em diagramas grandes
- Mantém o último render válido quando o código atual tem erro de parse
- Botões de zoom in/out e reset para o painel de preview
- Copia o código Mermaid para a área de transferência
- Usa [email protected] do CDN jsDelivr (URL pré-testada)
- 100% no cliente — sua fonte nunca sai do navegador
- Layout responsivo amigável para celular
- Modo escuro com troca de tema automática
- Nível de segurança estrito — diagramas não executam HTML arbitrário
- Funciona em qualquer navegador moderno; sem build
