PlantUML

PlantUML is versatile in generating UML diagrams (and other types) from a simple text description, widely used in software development for documenting architecture and processes.

Learn more about PlantUML

#Examples

#Sequence diagram

Sequence Diagram

#Use case diagram

Use Case Diagram

#Class diagram

Class Diagram

#Object diagram

Object Diagram

#Editor

image-20241022-140408.png
PlantUML Editor
Screenshot 2024-10-22 at 15.03.16.png
PlantUML Templates

#Examples

#Sequence diagram

Screenshot 2026-02-20 at 08.09.09.png
@startuml
skin rose
participant User

User -> A: DoWork
activate A #FFBBBB

A -> A: Internal call
activate A #DarkSalmon

A -> B: << createRequest >>
activate B

B --> A: RequestCreated
deactivate B
deactivate A
A -> User: Done
deactivate A
@enduml

#Use case diagram

Screenshot 2026-02-20 at 08.09.51.png
@startuml
skin rose

:Main Admin: as Admin
(Use the application) as (Use)

User -> (Start)
User --> (Use)

Admin ---> (Use)

note right of Admin : This is an example.

note right of (Use)
  A note can also
  be on several lines
end note

note "This note is connected to several objects." as N2
(Start) .. N2
N2 .. (Use)
@enduml

#Class diagram

Screenshot 2026-02-20 at 08.10.41.png
@startuml
skin rose

abstract class AbstractList
abstract AbstractCollection
interface List
interface Collection

List <|-- AbstractList
Collection <|-- AbstractCollection

Collection <|- List
AbstractCollection <|- AbstractList
AbstractList <|-- ArrayList

class ArrayList {
  Object[] elementData
  size()
}

enum TimeUnit {
  DAYS
  HOURS
  MINUTES
}

annotation SuppressWarnings

annotation Annotation {
  annotation with members
  String foo()
  String bar()
}

@enduml

#Object diagram

Screenshot 2026-02-20 at 08.11.21.png
@startuml
skin rose

object London
object Washington
object Berlin
object NewYork

map CapitalCity {
 UK *-> London
 USA *--> Washington
 Germany *---> Berlin
}

NewYork --> CapitalCity::USA
@enduml