PlantUML in a nutshell

PlantUML is a component that allows you to quickly write:

  • link::sequence-diagram[Sequence diagram]

  • link::use-case-diagram[Usecase diagram]

  • link::class-diagram[Class diagram]

  • link::object-diagram[Object diagram]

  • link::activity-diagram-beta[Activity diagram] (here is link::activity-diagram-legacy[the legacy syntax])

  • link::component-diagram[Component diagram]

  • link::deployment-diagram[Deployment diagram]

  • link::state-diagram[State diagram]

  • link::timing-diagram[Timing diagram]

The following non-UML diagrams are also supported:

  • link::json[JSON data]

  • link::yaml[YAML data]

  • link::ebnf[Extended Backus-Naur Form (EBNF) diagram]

  • link::nwdiag[Network diagram (nwdiag)]

  • link::salt[Wireframe graphical interface or UI mockups (salt)]

  • link::archimate-diagram[Archimate diagram]

  • link::activity-diagram-beta#sdl[Specification and Description Language (SDL)]

  • link::ditaa[Ditaa diagram]

  • link::gantt-diagram[Gantt diagram]

  • link::mindmap-diagram[MindMap diagram]

  • link::wbs-diagram[Work Breakdown Structure diagram (WBS)]

  • link::ascii-math[Mathematic with AsciiMath or JLaTeXMath notation]

  • link::ie-diagram[Entity Relationship diagram (IE/ER)]

Furthermore: * link::link[Hyperlinks and tooltips] * link::creole[Creole]: rich text, emoticons, unicode, icons * link::openiconic[OpenIconic icons] * link::sprite[Sprite icons] * link::ascii-math[AsciiMath mathematical expressions]

Diagrams are defined using a simple and intuitive language. (link::guide[see PlantUML Language Reference Guide]).

New users can read the link::starting[quick start page]. There is also a link::faq[F.A.Q. page]. PlantUML can be used within link::running[many other tools].

Images can be generated in PNG, link::svg[in SVG] or link::latex[in LaTeX] format. It is also possible to generate link::ascii-art[ASCII art diagrams] (only for sequence diagrams).