Mark · Diagram gallery

Every diagram, in every theme.

32 diagram types, all written in a plain ```mermaid block and drawn by Mark as you type. Pick any of Mark's 34 themes below and watch every diagram change with it.

Process

Flowchart

flowchart
changesapprovedAgent drafts plan.mdHuman reviewBuildQAShip
Source
```mermaid
flowchart LR
  A[Agent drafts plan.md] --> B{Human review}
  B -->|changes| A
  B -->|approved| C[Build]
  C --> D[QA] --> E((Ship))
```

Sequence

sequenceDiagram
Draft the launch planWrite plan.mdRendered page, liveAdd the risksUpdate plan.md⌘D shows what changedYouAgentMarkYouAgentMark
Source
```mermaid
sequenceDiagram
  participant You
  participant Agent
  participant Mark
  You->>Agent: Draft the launch plan
  Agent->>Mark: Write plan.md
  Mark-->>You: Rendered page, live
  You->>Agent: Add the risks
  Agent->>Mark: Update plan.md
  Note over Mark: ⌘D shows what changed
```

State

stateDiagram-v2
agent saveschangesDraftReviewApprovedShipped
Source
```mermaid
stateDiagram-v2
  [*] --> Draft
  Draft --> Review: agent saves
  Review --> Draft: changes
  Review --> Approved
  Approved --> Shipped
  Shipped --> [*]
```

Swimlane

swimlane-beta
CIAgentYoucommentsAsk for a specRead in MarkDraft spec.mdReviseLint docsPublish
Source
```mermaid
swimlane-beta LR
  subgraph You
    ask[Ask for a spec]
    read[Read in Mark]
  end
  subgraph Agent
    draft[Draft spec.md]
    revise[Revise]
  end
  subgraph CI
    lint[Lint docs]
    publish[Publish]
  end
  ask --> draft --> read
  read -->|comments| revise --> lint --> publish
```

Agentflow

agentflow-beta
ReviewAgent runIntakeIssue arrivesPlanWrite docsOpen in Mark
Source
```mermaid
agentflow-beta TB
  flow intake["Intake"]
    issue["Issue arrives"]@{ shape: input }
  end
  flow work["Agent run"]
    plan["Plan"]@{ shape: task }
    write["Write docs"]@{ shape: task }
    plan --> write
  end
  flow out["Review"]
    open["Open in Mark"]@{ shape: action }
  end
  issue --> plan
  write --> open
```

Use case

usecase-beta
WriterAgentRead a rendered docSee what changedWrite Markdown
Source
```mermaid
usecase-beta
direction LR
actor Writer
actor Agent
Read("Read a rendered doc")
Diff("See what changed")
Write("Write Markdown")
Writer --> Read
Writer --> Diff
Agent --> Write
```

Event modeling

eventmodeling
UI/AutomationCommand/Read ModelEventsEditorSaveFilepath: 'plan.md'by: 'agent'FileSavedpath: stringbytes: numberReloadpath: 'plan.md'keepScroll: truePageRenderedblocks: number
Source
```mermaid
eventmodeling

timeframe 01 ui Editor
timeframe 02 command SaveFile [[Save01]]
timeframe 03 event FileSaved [[FileSaved]]
timeframe 04 command Reload [[Reload01]]
timeframe 05 event PageRendered [[PageRendered]]

data Save01 {
  path: 'plan.md'
  by: 'agent'
}

data Reload01 {
  path: 'plan.md'
  keepScroll: true
}

data FileSaved {
  path: string
  bytes: number
}

data PageRendered {
  blocks: number
}
```

Structure

Class

classDiagram
1manyDocument+path: string+markdown: string+render()Block+type: string+source: stringDiagram+engine: Pele+toSvg()
Source
```mermaid
classDiagram
  class Document {
    +path: string
    +markdown: string
    +render()
  }
  class Block {
    +type: string
    +source: string
  }
  class Diagram {
    +engine: Pele
    +toSvg()
  }
  Document "1" *-- "many" Block
  Block <|-- Diagram
