Not every flowchart belongs on a dark canvas. Whether you're embedding a diagram in a light-themed document, presenting to a client, or just want a different aesthetic, your flowchart tool should adapt. Today we're shipping 7 built-in visual themes and custom background support — both in the editor and via the API.
The 7 themes
Each theme changes everything: background, node colors, edge styles, fonts, and overall mood.
Custom backgrounds
Themes set a default background, but you can override it with any hex color or CSS gradient:
"background": "#1a1a2e"
"background": "linear-gradient(135deg, #667eea, #764ba2)"This works in both the editor (click the palette icon) and the API (background field on create, ?bg= param on export).
Contrast-aware rendering
Here's where it gets clever. Themes like Ocean and Default use white translucent edges designed for dark backgrounds. But what happens if you set a white custom background? The connectors would vanish.
We solved this with automatic contrast detection. When the effective background is light, the rendering engine flips white edges, arrows, labels, and text to dark equivalents. This happens everywhere:
/view/{id}) — edges, labels, node text, descriptionsYou don't have to think about it. Pick any theme, set any background, and the diagram stays readable.
Using themes via the API
Pass the theme field when creating a flowchart:
{
"title": "My Flow",
"theme": "ocean",
"background": "#ffffff",
"nodes": [...],
"edges": [...]
}The available themes are: default, neon, pastel, retro, ocean, brutalist, candy.
You can also override the theme on export with the ?theme= query parameter:
GET /api/export/svg?id=YOUR_ID&theme=neon
GET /api/export/png?id=YOUR_ID&theme=pastel&bg=%23faf7f2Which theme should you use?
Try it now
Open FreeFlowCharts, click the var(--t-text)]">palette icon in the toolbar, and switch themes. Your entire canvas updates instantly — nodes, edges, everything. Or create a themed flowchart via the [API with a single POST request.