Colors

You can use specify fill and line colors either:

A special color values: transparent can be used, synonym of transparent black (#00000000).

Example on Gantt Diagram:

Example on Sequence Diagram:

This uses Color Gradient, see next section. See also skinparam.

Color gradient

You can also use color gradient in background, with the following syntax: two colors names separated either by:

depending the direction of the gradient.

See the previous section, and Color gradient on Class diagram page.

Automatic Font Color

PlantUML allows dynamic font color selection using the #? syntax. The system automatically chooses between two colors based on the current background color to ensure optimal contrast and readability.

How It Works:

Thus, the #?black:white syntax ensures that text remains legible across different background colors.

In this example, since the background is dark blue, the font color automatically switches to white for better contrast in the message "hello", while keeping black for the participant labels.

Color with preprocessing

You can manipulate color with Preprocessing, and the Builtin functions:

Name Description Example Return
%darken Return a darken color of a given color with some ratio %darken("red", 20) #CC0000
%is_dark Check if a color is a dark one %is_dark("#000000") true
%is_light Check if a color is a light one %is_light("#000000") false
%lighten Return a lighten color of a given color with some ratio %lighten("red", 20) #CC3333
%reverse_color Reverse a color using RGB %reverse_color("#FF7700") #0088FF
%reverse_hsluv_color Reverse a color using HSLuv %reverse_hsluv_color("#FF7700") #602800

View colors in PlantUML

A user has recently created an image to display all names colors used by PlantUML. (We thank him by the way!)

So a new feature has been added to print all those colors using a special diagram description:

It is also possible to print a palette of colors close to some other color (using its name or HEX value).

Archimate colors

Archimate uses color names that reflect the purpose of a node:

PlantUML colors