Skip to content
Connect an agent

Get started

Colour themes

Draw a diagram in another palette by writing theme= on its header. Every kind takes it, every theme holds a light and a dark scheme, and the colours keep their meaning in all of them.

TL;DR

QuestionAnswer
How do I choose one?Write theme=<name> on the header line, such as flow "Checkout" theme=ocean. In the portal's editor, choose it from the Look menu over the canvas.
Which themes are there?plotwork, slate, ocean, forest, sunset, mono, contrast. plotwork is the default.
Does it change light and dark?No. Light, dark, or one picture that follows the reader (auto) is chosen where the picture is drawn. A theme holds both schemes.
Do the colours keep their meaning?Yes. Red is an error, green success and amber a warning in every theme, and line roles keep their colours' roles.
Is the text readable?Every text colour reaches 4.5:1 on every background it is drawn on, in every theme and both schemes, and 7:1 in contrast. A test checks each pair.
Can a repository set one for every diagram?Yes: defaults.theme in plotwork.config.json. A header's own theme= wins. The light or dark picture is defaults.scheme.
What about my organisation's brand?Where a brand theme applies, the brand wins and theme= is not used.

1. The themes

NameTitleLooks like
plotworkPlotworkThe default: warm grays with clear, even tones.
slateSlateCool blue-gray surfaces and calm, slightly muted tones.
oceanOceanNavy ink and sea-tinted frames, with deep blues and teals.
forestForestSage frames and earthy tones: pine, moss, rust, and ochre.
sunsetSunsetWarm stone frames with coral, plum, and dusk blue.
monoMonoPure grays with muted tones, for print and quiet documents. Status colours stay.
contrastHigh contrastBlack and white with strong tones and borders: text at 7:1 or more (WCAG AAA).

A name that is not one of these is error E136, and its hint names the closest theme and lists them all. theme=dark is refused with a note: dark is a scheme, not a colour theme.

2. What a theme changes

A theme sets the same roles the default does: the card and group surfaces, the borders, the primary and secondary ink, the line colour, and the eight tones. So a diagram never has to change to change its theme.

Kept in every themeWhy
Tone meaningsBlue, violet, aqua and orange tell parts apart; green, amber and red are success, warning and error.
Line rolesrole=data is drawn in the blue tone, identity in violet, async in orange and dotted, private in aqua.
Sizes and layoutA theme changes colours only, so every box keeps the room its text needs.
Official cloud iconsAWS, Azure and Google Cloud icons are drawn as each vendor publishes them, on their light tile.

The same diagram in each theme. Switch the docs between light and dark to see both schemes.

Plotwork

The default: warm grays with clear, even tones.

Slate

Cool blue-gray surfaces and calm, slightly muted tones.

Ocean

Navy ink and sea-tinted frames, with deep blues and teals.

Forest

Sage frames and earthy tones: pine, moss, rust, and ochre.

Sunset

Warm stone frames with coral, plum, and dusk blue.

Mono

Pure grays with muted tones, for print and quiet documents. Status colours stay.

High contrast

Black and white with strong tones and borders: text at 7:1 or more (WCAG AAA).

4. Themes and brands

An organisation on Pro can set a brand theme, which the hosted service uses for every diagram it draws for that organisation. The brand wins over theme=: the organisation's look stays the same whoever wrote the diagram. The source keeps its theme=, so the diagram drawn by the local server, the command line or the GitHub Action, where no brand applies, keeps its theme.

See also

DocWhy
Writing diagramsThe header line and its options
Brand themesAn organisation's own colours, which win over theme=
Repository settingsdefaults.theme for every diagram in a repository
Language referenceEvery option, tone and diagnostic code