Qualpal: Qualitative Color Palettes for Everyone
qualpal
color science
data visualization
optimization
color vision deficiency
Abstract
Qualpal is a C++ library, command-line tool, R package, and web app for creating qualitative color palettes with maximally distinct colors. It helps scientists and anyone working with data visualization choose colors that remain clear and accessible. Qualpal features flexible palette generation from multiple input formats, such as the HSL and LCHab color spaces or fixed sets of RGB colors, and can adapt palettes to color vision deficiencies (CVD) across the full dichromacy spectrum at any severity. At its core, Qualpal is a lightweight C++ library with no external dependencies, making it easy to integrate into other software and programming languages.
Citation
BibTeX citation:
@article{larsson2025,
author = {Larsson, Johan},
title = {Qualpal: {Qualitative} {Color} {Palettes} for {Everyone}},
journal = {Journal of Open Source Software},
volume = {10},
number = {114},
pages = {8847},
date = {2025-10-17},
url = {https://joss.theoj.org/papers/10.21105/joss.08936},
doi = {10.21105/joss.08936},
issn = {2475-9066},
langid = {en},
abstract = {Qualpal is a C++ library, command-line tool, R package,
and web app for creating qualitative color palettes with maximally
distinct colors. It helps scientists and anyone working with data
visualization choose colors that remain clear and accessible.
Qualpal features flexible palette generation from multiple input
formats, such as the HSL and LCHab color spaces or fixed sets of RGB
colors, and can adapt palettes to color vision deficiencies (CVD)
across the full dichromacy spectrum at any severity. At its core,
Qualpal is a lightweight C++ library with no external dependencies,
making it easy to integrate into other software and programming
languages.}
}
For attribution, please cite this work as:
Larsson, Johan. 2025. “Qualpal: Qualitative Color Palettes for
Everyone.” Journal of Open Source Software 10 (114):
8847. https://doi.org/10.21105/joss.08936.