Mermaid Diagram Generator n Editor

Mermaid Class Diagram Syntax

A class diagram opens with classDiagram, then declares class bodies and the relationship arrows between them.

ConstructMeaningExample
class Name { ... }Declares a class with a body listing its fields and methods.
classDiagram
    class Shape {
        +area() double
    }
+field / -field+ marks a public member, - marks a private member (# marks protected).
classDiagram
    class Account {
        -double balance
        +deposit(amount) void
    }
<<abstract>>Marks a class as abstract; <<interface>> marks it as an interface.
classDiagram
    class Shape {
        <<abstract>>
        +area() double
    }
A <|-- BInheritance: B extends A. The open triangle points at the parent.
classDiagram
    class Shape
    class Circle
    Shape <|-- Circle
A *-- BComposition: A owns B and controls its lifetime.
classDiagram
    class Order
    class LineItem
    Order *-- LineItem
A --> BPlain association: A references B without owning its lifecycle.
classDiagram
    class Customer
    class Order
    Customer --> Order
"1" *-- "many"Quoted cardinality labels set the multiplicity on each end of a relationship.
classDiagram
    class Order
    class LineItem
    Order "1" *-- "many" LineItem : contains

Everything together

Mermaid source
classDiagram
    class Shape {
        <<abstract>>
        +area() double
    }
    class Circle {
        -double radius
        +area() double
    }
    class Order {
        -string id
        +total() double
    }
    class LineItem {
        -int quantity
    }
    Shape <|-- Circle
    Order "1" *-- "many" LineItem : contains
Mermaid Class Diagram Syntax — full exampleOpen in editor →

Free Online Class Diagram Generator