Das PlantUML-Format verstehen
PlantUML ermöglicht es Ihnen, Diagramme als Klartext zu schreiben. Erfahren Sie, was es ist, wie GanttTool es im Hintergrund zur Darstellung von Gantt-Diagrammen nutzt und welche anderen Diagrammtypen es unterstützt.
Was ist PlantUML?
PlantUML ist ein Open-Source-Tool, mit dem Sie Diagramme aus Klartextbeschreibungen erstellen können. Anstatt Boxen auf einer Zeichenfläche zu verschieben, schreiben Sie ein paar Zeilen einfacher Syntax und PlantUML rendert ein professionelles Diagramm für Sie. Dieser Ansatz wird oft als „Diagramm als Code" oder „Text zu Diagramm" bezeichnet.
Ein minimales PlantUML-Diagramm sieht so aus: Sie öffnen mit einem @start<typ>-Tag, beschreiben die Struktur in wenigen lesbaren Zeilen und schließen mit @end<typ>. Das Tool analysiert diesen Text und erzeugt ein SVG, PNG oder PDF — wo immer Sie es rendern.
Warum Diagramme als Text schreiben?
- Versionskontrolle — Klartext lässt sich sauber in Git differenzieren. Sie können jede Änderung an einem Diagramm verfolgen, in einem Pull Request überprüfen und bei Problemen zurücksetzen.
- Geschwindigkeit —
[Aufgabe A] dauert 5 Tagezu tippen ist schneller, als einen Balken auf einer Zeichenfläche zu zeichnen und in der Größe anzupassen. - Konsistenz — Die Rendering-Engine wendet automatisch einheitliche Abstände, Schriftarten und Farben an. Sie konzentrieren sich auf den Inhalt, nicht auf das Layout.
- Portabilität — Eine
.puml-Textdatei ist winzig, für Menschen lesbar und wird überall gleich gerendert. - Automatisierung — Diagramme können programmatisch aus Daten generiert, in CI-Pipelines eingebettet und mit dem Code synchron gehalten werden.
Tipp: PlantUML wird in der Softwareentwicklungs-Dokumentation häufig verwendet (Architekturdiagramme, API-Abläufe), aber die Gantt-Diagramm-Unterstützung macht es ebenso leistungsstark für Projektmanager und Teamleiter, die reproduzierbare, versionierte Zeitpläne benötigen.
Wie GanttTool PlantUML verwendet
GanttTool bietet Ihnen einen visuellen GUI-Editor — Sie fügen Aufgaben hinzu, legen Dauern fest, definieren Abhängigkeiten und wählen Farben aus — aber hinter den Kulissen wird alles, was Sie erstellen, in PlantUML-Code kompiliert. Dieser Code wird dann an einen Rendering-Server gesendet, der ihn in ein SVG-Diagramm konvertiert, das in Ihrem Browser angezeigt wird.
Die Rendering-Pipeline
Die API-Route unter /api/kroki fungiert als Proxy zwischen Ihrem Browser und den Rendering-Servern. Sie arbeitet in zwei Stufen:
- Primär: PlantUML.com-Server — Der PlantUML-Code wird mit Deflate (Level 9) komprimiert und mit der benutzerdefinierten Base-64-Variante von PlantUML codiert. Der resultierende String wird als GET-Anfrage an
https://www.plantuml.com/plantuml/svg/~1{codiert}angehängt. Ein 3-Sekunden-Timeout schützt vor langsamen Antworten. - Fallback: Kroki.io-Server — Wenn PlantUML.com ausfällt oder das Timeout überschreitet, wird der rohe PlantUML-Text als
text/plainanhttps://kroki.io/plantuml/svgmit einem 5-Sekunden-Timeout per POST gesendet. Kroki ist ein Open-Source-Rendering-Gateway, das viele Diagrammformate unterstützt.
Welcher Server auch immer zuerst mit einem gültigen SVG antwortet — dieses Bild wird mit einem Content-Type: image/svg+xml-Header an den Browser zurückgegeben und inline gerendert. Sie müssen sich nie um Codierung oder Fallback kümmern — es funktioniert einfach.
Unter der Haube: Die „PlantUML-Code"-Ansicht in der Seitenleiste von GanttTool zeigt Ihnen den exakten Text, der an den Server gesendet wird. Sie können ihn kopieren, in PlantText oder den PlantUML-Online-Server einfügen und erhalten dasselbe Diagramm.
PlantUML Gantt-Diagramm-Syntax
Jedes PlantUML-Gantt-Diagramm wird in @startgantt / @endgantt-Tags eingeschlossen. Innerhalb beschreiben Sie Ihr Projekt in einem natürlichen, lesbaren Stil.
Grundlegende Aufgabenstruktur
@startgantt ' Projekttitel und Maßstab title Website-Redesign-Projekt Project starts 2026-07-01 printscale weekly ' Phasentrenner -- Analyse -- ' Reguläre Aufgaben: [Name] dauert N Tage [Anforderungserhebung] lasts 5 days [Wettbewerbsanalyse] lasts 3 days -- Design -- [Wireframes] lasts 7 days [Visuelles Design] lasts 10 days [Visuelles Design] starts at [Wireframes]'s end -- Entwicklung -- [Frontend-Entwicklung] lasts 14 days [Frontend-Entwicklung] starts at [Visuelles Design]'s end [Backend-Integration] lasts 10 days [Backend-Integration] starts at [Frontend-Entwicklung]'s end @endgantt
Meilensteine
Meilensteine haben eine Dauer von null und erscheinen als Rautenmarkierung auf der Zeitachse. Definieren Sie sie mit happens at anstelle von lasts.
@startgantt Project starts 2026-07-01 [Entwicklung] lasts 14 days and is colored in CornflowerBlue [QA-Test] lasts 5 days and is colored in LightGreen [QA-Test] starts at [Entwicklung]'s end ' Meilenstein — findet am Ende einer bestimmten Aufgabe statt [Release v1.0] happens at [QA-Test]'s end ' Fortschrittsprozentsatz [Entwicklung] is 70% completed @endgantt
Phasentrenner & Projekteinstellungen
Umschließen Sie Abschnittsnamen mit doppelten Bindestrichen (-- Phasenname --), um eine Trennzeile einzufügen. Kombinieren Sie dies mit projektweiten Einstellungen für volle Kontrolle.
@startgantt title Q3-Produkteinführung Project starts 2026-07-01 printscale weekly zoom 2 saturday are closed sunday are closed today is colored in Lavender -- Planung -- [Kickoff-Meeting] lasts 1 day [Umfangsdefinition] lasts 3 days [Umfangsdefinition] starts at [Kickoff-Meeting]'s end -- Entwicklung -- [Engineering Sprint 1] lasts 10 days [Engineering Sprint 1] starts at [Umfangsdefinition]'s end [Engineering Sprint 2] lasts 10 days [Engineering Sprint 2] starts at [Engineering Sprint 1]'s end -- Launch -- [Smoke-Testing] lasts 2 days [Smoke-Testing] starts at [Engineering Sprint 2]'s end [Go-Live] happens at [Smoke-Testing]'s end @endgantt
Wichtige Gantt-Syntax auf einen Blick
| Syntax | Bedeutung |
|---|---|
| [Aufgabe] lasts N days | Erstellt eine Aufgabe mit einer Dauer in Tagen |
| [Aufgabe] lasts N weeks | Dauer in Wochen |
| [B] starts at [A]'s end | Ende-zu-Start-Abhängigkeit |
| [M] happens at [A]'s end | Meilenstein am Ende einer Aufgabe |
| -- Phasenname -- | Fügt eine Phasentrennzeile ein |
| [A] is 50% completed | Zeigt den Fertigstellungsfortschritt an |
| printscale weekly zoom 2 | Wöchentliche Skala, 2-facher Zoom |
| saturday are closed | Samstage bei der Dauer überspringen |
| [A] is colored in Red | Benutzerdefinierte Aufgabenbalken-Farbe |
PlantUML jenseits von Gantt-Diagrammen
Gantt ist nur einer von über einem Dutzend Diagrammtypen, die PlantUML unterstützt. Dieselbe Klartext-Philosophie — Start-Tag, Beschreibung, End-Tag — gilt für alle. Hier ist ein Überblick über die am häufigsten verwendeten Typen.
Sequenzdiagramme
Sequenzdiagramme zeigen, wie Objekte oder Komponenten im Laufe der Zeit interagieren — perfekt für API-Abläufe, Authentifizierungssequenzen und Microservice-Kommunikation.
@startuml title Benutzer-Login-Ablauf Browser -> API: POST /login {email, password} API -> Database: SELECT user WHERE email=? Database --> API: Benutzerdatensatz alt gültige Anmeldedaten API --> Browser: 200 OK + JWT-Token else ungültig API --> Browser: 401 Unauthorized end @enduml
Klassendiagramme
Klassendiagramme modellieren objektorientierte Strukturen: Klassen, Attribute, Methoden und Beziehungen. Unverzichtbar für die Dokumentation von Softwarearchitekturen.
@startuml class Project { +id: String +name: String +startDate: Date +getTasks(): Task[] } class Task { +id: String +name: String +duration: Number +complete(): void } class Milestone { +name: String +date: Date } Project "1" o-- "many" Task Project "1" o-- "many" Milestone Task <|-- Milestone @enduml
Weitere PlantUML-Diagrammtypen
Anwendungsfalldiagramme
Zeigen, welche Akteure mit welchen Systemfunktionen interagieren. Nützlich für die Anforderungserhebung und Stakeholder-Präsentationen. Syntax: @startuml mit actor, usecase und -->-Pfeilen.
Aktivitätsdiagramme
Modellieren Sie Arbeitsabläufe, Geschäftsprozesse und Entscheidungsflüsse mit Start-/Stopp-Knoten, Verzweigungen, Zusammenführungen und bedingten Pfaden. Betrachten Sie sie als Flussdiagramme mit formaler Semantik.
Zustandsdiagramme
Stellen den Lebenszyklus eines Objekts durch Zustände und Übergänge dar. Perfekt für die Modellierung von Bestellstatus, Benutzersitzungszuständen oder Gerätemodi.
Komponentendiagramme
Zeigen, wie Systemkomponenten, Bibliotheken und Schnittstellen zusammengesetzt sind. Hervorragend für die Dokumentation von Microservice-Architekturen und Deployment-Topologien.
Mind Maps
Brainstorming und Ideenorganisation in einem radialen Baumformat. Verwendet eingerückte *-Marker zur Definition der Hierarchie. Gut geeignet für Feature-Aufteilungen und Wissenslandkarten.
Entity-Relationship (ER)
Modellieren Sie Datenbankschemata mit Entitäten, Attributen und Beziehungen. Unterstützt über das @startuml / entity-Schlüsselwort oder über dedizierte ER-Erweiterungen.
Hier ist ein kurzes Beispiel einer PlantUML-Mindmap, um zu veranschaulichen, wie Nicht-Gantt-Diagramme derselben Text-zuerst-Philosophie folgen:
@startmindmap * Projektplanung ** Umfang *** Anforderungen *** Ergebnisse ** Zeitplan *** Gantt-Diagramm *** Meilensteine ** Team *** Rollen *** Ressourcen ** Risiken *** Risikominderungsplan @endmindmap
PlantUML online ausprobieren
Sie müssen nichts installieren, um mit PlantUML zu experimentieren. Das Ökosystem bietet hervorragende kostenlose Online-Renderer:
PlantUML.com
Die offizielle PlantUML-Website mit vollständiger Dokumentation, Syntax-Referenz und einem Online-Rendering-Server.
plantuml.com ↗PlantText
Ein übersichtlicher Online-Editor mit Live-Vorschau. Fügen Sie Ihren PlantUML-Code ein oder tippen Sie ihn ein und sehen Sie das Diagramm sofort in Ihrem Browser.
planttext.com ↗Kroki.io
Ein Open-Source-Rendering-Gateway, das PlantUML sowie über 20 weitere Diagrammformate (Mermaid, Graphviz, D2 und mehr) über eine einheitliche API unterstützt.
kroki.io ↗Empfohlener Arbeitsablauf: Erstellen Sie Ihr Gantt-Diagramm visuell in GanttTool, klicken Sie auf „PlantUML-Code" in der Seitenleiste, um den generierten Text zu sehen, und fügen Sie ihn dann in PlantText oder PlantUML.com ein, wenn Sie an der Rohsyntax arbeiten möchten. Sie erhalten das Beste aus beiden Welten: einen visuellen Editor und vollen Zugriff auf das zugrunde liegende Diagramm-als-Code-Format.
Beginnen Sie mit der Erstellung von Gantt-Diagrammen
GanttTool gibt Ihnen die Leistungsfähigkeit von PlantUML, ohne dass Sie eine einzige Codezeile schreiben müssen. Verwenden Sie den visuellen Editor, um Ihren Projektzeitplan zu erstellen, und lassen Sie die App die PlantUML-Syntax und das Diagramm-Rendering automatisch erledigen.
- Aufgaben, Meilensteine und Phasentrenner mit einem Klick hinzufügen.
- Dauern, Abhängigkeiten, Farben und Fertigstellungsprozentsätze visuell festlegen.
- Den generierten PlantUML-Code jederzeit einsehen — kopieren und überall wiederverwenden.
- Als SVG exportieren oder als PNG in die Zwischenablage kopieren für Präsentationen und Dokumente.
- Beschreiben Sie Ihr Projekt in einfachem Deutsch und lassen Sie den KI-Assistenten einen vollständigen Gantt-Entwurf erstellen.
GanttTool ausprobieren — kostenlos, ohne Konto
Erstellen Sie in wenigen Minuten ein professionelles PlantUML-Gantt-Diagramm. Die App generiert den PlantUML-Code für Sie — exportieren, teilen oder überall einfügen.
GanttTool öffnen — kostenlosVerwandte Artikel
Was ist ein Gantt-Diagramm?
Geschichte, Aufbau und wie Gantt-Diagramme in die Wasserfall-Projektplanung passen.
So erstellen Sie ein Gantt-Diagramm online
Schritt-für-Schritt-Anleitung zum Erstellen eines Gantt-Diagramms von Grund auf mit GanttTool.
KI Gantt-Diagramm-Assistent
Wie die KI von GanttTool Anweisungen in natürlicher Sprache versteht und automatisch Aufgaben generiert.