Mermaid syntaks cheat sheet
Mermaid har en stor reference og en lille delmængde, der dækker næsten alt, folk tegner. Denne side er den delmængde: former, pile, gruppering, farver og ét copy-paste-eksempel pr. diagramtype. Hvert udsnit herunder gengives, som det er — indsæt det i editoren for at se det.
Det korteste diagram, der virker
Et flowchart kræver én deklarationslinje og én pil. TD betyder top-down; brug LR til venstre-til-højre, hvilket passer bedre til brede processer.
flowchart TD
A[Start] --> B{Ready?}
B -->|Yes| C[Ship it]
B -->|No| AA, B og C er node-id'er — interne navne, der aldrig tegnes. Teksten i parenteserne er labelen, og parentes-stilen er det, der bestemmer formen.
Node-former
Formen vælges af parret af afgrænsere omkring labelen. Her er dem, det er værd at huske:
| Syntaks | Form | Typisk betydning |
|---|---|---|
A[Text] | Rektangel | Et trin eller en handling |
A(Text) | Afrundet | Et start- eller slutpunkt |
A([Text]) | Pille | En terminator |
A[[Text]] | Subrutine | Et kald til en anden proces |
A[(Text)] | Cylinder | En database eller et lager |
A((Text)) | Cirkel | Et knudepunkt |
A{Text} | Diamant | En beslutning |
A{{Text}} | Sekskant | Et forberedelsestrin |
A[/Text/] | Parallelogram | Input eller output |
A[/Text\] | Trapez | En manuel handling |
Sæt labelen i citationstegn, når den indeholder parenteser, kolon eller citationstegn: A["Load (raw) data"]. Uden citationstegn opfatter parseren din tegnsætning som syntaks.
Pile
| Syntaks | Resultat |
|---|---|
A --> B | Pil |
A --- B | Streg, ingen pilespids |
A -.-> B | Stiplet pil |
A ==> B | Tyk pil |
A -->|label| B | Pil med en label på |
A --> B --> C | Kæde, skrevet på én linje |
A --> B & C | Én kilde, to mål |
Pilens længde betyder også noget: --> er ét niveau, ---> skubber målet ét niveau længere ned. Det er den simpleste layoutkontrol, mermaid giver dig.
Gruppering med subgrafer
En subgraph tegner en mærket boks omkring noder. Subgrafer kan indlejres, og pile kan frit krydse deres grænser.
flowchart LR
subgraph api["API"]
H[Handler] --> S[(Postgres)]
end
subgraph worker["Worker"]
Q[Queue] --> W[Job]
end
H --> QFarve og styling
style farver én node. classDef plus class farver et sæt af dem, hvilket er det, du vil have, når du kommer over tre-fire noder.
flowchart TD
A[OK] --> B[Failed]
style A fill:#16a34a,stroke:#333,color:#fff
classDef bad fill:#dc2626,stroke:#333,color:#fff
class B badFarver er en del af diagramkilden, så de overlever eksport og følger med filen. Intet her afhænger af en temaindstilling i det værktøj, der gengiver det.
Ét eksempel pr. diagramtype
Sequence-diagram
sequenceDiagram
participant User
participant API
participant DB
User->>API: request
API->>DB: query
DB-->>API: rows
API-->>User: responseClass-diagram
classDiagram
class Animal {
+String name
+move()
}
class Dog {
+bark()
}
Animal <|-- DogState-diagram
stateDiagram-v2
[*] --> Idle
Idle --> Running: start
Running --> Idle: stop
Running --> [*]: finishEntity relationship-diagram
erDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--|{ LINE_ITEM : contains
CUSTOMER {
string name
string email
}Gantt-diagram
gantt
title Project
dateFormat YYYY-MM-DD
section Phase 1
Task 1 :a1, 2026-01-01, 5d
Task 2 :after a1, 5dHvor mermaid gengives af sig selv
- GitHub — en indrammet ```mermaid-blok gengives i issues, pull requests, kommentarer og README-filer.
- GitLab — samme indrammede blok, i issues, merge requests og wikien.
- Notion — en kodeblok med sproget sat til Mermaid gengives ved siden af kilden.
- Obsidian — en indrammet mermaid-blok gengives i preview-tilstand.
- Dokumentationssider — Docusaurus, MkDocs Material og VitePress understøtter alle mermaid-blokke.
Det er den egentlige grund til at holde diagrammer som mermaid frem for som billeder: diagrammet lever i samme tekstfil som det, det beskriver, og en kodegennemgang kan se, hvad der er ændret i det.
Prøv et hvilket som helst udsnit på denne side
Indsæt det i kode-fanen, og det gengives med det samme — eller byg det samme diagram på lærredet og læs syntaksen bagefter.
Ofte spurgt
Hvordan tilføjer jeg et linjeskift inde i en node-label?
Brug <br> inde i en citeret label: A["First line<br>Second line"]. Mermaid gengiver labelen som HTML, så tagget virker, selvom resten af syntaksen ikke er HTML.
Hvorfor ødelægger min label diagrammet?
Næsten altid en ikke-citeret parentes, klamme, kolon eller citationstegn inde i labelen. Sæt hele labelen i dobbelte citationstegn, så holder parseren op med at behandle din tegnsætning som syntaks.
Kan jeg styre layoutet?
Kun indirekte. Vælg retningen (TD, LR, BT, RL), brug længere pile (--->) til at skubbe noder længere fra hinanden, og gruppér relaterede noder i subgrafer. Mermaid beregner resten — der er ingen koordinater.
Hvilken mermaid-version bruger denne editor?
Mermaid 11, den nuværende hovedversion, så alt, der er dokumenteret for v10- og v11-syntaks, gengives her.