```

Entity relationship

erDiagram
containsis made ofeditsWORKSPACEDOCUMENTstringpathdatetimesavedBLOCKstringkindintlineAGENT
Source
```mermaid
erDiagram
  WORKSPACE ||--o{ DOCUMENT : contains
  DOCUMENT ||--|{ BLOCK : "is made of"
  AGENT }o--o{ DOCUMENT : edits
  DOCUMENT {
    string path
    datetime saved
  }
  BLOCK {
    string kind
    int line
  }
```

Requirement

requirementDiagram
«contains»«satisfies»«Requirement»live_reloadID1TextA saved file re-renders in placeRiskMediumVerificationTest«Functional Requirement»keep_scrollID1.1TextScroll position survives the reloadRiskLowVerificationTest«Element»file_watcherTypeservice
Source
```mermaid
requirementDiagram
  requirement live_reload {
    id: 1
    text: "A saved file re-renders in place"
    risk: medium
    verifymethod: test
  }
  functionalRequirement keep_scroll {
    id: 1.1
    text: "Scroll position survives the reload"
    risk: low
    verifymethod: test
  }
  element file_watcher {
    type: service
  }
  live_reload - contains -> keep_scroll
  file_watcher - satisfies -> live_reload
```

C4

C4Context
Mark in context«person»WriterReads and edits docs«system»MarkWYSIWYG Markdown editor«external system»Coding agentWrites Markdown«external system»File systemplan.md, spec.mdWritesWatchesReads
Source
```mermaid
C4Context
  title Mark in context
  Person(writer, "Writer", "Reads and edits docs")
  System(mark, "Mark", "WYSIWYG Markdown editor")
  System_Ext(agent, "Coding agent", "Writes Markdown")
  System_Ext(fs, "File system", "plan.md, spec.md")
  Rel(agent, fs, "Writes")
  Rel(mark, fs, "Watches")
  Rel(writer, mark, "Reads")
```

Architecture

architecture-beta
MarkEditor UIPele engineFile watcherAgent
Source
```mermaid
architecture-beta
  group app(cloud)[Mark]
  service ui(server)[Editor UI] in app
  service engine(server)[Pele engine] in app
  service watcher(disk)[File watcher] in app
  service agent(internet)[Agent]
  agent:R --> L:watcher
  watcher:T --> B:ui
  ui:R --> L:engine
```

Block

block
MarkdownparseBlocksrenderPageshowSVG + HTML
Source
```mermaid
block
  columns 3
  md["Markdown"] arrow1<["parse"]>(right) ast["Blocks"]
  space space arrow2<["render"]>(down)
  page["Page"] arrow3<["show"]>(left) svg["SVG + HTML"]
```

Tree view

treeView-beta
docsplan.mdspec.mddecisions0001-engine.md0002-themes.mdREADME.mdCHANGELOG.md
Source
```mermaid
treeView-beta
    docs/
        plan.md
        spec.md
        decisions/
            0001-engine.md
            0002-themes.md
    README.md
    CHANGELOG.md
```

Ideas

Mindmap

mindmap
CopyLandingHelp centerProductOnboardingPricingRolloutStaff10%EveryoneLaunch
Source
```mermaid
mindmap
  root((Launch))
    Copy
      Landing
      Help center
    Product
      Onboarding
      Pricing
    Rollout
      Staff
      10%
      Everyone
```

Ishikawa

ishikawa-beta
FormatTables collapseRaw Markdown in a terminalContentDiagrams left as codeNo outlineProcessAgent rewrites, nobody diffsToolsPreview pane onlyDocs nobody reads
Source
```mermaid
ishikawa-beta
    Docs nobody reads
    Format
        Raw Markdown in a terminal
        Tables collapse
    Content
        Diagrams left as code
        No outline
    Process
        Agent rewrites, nobody diffs
    Tools
        Preview pane only
```

Cynefin

cynefin-beta
Where agent work fitsComplexProbe → Sense → RespondEmergent PracticesNew product specComplicatedSense → Analyse → RespondGood PracticesRefactor planChaoticAct → Sense → RespondNovel PracticesIncident write-upClearSense → Categorise → RespondBest PracticesChangelog entryConfusionDisorderPattern foundTemplate madeStabilized
Source
```mermaid
cynefin-beta
  title Where agent work fits

  complex
    "New product spec"

  complicated
    "Refactor plan"

  clear
    "Changelog entry"

  chaotic
    "Incident write-up"

  complex --> complicated : "Pattern found"
  complicated --> clear : "Template made"
  chaotic --> complex : "Stabilized"
```

Quadrant chart

quadrantChart
Effort vs impactPlan itDo it nowDrop itDelegateLow effortHigh effortLow impactHigh impactOnboardingPricing pageDark modeExport to PDFShortcuts
Source
```mermaid
quadrantChart
  title Effort vs impact
  x-axis Low effort --> High effort
  y-axis Low impact --> High impact
  quadrant-1 Plan it
  quadrant-2 Do it now
  quadrant-3 Drop it
  quadrant-4 Delegate
  Onboarding: [0.3, 0.85]
  Pricing page: [0.7, 0.8]
  Dark mode: [0.25, 0.4]
  Export to PDF: [0.75, 0.3]
  Shortcuts: [0.15, 0.62]
```

Wardley map

wardley-beta
Agent docs value chainGenesisCustom BuiltProductCommodityEvolutionVisibilityReaderReadable docMarkdownRendererDiagram engineFile system
Source
```mermaid
wardley-beta
title Agent docs value chain

anchor Reader [0.95, 0.60]
component Readable doc [0.80, 0.55]
component Markdown [0.62, 0.85]
component Renderer [0.50, 0.45]
component Diagram engine [0.35, 0.30]
component File system [0.12, 0.92]

Reader -> Readable doc
Readable doc -> Markdown
Readable doc -> Renderer
Renderer -> Diagram engine
Markdown -> File system

evolve Diagram engine 0.62
```

Plans

Kanban

kanban
To do2Copy as imageC-56Diagram galleryC-57In progress1App Store previewv5agentDone1Pele engineC-55
Source
```mermaid
kanban
  todo[To do]
    t1[Copy as image]@{ ticket: C-56, priority: 'High' }
    t2[Diagram gallery]@{ ticket: C-57 }
  doing[In progress]
    t3[App Store preview]@{ ticket: v5, assigned: 'agent' }
  done[Done]
    t4[Pele engine]@{ ticket: C-55 }
```

Gantt

gantt
DraftReviewBuildQAStaffEveryoneOct 01Oct 03Oct 05Oct 07Oct 09Oct 11Oct 13Oct 15Oct 17Oct 19Oct 21Oct 23Oct 25
Source
```mermaid
gantt
  dateFormat YYYY-MM-DD
  axisFormat %b %d
  section Plan
  Draft      :a1, 2026-10-01, 5d
  Review     :a2, after a1, 4d
  section Build
  Build      :b1, after a2, 7d
  QA         :b2, after b1, 4d
  section Ship
  Staff      :c1, after b2, 2d
  Everyone   :c2, after c1, 3d
```

Timeline

timeline
Road to 2.4JulPaper and Ink themesAugTitle bar cardOutline railSep22 diagram typesOctFullscreen viewerPele engine
Source
```mermaid
timeline
  title Road to 2.4
  Jul : Paper and Ink themes
  Aug : Title bar card : Outline rail
  Sep : 22 diagram types
  Oct : Fullscreen viewer : Pele engine
```

User journey

journey
Opening a doc from the agent54321AgentWrites plan.mdAgentYouOpens MarkYouReads the diagramYouLeaves a noteYouAgentYou
Source
```mermaid
journey
  title Opening a doc from the agent
  section Agent
    Writes plan.md: 5: Agent
  section You
    Opens Mark: 4: You
    Reads the diagram: 5: You
    Leaves a note: 3: You
```

Git graph

gitGraph
maindraftfixplanagentriskspricingv2.4
Source
```mermaid
gitGraph
  commit id: "plan"
  branch draft
  commit id: "agent"
  commit id: "risks"
  checkout main
  merge draft
  branch fix
  commit id: "pricing"
  checkout main
  merge fix
  commit id: "v2.4"
```

Data

Pie

pie
Where the time went42%26%20%12%WritingReviewBuildQA
Source
```mermaid
pie title Where the time went
  "Writing" : 42
  "Review" : 26
  "Build" : 20
  "QA" : 12
```

XY chart

xychart-beta
Weekly active writers0100200300400500600700800900W1W2W3W4W5W6W7W8Writers
Source
```mermaid
xychart-beta
  title "Weekly active writers"
  x-axis [W1, W2, W3, W4, W5, W6, W7, W8]
  y-axis "Writers" 0 --> 900
  bar [220, 310, 360, 420, 510, 600, 690, 780]
  line [220, 310, 360, 420, 510, 600, 690, 780]
```

Sankey

sankey-beta
Search → Visitors: 520Ads → Visitors: 340Referrals → Visitors: 240Visitors → Signed up: 690Visitors → Bounced: 410Signed up → Activated: 470Signed up → Dormant: 220Activated → Pro: 180Activated → Free: 290Search 520Visitors 1100Ads 340Referrals 240Signed up 690Bounced 410Activated 470Dormant 220Pro 180Free 290
Source
```mermaid
sankey-beta
Search,Visitors,520
Ads,Visitors,340
Referrals,Visitors,240
Visitors,Signed up,690
Visitors,Bounced,410
Signed up,Activated,470
Signed up,Dormant,220
Activated,Pro,180
Activated,Free,290
```

Radar

radar-beta
Markdown editorsRenderingDiagramsSpeedAgent-readySmall appMarkTypical editor
Source
```mermaid
radar-beta
  title Markdown editors
  axis render["Rendering"], diagrams["Diagrams"], speed["Speed"]
  axis agents["Agent-ready"], size["Small app"]
  curve mark["Mark"]{5, 5, 4, 5, 5}
  curve other["Typical editor"]{4, 2, 3, 2, 2}
  max 5
```

Treemap

treemap-beta
Bundle1,103Editor530Rendering433Shell140Muya320Vue UI210Pele253KaTeX120Prism60Tauri140
Source
```mermaid
treemap-beta
"Bundle"
    "Editor"
        "Muya": 320
        "Vue UI": 210
    "Rendering"
        "Pele": 253
        "KaTeX": 120
        "Prism": 60
    "Shell"
        "Tauri": 140
```

Venn

venn-beta
Why MarkReadableEditableAgent-readyWYSIWYGLive reloadDiagramsMark
Source
```mermaid
venn-beta
  title Why Mark
  set Readable
  set Editable
  set Agent-ready
  union Readable,Editable["WYSIWYG"]
  union Editable,Agent-ready["Live reload"]
  union Readable,Agent-ready["Diagrams"]
  union Readable,Editable,Agent-ready["Mark"]
```

Packet

packet
MagicVersionDocument lengthBlock countTheme idChecksumChecksum01516313263649596127128159160191
Source
```mermaid
packet
0-15: "Magic"
16-31: "Version"
32-63: "Document length"
64-95: "Block count"
96-127: "Theme id"
128-191: "Checksum"
```

Railroad

railroad-ebnf-beta
Mermaid fencefence```mermaidnewlinediagramnewline```diagramtypelinetypeflowchartsequenceDiagrampiegantt
Source
```mermaid
railroad-ebnf-beta
title "Mermaid fence"

fence = "```" "mermaid" newline diagram newline "```" ;
diagram = type { line } ;
type = "flowchart" | "sequenceDiagram" | "pie" | "gantt" ;
```