Crie diagramas de sequência com sintaxe Mermaid. Participantes, mensagens, barras de ativação, loops e blocos alternativos. Visualização ao vivo.
Carregando editor...
A visualização do diagrama aparecerá aqui...
Diagramas de sequência mostram como componentes interagem ao longo do tempo. Cada linha vertical é um participante (serviço, usuário, sistema) e as setas horizontais são mensagens passadas entre eles. São a forma padrão de documentar fluxos de API, handshakes de autenticação e interações em sistemas distribuídos.
Declare participantes para controlar sua ordem da esquerda para a direita:
sequenceDiagram
participant Browser
participant API
participant Database
Sem declarações participant explícitas, Mermaid os cria na ordem em que aparecem pela primeira vez. Use actor em vez de participant para renderizar um ícone de figura (útil para usuários humanos).
| Sintaxe | Significado | Renderiza como |
|---|---|---|
A->>B: texto |
Chamada síncrona (linha sólida, seta preenchida) | Requisição |
A-->>B: texto |
Async/retorno (linha pontilhada, seta preenchida) | Resposta |
A->B: texto |
Síncrona (linha sólida, seta aberta) | Mensagem simples |
A-->B: texto |
Async (linha pontilhada, seta aberta) | Retorno simples |
A-xB: texto |
Mensagem perdida (sólida, cruz) | Falha |
A--xB: texto |
Perdida async (pontilhada, cruz) | Timeout |
A convenção: linhas sólidas para requisições, linhas pontilhadas para respostas. ->> (seta preenchida) é a mais comum.
Mostre quando um participante está processando ativamente:
sequenceDiagram
Client->>+API: Request
API->>+DB: Query
DB-->>-API: Result
API-->>-Client: Response
O + após ->> ativa o destino. O - desativa. Barras de ativação empilham se um participante é ativado múltiplas vezes. Alternativamente, use activaté API e deactivaté API explícitos.
alt Success
API-->>Client: 200 OK
else Not Found
API-->>Client: 404
else Server Error
API-->>Client: 500
end
loop Every 30 seconds
Client->>API: Heartbeat
API-->>Client: ACK
end
opt Has cache
API->>Cache: Get cached result
Cache-->>API: Cached data
end
par Upload avatar
Client->>Storage: PUT /avatar
and Updaté profile
Client->>API: PATCH /profile
end
Note left of API: Validates JWT
Note right of DB: Read replica
Note over Client,API: HTTPS only
Notas podem abranger múltiplos participantes com Note over A,B: texto. Renderizam como post-its amarelos presos à linha do tempo.
Adicione autonumber após sequenceDiagram para numerar automaticamente cada mensagem. Útil para referenciar passos específicos na documentação (“veja o passó 4 no diagrama”).
O estado inicial deste exemplo mostra um fluxo de login completo seguido por uma requisição autenticada. Este padrão aparece em quase toda aplicação web e é um bom ponto de partida para documentar sua própria API.
sequenceDiagram
participant App
participant Webhook
participant Consumer
App->>Webhook: POST /webhooks/events
Webhook->>Consumer: POST callback_url
alt 2xx
Consumer-->>Webhook: 200 OK
Webhook-->>App: delivered
else Timeout
Webhook->>Webhook: Schedule retry
Webhook->>Consumer: POST callback_url (retry 1)
end
sequenceDiagram
participant Service
participant DB
Service->>DB: BEGIN
Service->>DB: INSERT INTO orders
Service->>DB: UPDATE inventory
alt All succeeded
Service->>DB: COMMIT
else Error
Service->>DB: ROLLBACK
end
Para documentação de modelo de dados, o Diagrama ER Mermaid mostra relacionamentos de tabelas. Para fluxos de processador sem ordenação temporal, use o Fluxograma Mermaid.
Nothing you paste leaves this tab. Every tool runs entirely in your browser — no upload, no server, no account.