Latest Version is v2026.10.05
Consider supporting me on KO-FI
PLEASE REPORT BUGS/PROBLEMS ON GITHUB
Accessible Stylish Themes for FreeCAD
This is a set of light and dark color-impaired accessible aesthetically pleasing themes (OpenLight and OpenDark) for FreeCAD based on the Open-Color Palette that is WCAG/APCA compliant.
These themes should be installed via the Addon Manager.
The themes style FreeCAD. If you want recommended settings, and UI layout apply the OpenPreferences pack.
APPLYING A PREFERENCE PACK IS A ONE-WAY PROCESS. Consider backing up your user.cfg file before applying.
Requires a FreeCAD version with style parameters (theme tokens in .yaml files). For older versions use the OpenTheme_Legacy branch.
- The stylesheets contain no colours. They use role tokens such as
@TextPrimaryand@SurfaceBase, and FreeCAD fills them in from the active pack'sparameters/<Pack>.yaml. - Every pack uses one stylesheet,
OpenTheme.qss, and one overlay stylesheet. Both live in theOpenDarkfolder with the images (opentheme_images), so that pack must stay installed and visible. Every other pack holds only a.yamland a.cfg. - Images come in sets,
<name>_ondark.svg,<name>_onlight.svgand<name>_onsystem.svg. A pack'sIconVarianttoken picks the set. - Each theme is defined by a plain text file in
tools/themes/../build.shcompiles the stylesheets with qtsass and runstools/make_themes.py, which writes every pack's.yamland.cfgand the pack list inpackage.xml. OpenDarkandOpenLightare built from ten seed colours; every other colour is a blend of those. Their.cfgfiles are hand-made and are the starting point for other themes' 3D view, Sketcher and editor colours.OpenSystemtakes its widget colours from the desktop (Qtpalette(...)colours). It uses the neutral_onsystemglyphs, regenerated withpython3 tools/make_system_glyphs.py ., and sets a mid-grey 3D view that suits a light or dark desktop.python3 tools/make_themes.py --checklists stylesheet tokens with no role and contrast pairs below WCAG minimums.- To add a role, define it in
scss/_tokens.scssand inROLE_GROUPSintools/make_themes.py. tools/themes-saved/holds seed-based definitions for other palettes (Catppuccin, Nord, Dracula and more). Move one intotools/themes/and rebuild to enable it.
Every theme is a plain text file in tools/themes/, one colour per line (Name = colour). Copy one, rename it,
change the colours, then run python3 tools/make_themes.py. tools/themes/README.md explains each entry.


